package gcom.gui.faturamento.debito; import gcom.cadastro.imovel.FiltroImovel; import gcom.cadastro.imovel.Imovel; import gcom.fachada.Fachada; import gcom.faturamento.debito.DebitoCreditoSituacao; import gcom.faturamento.debito.DebitoTipo; import gcom.faturamento.debito.FiltroDebitoCreditoSituacao; import gcom.faturamento.debito.FiltroDebitoTipo; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * Action que define o pr�-processamento da p�gina de pesquisar d�bitos a cobrar do im�vel * * @author Pedro Alexandre * @date 13/03/2006 */ public class ExibirPesquisarDebitoACobrarAction extends GcomAction { /** * Pesquisa os d�bitos a cobrar existentes para o im�vel * * [UC0271] Pesquisar D�bito a Cobrar * * <Breve descri��o sobre o subfluxo> * * <Identificador e nome do subfluxo> * * <Breve descri��o sobre o fluxo secund�rio> * * <Identificador e nome do fluxo secund�rio> * * @author Pedro Alexandre * @date 13/03/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno para a tela de pesquisar d�bitos a cobrar do im�vel ActionForward retorno = actionMapping.findForward("pesquisarDebitoACobrar"); //Cria uma inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); //Recupera o c�digo do im�vel do request String idImovel = (String)httpServletRequest.getParameter("idImovel"); //PesquisarDebitoACobrarActionForm pesquisarDebitoACobrarActionForm = (PesquisarDebitoACobrarActionForm)actionForm; /* if (httpServletRequest.getParameter("limparForm") != null && !httpServletRequest.getParameter("limparForm").equalsIgnoreCase("")) { pesquisarDebitoACobrarActionForm.setDataGeracaoDebitoFinal(""); pesquisarDebitoACobrarActionForm.setDataGeracaoDebitoInicial(""); pesquisarDebitoACobrarActionForm.setReferenciaDebitoFinal(""); pesquisarDebitoACobrarActionForm.setReferenciaDebitoInicial(""); pesquisarDebitoACobrarActionForm.setIdTipoDebitoSelecionados(null); pesquisarDebitoACobrarActionForm.setIdTipoDebito(null); pesquisarDebitoACobrarActionForm.setIdSituacaoDebitoACobrar(null); // pesquisarDebitoACobrarActionForm.reset(actionMapping,httpServletRequest); } */ //Caso o c�digo do im�vel tenha sido informado pelo caso de uso que chamou a tela de pesquisar d�bito a cobrar, //Caso contr�rio levanta a exce��o para o usu�rio indicando que o im�vel n�o foi informado if(idImovel != null && !idImovel.trim().equalsIgnoreCase("")){ //Pesquisa se o im�vel informado esta cadastrado no sistema, //Caso contr�rio, levanta a exce��o para o usu�rio indicando que o im�vel n�o existe FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.ID, idImovel)); Collection colecaoImovel = fachada.pesquisar(filtroImovel, Imovel.class.getName()); //Caso o im�vel informado n�o tenha sido cadastrado no sistema, levantaa exce��o para o usu�rio indicando que o //im�vel informado n�o est� cadastrado no sistema //Caso contr�rio manda o c�digo do im�vel no request if (colecaoImovel == null || colecaoImovel.isEmpty()){ throw new ActionServletException("atencao.naocadastrado", null, "Im�vel"); }else{ httpServletRequest.setAttribute("idImovel",idImovel); } }else{ throw new ActionServletException("atencao.naoinformado",null, "Im�vel"); } //Cria o filtro para pesquisar as situa��es de conta no sistema FiltroDebitoCreditoSituacao filtroDebitoCreditoSituacao = new FiltroDebitoCreditoSituacao(); filtroDebitoCreditoSituacao.setCampoOrderBy(FiltroDebitoCreditoSituacao.DESCRICAO); //Pesquisa todas as situa��es de d�bito a cobrar cadastradas no sistema Collection colecaoSituacaoDebitoACobrar = fachada.pesquisar(filtroDebitoCreditoSituacao, DebitoCreditoSituacao.class.getName()); //[FS0005] Caso n�o exista nenhuma situa��o de d�bito a cobrar no sistema, levanta a exce��o para o usu�rio indicando que //nenhuma situa��o de d�bito a cobrar est� cadastrada no sistema. //Caso contr�rio, manda as situa��es de d�bito a cobrar cadastradas no request if(colecaoSituacaoDebitoACobrar == null || colecaoSituacaoDebitoACobrar.isEmpty()){ throw new ActionServletException("atencao.naocadastrado",null, "Situa��o de D�bito a Cobrar"); }else{ httpServletRequest.setAttribute("colecaoSituacaoDebitoACobrar",colecaoSituacaoDebitoACobrar); } //Cria o filtro para pesquisar os tipos de d�bitos cadastrados no sistema //e seta a ordena��o do resultado pela descri��o do tipo de d�bito FiltroDebitoTipo filtroDebitoTipo = new FiltroDebitoTipo(); filtroDebitoTipo.setConsultaSemLimites(true); filtroDebitoTipo.setCampoOrderBy(FiltroDebitoTipo.DESCRICAO); //Pesquisa todos os tipos de d�bitos cadastrados no sistema Collection colecaoTipoDebito = fachada.pesquisar(filtroDebitoTipo, DebitoTipo.class.getName()); //[FS0005] Caso n�o exista nenhum tipo de d�bito de d�bito a cobrar no sistema, levanta a exce��o para o usu�rio indicando que //nenhum tipo de d�bito de d�bito a cobrar est� cadastrado no sistema. //Caso contr�rio, manda os tipos de d�bito de d�bito a cobrar cadastrados no request if(colecaoTipoDebito == null || colecaoTipoDebito.isEmpty()){ throw new ActionServletException("atencao.naocadastrado",null, "Tipo de D�bito"); }else{ httpServletRequest.setAttribute("colecaoTipoDebito",colecaoTipoDebito); } if (httpServletRequest .getParameter("caminhoRetornoTelaPesquisaDebitoACobrar") != null) { sessao .setAttribute( "caminhoRetornoTelaPesquisaDebitoACobrar", httpServletRequest .getParameter("caminhoRetornoTelaPesquisaDebitoACobrar")); } //Retorna o mapeamento contido na vari�vel retorno return retorno; } }