package gcom.gui.arrecadacao.pagamento;
import java.util.Collection;
import gcom.arrecadacao.pagamento.FiltroGuiaPagamento;
import gcom.arrecadacao.pagamento.FiltroGuiaPagamentoHistorico;
import gcom.arrecadacao.pagamento.GuiaPagamento;
import gcom.arrecadacao.pagamento.GuiaPagamentoHistorico;
import gcom.arrecadacao.pagamento.GuiaPagamentoItem;
import gcom.fachada.Fachada;
import gcom.faturamento.FiltroGuiaPagamentoItem;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.util.Util;
import gcom.util.filtro.ParametroSimples;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class ExibirConsultarGuiaPagamentoAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping
.findForward("exibirConsultarGuiaPagamento");
HttpSession sessao = httpServletRequest.getSession(false);
// Recebe o id da guia de pagamento para fazer a consulta
String guiaPagamentoId = httpServletRequest
.getParameter("guiaPagamentoId");
String guiaPagamentoHistoricoId = httpServletRequest
.getParameter("guiaPagamentoHistoricoId");
// Se chegar na funcionalidade sem o par�metro indica situa��o de erro
if ((guiaPagamentoId == null || guiaPagamentoId.trim().equals(""))
&& (guiaPagamentoHistoricoId == null || guiaPagamentoHistoricoId.trim().equals(""))) {
throw new ActionServletException("erro.sistema");
}
if (guiaPagamentoHistoricoId != null){
// GUIA PAGAMENTO HISTORICO
FiltroGuiaPagamentoHistorico filtroGuiaPagamentoHistorico = new FiltroGuiaPagamentoHistorico();
filtroGuiaPagamentoHistorico.adicionarParametro(new ParametroSimples(
FiltroGuiaPagamentoHistorico.ID, guiaPagamentoHistoricoId));
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("cliente.clienteTipo");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("localidade");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("debitoTipo");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("debitoCreditoSituacaoByDcstIdatual");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("registroAtendimento");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("ordemServico");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("financiamentoTipo");
// Para a exibi��o do endere�o do im�vel
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.localidade");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.setorComercial");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.quadra");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.logradouroBairro.bairro.municipio.unidadeFederacao");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.logradouroCep.cep");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.logradouroCep.logradouro.logradouroTipo");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.logradouroCep.logradouro.logradouroTitulo");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.enderecoReferencia");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.perimetroInicial.logradouroTipo");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.perimetroInicial.logradouroTitulo");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.perimetroFinal.logradouroTipo");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel.perimetroFinal.logradouroTitulo");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("origem.guiaPagamento.imovel");
filtroGuiaPagamentoHistorico.adicionarCaminhoParaCarregamentoEntidade("usuario");
Fachada fachada = Fachada.getInstancia();
GuiaPagamentoHistorico guiaPagamentoHistorico = (GuiaPagamentoHistorico)Util.retonarObjetoDeColecao
(fachada.pesquisar(filtroGuiaPagamentoHistorico,GuiaPagamentoHistorico.class.getName()));
// Envia o objeto consultado para a p�gina
httpServletRequest.setAttribute("guiaPagamentoHistorico", guiaPagamentoHistorico);
sessao.removeAttribute("colecaoGuiaDebitoTipoConsulta");
FiltroGuiaPagamentoItem filtroGuiaPagamentoItem = new FiltroGuiaPagamentoItem();
filtroGuiaPagamentoItem.adicionarParametro(new ParametroSimples(FiltroGuiaPagamentoItem.GUIA_PAGAMENTO_GERAL_ID, guiaPagamentoHistorico.getId()));
filtroGuiaPagamentoItem.adicionarCaminhoParaCarregamentoEntidade("debitoTipo");
filtroGuiaPagamentoItem.setCampoOrderBy(new String[]{"guiaPagamentoGeral","debitoTipo"});
Collection<GuiaPagamentoItem> colecaoGuiaPagamentoItem = fachada.pesquisar(filtroGuiaPagamentoItem, GuiaPagamentoItem.class.getName());
if(colecaoGuiaPagamentoItem.isEmpty()){
GuiaPagamentoItem guiaPagamentoItem = new GuiaPagamentoItem();
guiaPagamentoItem.setDebitoTipo(guiaPagamentoHistorico.getDebitoTipo());
guiaPagamentoItem.setValorDebito(guiaPagamentoHistorico.getValorDebito());
colecaoGuiaPagamentoItem.add(guiaPagamentoItem);
}
sessao.setAttribute("colecaoGuiaDebitoTipoConsulta", colecaoGuiaPagamentoItem);
}else{
// GUIA PAGAMENTO
// Consulta do GuiaPagamento
FiltroGuiaPagamento filtroGuiaPagamento = new FiltroGuiaPagamento();
filtroGuiaPagamento.adicionarParametro(new ParametroSimples(
FiltroGuiaPagamento.ID, guiaPagamentoId));
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("cliente.clienteTipo");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("localidade");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("debitoTipo");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("debitoCreditoSituacaoAtual");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("registroAtendimento");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("ordemServico");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("financiamentoTipo");
// Para a exibi��o do endere�o do im�vel
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.localidade");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.setorComercial");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.quadra");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.logradouroBairro.bairro.municipio.unidadeFederacao");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.logradouroCep.cep");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.logradouroCep.logradouro.logradouroTipo");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.logradouroCep.logradouro.logradouroTitulo");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.enderecoReferencia");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.perimetroInicial.logradouroTipo");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.perimetroInicial.logradouroTitulo");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.perimetroFinal.logradouroTipo");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("imovel.perimetroFinal.logradouroTitulo");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("origem.guiaPagamento.imovel");
filtroGuiaPagamento.adicionarCaminhoParaCarregamentoEntidade("usuario");
Fachada fachada = Fachada.getInstancia();
GuiaPagamento guiaPagamento = (GuiaPagamento)Util.retonarObjetoDeColecao
(fachada.pesquisar(filtroGuiaPagamento,GuiaPagamento.class.getName()));
// Envia o objeto consultado para a p�gina
httpServletRequest.setAttribute("guiaPagamento", guiaPagamento);
sessao.removeAttribute("colecaoGuiaDebitoTipoConsulta");
FiltroGuiaPagamentoItem filtroGuiaPagamentoItem = new FiltroGuiaPagamentoItem();
filtroGuiaPagamentoItem.adicionarParametro(new ParametroSimples(FiltroGuiaPagamentoItem.GUIA_PAGAMENTO_GERAL_ID, guiaPagamento.getId()));
filtroGuiaPagamentoItem.adicionarCaminhoParaCarregamentoEntidade("debitoTipo");
filtroGuiaPagamentoItem.setCampoOrderBy(new String[]{"guiaPagamentoGeral","debitoTipo"});
Collection<GuiaPagamentoItem> colecaoGuiaPagamentoItem = fachada.pesquisar(filtroGuiaPagamentoItem, GuiaPagamentoItem.class.getName());
if(colecaoGuiaPagamentoItem.isEmpty()){
GuiaPagamentoItem guiaPagamentoItem = new GuiaPagamentoItem();
guiaPagamentoItem.setDebitoTipo(guiaPagamento.getDebitoTipo());
guiaPagamentoItem.setValorDebito(guiaPagamento.getValorDebito());
colecaoGuiaPagamentoItem.add(guiaPagamentoItem);
}
sessao.setAttribute("colecaoGuiaDebitoTipoConsulta", colecaoGuiaPagamentoItem);
}
// envia uma flag que ser� verificado no cliente_resultado_pesquisa.jsp
// para saber se ir� usar o enviar dados ou o enviar dados parametros
if (httpServletRequest
.getParameter("caminhoRetornoTelaConsultaGuiaPagamento") != null) {
sessao
.setAttribute(
"caminhoRetornoTelaConsultaGuiaPagamento",
httpServletRequest
.getParameter("caminhoRetornoTelaConsultaGuiaPagamento"));
}
return retorno;
}
}