package gcom.gui.cobranca; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.FiltroImovelPerfil; import gcom.cadastro.imovel.ImovelPerfil; import gcom.cobranca.CobrancaCriterioLinha; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.List; 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; /** * Pre- processamento para adicionar a linha do criterio da cobran�a * * @author S�vio Luiz * @date 02/05/2006 */ public class ExibirAdicionarCriterioCobrancaLinhaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o retorno ActionForward retorno = actionMapping .findForward("adicionarCriterioCobrancaLinha"); CriterioCobrancaActionForm criterioCobrancaActionForm = (CriterioCobrancaActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); // par�metro respons�vel pelo redirecionamento do adicionar criterio // cobran�a linha // se retornarTela estiver o valor inserir retorna para o action de // inserir // se retornarTela estiver o valor atualizar retorna para o action de // atualizar String retornarTela = httpServletRequest.getParameter("retornarTela"); sessao.setAttribute("retornarTela", retornarTela); Fachada fachada = Fachada.getInstancia(); // cria as vari�veis para recuperar os par�metros do request e jogar // no objeto // cobran�a crit�rio linha String vlMinDebito = ""; String vlMaxDebito = ""; String qtdMinContas = ""; String qtdMaxContas = ""; String vlMinDebCliente = ""; String qtdMinConCliente = ""; String vlMinConMes = ""; String qdtParcelasMinimas = ""; if (sessao.getAttribute("colecaoCobrancaCriterioLinha") != null && !sessao.getAttribute("colecaoCobrancaCriterioLinha").equals( "")) { Collection colecaoCobrancaCriterioLinha = (Collection) sessao .getAttribute("colecaoCobrancaCriterioLinha"); int tamanhoColecao = colecaoCobrancaCriterioLinha.size(); if (tamanhoColecao != 0) { // recupera o ultimo criterio de cobran�a linha CobrancaCriterioLinha cobrancaCriterioLinha = (CobrancaCriterioLinha) ((List) colecaoCobrancaCriterioLinha) .get(tamanhoColecao - 1); // formata os valores para jogar no form if (cobrancaCriterioLinha.getValorMinimoDebito() != null && !cobrancaCriterioLinha.getValorMinimoDebito() .equals("")) { vlMinDebito = Util.formatarMoedaReal(cobrancaCriterioLinha .getValorMinimoDebito()); } if (cobrancaCriterioLinha.getValorMaximoDebito() != null && !cobrancaCriterioLinha.getValorMaximoDebito() .equals("")) { vlMaxDebito = Util.formatarMoedaReal(cobrancaCriterioLinha .getValorMaximoDebito()); } if (cobrancaCriterioLinha.getQuantidadeMinimaContas() != null && !cobrancaCriterioLinha.getQuantidadeMinimaContas() .equals("")) { qtdMinContas = "" + cobrancaCriterioLinha.getQuantidadeMinimaContas(); } if (cobrancaCriterioLinha.getQuantidadeMaximaContas() != null && !cobrancaCriterioLinha.getQuantidadeMaximaContas() .equals("")) { qtdMaxContas = "" + cobrancaCriterioLinha.getQuantidadeMaximaContas(); } if (cobrancaCriterioLinha .getValorMinimoDebitoDebitoAutomatico() != null && !cobrancaCriterioLinha .getValorMinimoDebitoDebitoAutomatico().equals( "")) { vlMinDebCliente = Util .formatarMoedaReal(cobrancaCriterioLinha .getValorMinimoDebitoDebitoAutomatico()); } if (cobrancaCriterioLinha .getQuantidadeMinimaContasDebitoAutomatico() != null && !cobrancaCriterioLinha .getQuantidadeMinimaContasDebitoAutomatico() .equals("")) { qtdMinConCliente = "" + cobrancaCriterioLinha .getQuantidadeMinimaContasDebitoAutomatico(); } if (cobrancaCriterioLinha.getValorMinimoContaMes() != null && !cobrancaCriterioLinha.getValorMinimoContaMes() .equals("")) { vlMinConMes = Util.formatarMoedaReal(cobrancaCriterioLinha .getValorMinimoContaMes()); } if (criterioCobrancaActionForm.getQuantidadeMinimaParcelasAtraso() != null && !criterioCobrancaActionForm .getQuantidadeMinimaParcelasAtraso().equals("")) { qdtParcelasMinimas = cobrancaCriterioLinha .getQuantidadeMinimaContasParcelamento().toString(); } else { qdtParcelasMinimas = "0"; } } } if (httpServletRequest.getParameter("limparPopup") != null){ criterioCobrancaActionForm.setValorDebitoMinimo(""); criterioCobrancaActionForm.setValorDebitoMaximo(""); criterioCobrancaActionForm.setQtdContasMinima(""); criterioCobrancaActionForm.setQtdContasMaxima(""); criterioCobrancaActionForm.setVlMinimoDebitoCliente(""); criterioCobrancaActionForm.setQtdMinContasCliente(""); criterioCobrancaActionForm.setVlMinimoContasMes(""); criterioCobrancaActionForm.setQuantidadeMinimaParcelasAtraso(""); }else{ //seta os valores da ultima linha da cobran�a criterio criterioCobrancaActionForm.setValorDebitoMinimo(vlMinDebito); criterioCobrancaActionForm.setValorDebitoMaximo(vlMaxDebito); criterioCobrancaActionForm.setQtdContasMinima(qtdMinContas); criterioCobrancaActionForm.setQtdContasMaxima(qtdMaxContas); criterioCobrancaActionForm.setVlMinimoDebitoCliente(vlMinDebCliente); criterioCobrancaActionForm.setQtdMinContasCliente(qtdMinConCliente); criterioCobrancaActionForm.setVlMinimoContasMes(vlMinConMes); criterioCobrancaActionForm.setQuantidadeMinimaParcelasAtraso(qdtParcelasMinimas); } FiltroImovelPerfil filtroImovelPerfil = new FiltroImovelPerfil(); filtroImovelPerfil.adicionarParametro(new ParametroSimples( FiltroImovelPerfil.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoImovelPerfil = fachada.pesquisar(filtroImovelPerfil, ImovelPerfil.class.getName()); if (colecaoImovelPerfil == null || colecaoImovelPerfil.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Imovel Perfil"); } FiltroCategoria filtroCategoria = new FiltroCategoria(); filtroCategoria.adicionarParametro(new ParametroSimples( FiltroCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoCategoria = fachada.pesquisar(filtroCategoria, Categoria.class.getName()); if (colecaoCategoria == null || colecaoCategoria.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Categoria"); } sessao.setAttribute("colecaoImovelPerfil", colecaoImovelPerfil); sessao.setAttribute("colecaoCategoria", colecaoCategoria); httpServletRequest.setAttribute("fechaPopup", "false"); return retorno; } }