public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { HttpSession sessao = httpServletRequest.getSession(false); InformarVencimentoAlternativoActionForm informarVencimentoAlternativoActionForm = (InformarVencimentoAlternativoActionForm) actionForm; if (Util.verificarNaoVazio(informarVencimentoAlternativoActionForm.getIdImovel())) { Collection<ClienteImovel> colecaoClienteImovel = obterColecaoClienteImovel(informarVencimentoAlternativoActionForm); if (Util.isVazioOrNulo(colecaoClienteImovel)) { httpServletRequest.setAttribute("corInscricao", "exception"); httpServletRequest.setAttribute("nomeCampo", "idImovel"); limparFormESessao(informarVencimentoAlternativoActionForm, sessao); informarVencimentoAlternativoActionForm.setInscricaoImovel("Matrícula Inexistente"); } else { setarDadosFormESessao( informarVencimentoAlternativoActionForm, colecaoClienteImovel, sessao); } } return actionMapping.findForward("informarVencimentoAlternativo"); }
private void validacaoFinal( String numeroResolucaoDiretoria, String imovelSituacaoTipo, String imovelPerfil, String subcategoria, String percentualDescontoAcrescimoMulta, String percentualDescontoAcrescimoJurosMora, String percentualDescontoAcrescimoAtualizacaoMonetaria, HttpServletRequest httpServletRequest, Collection collectionParcelamentoQuantidadeReparcelamentoHelper, Collection collectionParcelamentoDescontoAntiguidade, Collection collectionParcelamentoDescontoInatividade, String percentualTarifaMinimaPrestacao, Collection collectionParcelamentoDescontoInatividadeAVista, String percentualDescontoAcrescimoPagamentoAVista) { if (!Util.verificarNaoVazio(numeroResolucaoDiretoria)) { httpServletRequest.setAttribute("nomeCampo", "numeroResolucaoDiretoria"); // Informe Numero da RD. throw new ActionServletException("atencao.numero_rd_nao_informado"); } if ((imovelSituacaoTipo == null) || (imovelSituacaoTipo.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO))) { httpServletRequest.setAttribute("nomeCampo", "imovelSituacaoTipo"); // Informe Tipo da Situação do Imóvel throw new ActionServletException("atencao.tipo_situacao_imovel_nao_informado"); } /* if ((imovelPerfil == null) || (imovelPerfil.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO))) { httpServletRequest.setAttribute("nomeCampo","imovelPerfil"); //Informe Perfil do Imóvel throw new ActionServletException("atencao.perfil_imovel_nao_informado"); } if ((subcategoria == null) || (subcategoria.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO))) { httpServletRequest.setAttribute("nomeCampo","subcategoria"); //Informe Subcategoria throw new ActionServletException("atencao.subcategoria_nao_informado"); } if (percentualDescontoAcrescimo == null || percentualDescontoAcrescimo.equalsIgnoreCase("")){ httpServletRequest.setAttribute("nomeCampo","percentualDescontoAcrescimo"); //Informe Percentual de Desconto sobre os Acréscimos por Impontualidade throw new ActionServletException("atencao.percentual_desconto_nao_informado"); } */ /* * */ if (percentualDescontoAcrescimoMulta == null || percentualDescontoAcrescimoMulta.equalsIgnoreCase("")) { httpServletRequest.setAttribute("nomeCampo", "percentualDescontoAcrescimoMulta"); // Informe Percentual de Desconto sobre Multa throw new ActionServletException( "atencao.required", null, " Percentual de Desconto sobre Multa"); } if (percentualDescontoAcrescimoJurosMora == null || percentualDescontoAcrescimoJurosMora.equalsIgnoreCase("")) { httpServletRequest.setAttribute("nomeCampo", "percentualDescontoAcrescimoJurosMora"); // Informe Percentual de Desconto sobre Juros Mora throw new ActionServletException( "atencao.required", null, " Percentual de Desconto sobre Juros Mora"); } if (percentualDescontoAcrescimoAtualizacaoMonetaria == null || percentualDescontoAcrescimoAtualizacaoMonetaria.equalsIgnoreCase("")) { httpServletRequest.setAttribute( "nomeCampo", "percentualDescontoAcrescimoAtualizacaoMonetaria"); // Informe Percentual de Desconto sobre Atualização Monetária throw new ActionServletException( "atencao.required", null, " Percentual de Desconto sobre Atualização Monetária"); } if (percentualDescontoAcrescimoPagamentoAVista == null || percentualDescontoAcrescimoPagamentoAVista.equalsIgnoreCase("")) { httpServletRequest.setAttribute("nomeCampo", "percentualDescontoAcrescimoPagamentoAVista"); // Informe Percentual de Desconto sobre os Acréscimos por Impontualidade para pagamento à // vista throw new ActionServletException( "atencao.required", null, " Percentual de Desconto sobre os Acréscimos por Impontualidade para pagamento à vista"); } // fim alteração if (percentualTarifaMinimaPrestacao == null || percentualTarifaMinimaPrestacao.equalsIgnoreCase("")) { httpServletRequest.setAttribute("nomeCampo", "percentualTarifaMinimaPrestacao"); // Informe Percentual da Tarifa Mínima para Cálculo do Valor Mínimo da Prestação throw new ActionServletException( "atencao.required", null, " Percentual da Tarifa Mínima para Cálculo do Valor Mínimo da Prestação"); } // [FS0008]Verificar existência do perfil de parcelamento FiltroParcelamentoPerfil filtroParcelamentoPerfil = new FiltroParcelamentoPerfil(); filtroParcelamentoPerfil.adicionarCaminhoParaCarregamentoEntidade("resolucaoDiretoria"); filtroParcelamentoPerfil.adicionarParametro( new ParametroSimples( FiltroParcelamentoPerfil.RESOLUCAO_DIRETORIA_ID, numeroResolucaoDiretoria)); filtroParcelamentoPerfil.adicionarCaminhoParaCarregamentoEntidade("imovelSituacaoTipo"); filtroParcelamentoPerfil.adicionarParametro( new ParametroSimples(FiltroParcelamentoPerfil.IMOVEL_SITUACAO_TIPO_ID, imovelSituacaoTipo)); filtroParcelamentoPerfil.adicionarCaminhoParaCarregamentoEntidade("imovelPerfil"); if (imovelPerfil == null) { filtroParcelamentoPerfil.adicionarParametro( new ParametroNulo(FiltroParcelamentoPerfil.IMOVEL_PERFIL_ID)); } else { filtroParcelamentoPerfil.adicionarParametro( new ParametroSimples(FiltroParcelamentoPerfil.IMOVEL_PERFIL_ID, imovelPerfil)); } filtroParcelamentoPerfil.adicionarCaminhoParaCarregamentoEntidade("subcategoria"); if (subcategoria == null) { filtroParcelamentoPerfil.adicionarParametro( new ParametroNulo(FiltroParcelamentoPerfil.SUBCATEGORIA_ID)); } else { filtroParcelamentoPerfil.adicionarParametro( new ParametroSimples(FiltroParcelamentoPerfil.SUBCATEGORIA_ID, subcategoria)); } Collection colecaoParcelamentoPerfil = fachada.pesquisar(filtroParcelamentoPerfil, ParcelamentoPerfil.class.getName()); if (colecaoParcelamentoPerfil != null && !colecaoParcelamentoPerfil.isEmpty()) { throw new ActionServletException("atencao.perfil_parcelamento_ja_existe"); } if (collectionParcelamentoQuantidadeReparcelamentoHelper == null || collectionParcelamentoQuantidadeReparcelamentoHelper.isEmpty()) { // Informe os dados de Reparcelamento Consecutivo throw new ActionServletException("atencao.required", null, "Reparcelamento Consecutivo"); } else { Iterator iterator = collectionParcelamentoQuantidadeReparcelamentoHelper.iterator(); while (iterator.hasNext()) { ParcelamentoQuantidadeReparcelamentoHelper parcelamentoQuantidadeReparcelamentoHelper = (ParcelamentoQuantidadeReparcelamentoHelper) iterator.next(); /* if (parcelamentoQuantidadeReparcelamentoHelper.getValorMinimoPrestacao() == null){ //Informe Valor Mínimo da Prestação throw new ActionServletException( "atencao.required", null, "Valor Mínimo da Prestação"); }*/ Collection collectionParcelamentoQuantidadePrestacaoHelper = parcelamentoQuantidadeReparcelamentoHelper .getCollectionParcelamentoQuantidadePrestacaoHelper(); if (collectionParcelamentoQuantidadePrestacaoHelper == null || collectionParcelamentoQuantidadePrestacaoHelper.isEmpty()) { // Informações do Parcelamento por Quantidade de Reparcelamentos deve ser informado throw new ActionServletException( "atencao.campo.informado", null, "Informações do Parcelamento por Quantidade de Reparcelamentos"); } } } // filtro para descobrir o percentual máximo de desconto permitido para financiamento /*FiltroSistemaParametro filtroSistemaParametro = new FiltroSistemaParametro(); Collection colecaoSistemaParametros; colecaoSistemaParametros = fachada.pesquisar( filtroSistemaParametro, SistemaParametro.class.getName()); SistemaParametro sistemaParametro = (SistemaParametro)colecaoSistemaParametros .iterator().next(); BigDecimal percentualMaximoAbatimentoPermitido = sistemaParametro.getPercentualMaximoAbatimento();*/ if (collectionParcelamentoDescontoAntiguidade != null && !collectionParcelamentoDescontoAntiguidade.isEmpty()) { Iterator iteratorParcelamentoDescontoAntiguidade = collectionParcelamentoDescontoAntiguidade.iterator(); while (iteratorParcelamentoDescontoAntiguidade.hasNext()) { ParcelamentoDescontoAntiguidade parcelamentoDescontoAntiguidade = (ParcelamentoDescontoAntiguidade) iteratorParcelamentoDescontoAntiguidade.next(); if (parcelamentoDescontoAntiguidade.getPercentualDescontoSemRestabelecimento() == null) { // Percentual de Desconto Sem Restabelecimento throw new ActionServletException( "atencao.required", null, " Percentual de Desconto Sem Restabelecimento"); } else { // [FS0006]Verificar percentual de desconto // BigDecimal percentualDescontoSemRestabelecimento = // parcelamentoDescontoAntiguidade.getPercentualDescontoSemRestabelecimento(); /*if (percentualDescontoSemRestabelecimento.compareTo(percentualMaximoAbatimentoPermitido) > 0 ){ //Percentual de Desconto Sem Restabelecimento é superior ao //Percentual Máximo de Desconto de << percentualMaximoAbatimento >> permitido para Financiamneto throw new ActionServletException( "atencao.percentual_desconto_sem_rest_superior_percentual_max", null, "" + percentualMaximoAbatimentoPermitido); } */ } if (parcelamentoDescontoAntiguidade.getPercentualDescontoComRestabelecimento() == null) { // Informe Percentual de Desconto Com Restabelecimento throw new ActionServletException( "atencao.required", null, " Percentual de Desconto Com Restabelecimento"); } else { // [FS0006]Verificar percentual de desconto // BigDecimal percentualDescontoComRestabelecimento = // parcelamentoDescontoAntiguidade.getPercentualDescontoComRestabelecimento(); /*if (percentualDescontoComRestabelecimento.compareTo(percentualMaximoAbatimentoPermitido) > 0 ){ //Percentual de Desconto Cem Restabelecimento é superior ao //Percentual Máximo de Desconto de << percentualMaximoAbatimento >> permitido para Financiamneto throw new ActionServletException( "atencao.percentual_desconto_sem_rest_superior_percentual_max", null, "" + percentualMaximoAbatimentoPermitido); }*/ } if (parcelamentoDescontoAntiguidade.getPercentualDescontoAtivo() == null) { throw new ActionServletException( // Informe Percentual de Desconto Ativo "atencao.required", null, " Percentual de Desconto Ativo"); } else { // [FS0006]Verificar percentual de desconto // BigDecimal percentualDescontoAtivo = // parcelamentoDescontoAntiguidade.getPercentualDescontoAtivo(); /*if (percentualDescontoAtivo.compareTo(percentualMaximoAbatimentoPermitido) > 0 ){ //Percentual de Desconto Ativo é superior ao //Percentual Máximo de Desconto de << percentualMaximoAbatimento >> permitido para Financiamneto throw new ActionServletException( "atencao.percentual_desconto_sem_rest_superior_percentual_max", null, "" + percentualMaximoAbatimentoPermitido); } */ } } } if (collectionParcelamentoDescontoInatividade != null && !collectionParcelamentoDescontoInatividade.isEmpty()) { Iterator iteratorParcelamentoDescontoInatividade = collectionParcelamentoDescontoInatividade.iterator(); while (iteratorParcelamentoDescontoInatividade.hasNext()) { ParcelamentoDescontoInatividade parcelamentoDescontoInatividade = (ParcelamentoDescontoInatividade) iteratorParcelamentoDescontoInatividade.next(); if (parcelamentoDescontoInatividade.getPercentualDescontoSemRestabelecimento() == null) { throw new ActionServletException( // Percentual de Desconto Sem Restabelecimento "atencao.required", null, " Percentual de Desconto Sem Restabelecimento"); } // else{ // [FS0006]Verificar percentual de desconto // BigDecimal percentualDescontoSemRestabelecimento = // parcelamentoDescontoInatividade.getPercentualDescontoSemRestabelecimento(); /*if (percentualDescontoSemRestabelecimento.compareTo(percentualMaximoAbatimentoPermitido) > 0 ){ //Percentual de Desconto Sem Restabelecimento é superior ao //Percentual Máximo de Desconto de << percentualMaximoAbatimento >> permitido para Financiamneto throw new ActionServletException( "atencao.percentual_desconto_sem_rest_superior_percentual_max", null, "" + percentualMaximoAbatimentoPermitido); } */ // } if (parcelamentoDescontoInatividade.getPercentualDescontoComRestabelecimento() == null) { throw new ActionServletException( // Informe Percentual de Desconto Com Restabelecimento "atencao.required", null, " Percentual de Desconto Com Restabelecimento"); } // else{ // [FS0006]Verificar percentual de desconto // BigDecimal percentualDescontoComRestabelecimento = // parcelamentoDescontoInatividade.getPercentualDescontoComRestabelecimento(); /*if (percentualDescontoComRestabelecimento.compareTo(percentualMaximoAbatimentoPermitido) > 0 ){ //Percentual de Desconto Cem Restabelecimento é superior ao //Percentual Máximo de Desconto de << percentualMaximoAbatimento >> permitido para Financiamneto throw new ActionServletException( "atencao.percentual_desconto_sem_rest_superior_percentual_max", null, "" + percentualMaximoAbatimentoPermitido); }*/ // } } } if (collectionParcelamentoDescontoInatividadeAVista != null && !collectionParcelamentoDescontoInatividadeAVista.isEmpty()) { Iterator iteratorParcelamentoDescontoInatividade = collectionParcelamentoDescontoInatividadeAVista.iterator(); while (iteratorParcelamentoDescontoInatividade.hasNext()) { ParcDesctoInativVista parcelamentoDescontoInatividade = (ParcDesctoInativVista) iteratorParcelamentoDescontoInatividade.next(); if (parcelamentoDescontoInatividade.getPercentualDescontoSemRestabelecimento() == null) { throw new ActionServletException( // Percentual de Desconto Sem Restabelecimento "atencao.required", null, " Percentual de Desconto Sem Restabelecimento"); } if (parcelamentoDescontoInatividade.getPercentualDescontoComRestabelecimento() == null) { throw new ActionServletException( // Informe Percentual de Desconto Com Restabelecimento "atencao.required", null, " Percentual de Desconto Com Restabelecimento"); } } } }
public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = null; HttpSession sessao = httpServletRequest.getSession(false); FiltrarContratoArrecadadorActionForm filtrarContratoArrecadadorActionForm = (FiltrarContratoArrecadadorActionForm) actionForm; FiltroArrecadadorContrato filtroContratoArrecadador = (FiltroArrecadadorContrato) sessao.getAttribute("filtroArrecadadorContrato"); ArrecadadorContrato contratoArrecadadorParametros = new ArrecadadorContrato(); // pega os parâmetros informados na tela de consulta de débitos automáticos if (Util.verificarNaoVazio(filtrarContratoArrecadadorActionForm.getIdArrecadador())) { FiltroArrecadador filtroArrecadador = new FiltroArrecadador(); filtroArrecadador.adicionarParametro( new ParametroSimples( FiltroArrecadador.ID, Integer.parseInt(filtrarContratoArrecadadorActionForm.getIdArrecadador().trim()))); Arrecadador arrecadador = (Arrecadador) Fachada.getInstancia() .pesquisar(filtroArrecadador, Arrecadador.class.getName()) .iterator() .next(); contratoArrecadadorParametros.setArrecadador(arrecadador); } if (Util.verificarNaoVazio(filtrarContratoArrecadadorActionForm.getIdCliente())) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro( new ParametroSimples( FiltroCliente.ID, Integer.parseInt(filtrarContratoArrecadadorActionForm.getIdCliente().trim()))); Cliente cliente = (Cliente) Fachada.getInstancia() .pesquisar(filtroCliente, Cliente.class.getName()) .iterator() .next(); contratoArrecadadorParametros.setCliente(cliente); } if (Util.verificarNaoVazio( filtrarContratoArrecadadorActionForm.getIdContaBancariaArrecadador())) { FiltroContaBancaria filtroContaBancaria = new FiltroContaBancaria(); filtroContaBancaria.adicionarParametro( new ParametroSimples( FiltroContaBancaria.ID, Integer.parseInt( filtrarContratoArrecadadorActionForm.getIdContaBancariaArrecadador().trim()))); filtroContaBancaria.adicionarCaminhoParaCarregamentoEntidade("agencia"); filtroContaBancaria.adicionarCaminhoParaCarregamentoEntidade("agencia.banco"); ContaBancaria contaBancariaDeposito = (ContaBancaria) Fachada.getInstancia() .pesquisar(filtroContaBancaria, ContaBancaria.class.getName()) .iterator() .next(); contratoArrecadadorParametros.setContaBancariaDepositoArrecadacao(contaBancariaDeposito); } if (Util.verificarNaoVazio(filtrarContratoArrecadadorActionForm.getIdContaBancariaTarifa())) { FiltroContaBancaria filtroContaBancaria = new FiltroContaBancaria(); filtroContaBancaria.adicionarParametro( new ParametroSimples( FiltroContaBancaria.ID, Integer.parseInt( filtrarContratoArrecadadorActionForm.getIdContaBancariaTarifa().trim()))); filtroContaBancaria.adicionarCaminhoParaCarregamentoEntidade("agencia"); filtroContaBancaria.adicionarCaminhoParaCarregamentoEntidade("agencia.banco"); ContaBancaria contaBancariaTarifa = (ContaBancaria) Fachada.getInstancia() .pesquisar(filtroContaBancaria, ContaBancaria.class.getName()) .iterator() .next(); contratoArrecadadorParametros.setContaBancariaDepositoTarifa(contaBancariaTarifa); } if (Util.verificarNaoVazio(filtrarContratoArrecadadorActionForm.getIndicadorCobranca())) { contratoArrecadadorParametros.setIndicadorCobrancaIss( Short.parseShort(filtrarContratoArrecadadorActionForm.getIndicadorCobranca().trim())); } if (Util.verificarNaoVazio(filtrarContratoArrecadadorActionForm.getDtInicioContrato())) { contratoArrecadadorParametros.setDataContratoInicio( Util.converteStringParaDate(filtrarContratoArrecadadorActionForm.getDtInicioContrato())); } if (Util.verificarNaoVazio(filtrarContratoArrecadadorActionForm.getDtFimContrato())) { contratoArrecadadorParametros.setDataContratoFim( Util.converteStringParaDate(filtrarContratoArrecadadorActionForm.getDtFimContrato())); } contratoArrecadadorParametros.setDescricaoEmail( filtrarContratoArrecadadorActionForm.getEmailCliente()); contratoArrecadadorParametros.setNumeroContrato( filtrarContratoArrecadadorActionForm.getNumeroContrato()); contratoArrecadadorParametros.setCodigoConvenio( filtrarContratoArrecadadorActionForm.getIdConvenio()); String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); if (tipoRelatorio == null) { tipoRelatorio = TarefaRelatorio.TIPO_PDF + ""; } RelatorioManterContratoArrecadador relatorioManterContratoArrecadador = new RelatorioManterContratoArrecadador( (Usuario) (httpServletRequest.getSession(false)).getAttribute("usuarioLogado")); relatorioManterContratoArrecadador.addParametro( "filtroArrecadadorContrato", filtroContratoArrecadador); relatorioManterContratoArrecadador.addParametro( "contratoArrecadadorParametros", contratoArrecadadorParametros); relatorioManterContratoArrecadador.addParametro( "tipoFormatoRelatorio", Integer.parseInt(tipoRelatorio)); try { retorno = processarExibicaoRelatorio( relatorioManterContratoArrecadador, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); } catch (SistemaException ex) { reportarErros(httpServletRequest, "erro.sistema"); retorno = actionMapping.findForward("telaErroPopup"); } catch (RelatorioVazioException ex1) { reportarErros(httpServletRequest, "erro.relatorio.vazio"); retorno = actionMapping.findForward("telaAtencaoPopup"); } return retorno; }
/** * Este método cria a coleção de dias de vencimento alternativo disponível para esse imóvel.<br> * Caso o usuário tenha permissão especial de informar um vencimento alternativo, então a coleção * será sempre os dias de 1 a 30.<br> * Caso exista dados no campo dias de vencimento alternatico na tabela sistema parametro, então os * dias possíveis serãos esses. Caso nenhuma das duas opções anteriores seja atendida, então os * possíveis dias para o vencimento serão do dia depois do dia de vencimento do grupo até o dia * 30. * * @since 22/10/2009 * @author Marlon Patrick */ private Collection<Integer> criarColecaoNovoDiaPagamento( ClienteImovel clienteImovel, HttpSession sessao) { boolean isUsuarioComPermissaoInformarVencimentoAlternativoNovaData = Fachada.getInstancia() .verificarPermissaoInformarVencimentoAlternativoNovaData( (Usuario) sessao.getAttribute(Usuario.USUARIO_LOGADO)); List<Integer> colecaoNovoDiaVencimento = new ArrayList<Integer>(); if (isUsuarioComPermissaoInformarVencimentoAlternativoNovaData) { for (int i = 1; i <= 30; i++) { colecaoNovoDiaVencimento.add(i); } return colecaoNovoDiaVencimento; } SistemaParametro parametrosSistema = this.getFachada().pesquisarParametrosDoSistemaAtualizados(); if (Util.verificarNaoVazio(parametrosSistema.getDiasVencimentoAlternativo())) { String[] diasVencimento = parametrosSistema.getDiasVencimentoAlternativo().split(";"); for (String diaAtual : diasVencimento) { if (Util.verificarNaoVazio(diaAtual)) { colecaoNovoDiaVencimento.add(new Integer(diaAtual.trim())); } } Collections.sort(colecaoNovoDiaVencimento); return colecaoNovoDiaVencimento; } String empresaCAERN = "" + parametrosSistema.getCodigoEmpresaFebraban(); if (empresaCAERN.equals("6")) { colecaoNovoDiaVencimento.add(1); colecaoNovoDiaVencimento.add(5); colecaoNovoDiaVencimento.add(10); colecaoNovoDiaVencimento.add(25); colecaoNovoDiaVencimento.add(27); colecaoNovoDiaVencimento.add(30); } else { int i = clienteImovel.getImovel().getQuadra().getRota().getFaturamentoGrupo().getDiaVencimento() + 1; int ultimoDiaVencimentoAlternativo = 30; if (parametrosSistema.getUltimoDiaVencimentoAlternativo() != null) { ultimoDiaVencimentoAlternativo = parametrosSistema.getUltimoDiaVencimentoAlternativo().intValue(); } for (; i <= ultimoDiaVencimentoAlternativo; i++) { colecaoNovoDiaVencimento.add(i); } } return colecaoNovoDiaVencimento; }
/** * [UC0392] Filtrar Valor de Cobrança do Serviço * * <p>Este caso de uso cria um filtro que será usado na pesquisa do Valor de Cobrança de Serviço * * @author Rômulo Aurélio * @date 30/10/2006 * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("exibirManterValorCobrancaServicoAction"); FiltrarValorCobrancaServicoActionForm form = (FiltrarValorCobrancaServicoActionForm) actionForm; FiltroServicoCobrancaValor filtroServicoCobrancaValor = new FiltroServicoCobrancaValor(); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); boolean peloMenosUmParametroInformado = false; String tipoServico = form.getTipoServico(); String perfilImovel = form.getPerfilImovel(); String indicadorMedido = form.getIndicadorMedido(); String capacidadeHidrometro = form.getCapacidadeHidrometro(); String valorServicoInicial = form.getValorServicoInicial(); String valorServicoFinal = form.getValorServicoFinal(); String quantidadeEconomiaInicial = form.getQuantidadeEconomiasInicial(); String quantidadeEconomiaFinal = form.getQuantidadeEconomiasFinal(); String categoria = form.getIdCategoria(); String subCategoria = form.getIdSubCategoria(); String indicadorGeracaoDebito = form.getIndicadorGeracaoDebito(); String indicativoTipoSevicoEconomias = form.getIndicativoTipoSevicoEconomias(); // Verifica se o campo tipoServico foi informado if (categoria != null && !categoria.trim().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples(FiltroServicoCobrancaValor.CATEGORIA, categoria)); } if (subCategoria != null && !subCategoria.trim().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples(FiltroServicoCobrancaValor.SUBCATEGORIA, subCategoria)); } if (tipoServico != null && !tipoServico.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples(FiltroServicoCobrancaValor.SERVICOTIPO, tipoServico)); } if (quantidadeEconomiaInicial != null && !quantidadeEconomiaInicial.equals("") && quantidadeEconomiaFinal != null && !quantidadeEconomiaFinal.equals("")) { filtroServicoCobrancaValor.adicionarParametro( new Intervalo( FiltroServicoCobrancaValor.QUANTIDADE_ECONOMIA_INICIAL, quantidadeEconomiaInicial, quantidadeEconomiaFinal)); } filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade("servicoTipo"); if (indicativoTipoSevicoEconomias != null && !indicativoTipoSevicoEconomias.equals("3")) { peloMenosUmParametroInformado = true; filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples( FiltroServicoCobrancaValor.INDICATIVOSERVICOECONOMIA, indicativoTipoSevicoEconomias)); } // Verifica se o campo perfilImovel foi informado if (perfilImovel != null && !perfilImovel.trim().equals("-1")) { peloMenosUmParametroInformado = true; filtroServicoCobrancaValor.adicionarParametro( new ComparacaoTexto(FiltroServicoCobrancaValor.IMOVELPERFIL, perfilImovel)); } // Verifica se o campo Data vigencia inicial foi informado if (Util.verificarNaoVazio(form.getDataVigenciaInicial())) { peloMenosUmParametroInformado = true; Date periodoInicialVigencia = Util.converteStringParaDate(form.getDataVigenciaInicial()); Date periodoFinalVigencia = Util.converteStringParaDate(form.getDataVigenciaFinal()); Calendar diInicio = Calendar.getInstance(); diInicio.setTime(periodoInicialVigencia); diInicio.set(Calendar.HOUR, 0); diInicio.set(Calendar.MINUTE, 0); diInicio.set(Calendar.SECOND, 0); Calendar diFim = Calendar.getInstance(); diFim.setTime(periodoFinalVigencia); diFim.set(Calendar.HOUR, 23); diFim.set(Calendar.MINUTE, 59); diFim.set(Calendar.SECOND, 59); filtroServicoCobrancaValor.adicionarParametro( new MaiorQue(FiltroServicoCobrancaValor.DATA_INICIO_RELACAO, diInicio.getTime())); filtroServicoCobrancaValor.adicionarParametro( new MenorQue(FiltroServicoCobrancaValor.DATA_FIM_RELACAO, diFim.getTime())); } // Verifica se o campo indicadorMedido foi informado if (indicadorMedido != null && !indicadorMedido.trim().equals("3")) { peloMenosUmParametroInformado = true; filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples(FiltroServicoCobrancaValor.INDICADORMEDIDO, indicadorMedido)); } // Verifica se o campo capacidadeHidrometro foi informado if (capacidadeHidrometro != null && !capacidadeHidrometro.trim().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples( FiltroServicoCobrancaValor.HIDROMETROCAPACIDADE, capacidadeHidrometro)); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade("hidrometroCapacidade"); } if (indicadorGeracaoDebito != null && indicadorGeracaoDebito.trim().equalsIgnoreCase("1")) { filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples( FiltroServicoCobrancaValor.INDICADOR_GERACAO_DEBITO, ConstantesSistema.SIM)); if (valorServicoInicial != null && !valorServicoInicial.trim().equalsIgnoreCase("") && valorServicoFinal != null && !valorServicoFinal.trim().equalsIgnoreCase("")) { BigDecimal valorInicial = new BigDecimal(valorServicoInicial.replace(".", "").replace(",", ".")); BigDecimal valorFinal = new BigDecimal(valorServicoFinal.replace(".", "").replace(",", ".")); Integer resultado = valorInicial.compareTo(valorFinal); if (resultado == 1) { throw new ActionServletException( "atencao.valor_cobranca_servico_final_menor_valor_inicial"); } filtroServicoCobrancaValor.adicionarParametro( new Intervalo( FiltroDebitoTipoVigencia.VALOR, Util.formatarMoedaRealparaBigDecimal(valorServicoInicial), Util.formatarMoedaRealparaBigDecimal(valorServicoFinal))); } peloMenosUmParametroInformado = true; } else if (indicadorGeracaoDebito != null && indicadorGeracaoDebito.trim().equalsIgnoreCase("2")) { filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples( FiltroServicoCobrancaValor.INDICADOR_GERACAO_DEBITO, ConstantesSistema.NAO)); peloMenosUmParametroInformado = true; } filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade("imovelPerfil"); filtroServicoCobrancaValor.setCampoOrderBy(FiltroServicoCobrancaValor.SERVICOTIPO); // Erro caso o usuário mandou Pesquisar sem nenhum parâmetro if (!peloMenosUmParametroInformado) { throw new ActionServletException("atencao.filtro.nenhum_parametro_informado"); } Collection<ServicoCobrancaValor> colecaoServicoCobrancaValor = fachada.pesquisar(filtroServicoCobrancaValor, ServicoCobrancaValor.class.getName()); // Verifica se o checkbox Atualizar está marcado e em caso afirmativo // manda pelo um request uma variável para o // ExibirManterValorCobrancaServicoAction para nele verificar se irá // para o // atualizar ou para o manter if (form.getAtualizar() != null && form.getAtualizar().equalsIgnoreCase("1")) { httpServletRequest.setAttribute("atualizar", form.getAtualizar()); } if (colecaoServicoCobrancaValor == null || colecaoServicoCobrancaValor.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "Servico Cobranca Valor"); } else { httpServletRequest.setAttribute("colecaoServicoCobrancaValor", colecaoServicoCobrancaValor); ServicoCobrancaValor servicoCobrancaValor = new ServicoCobrancaValor(); servicoCobrancaValor = (ServicoCobrancaValor) Util.retonarObjetoDeColecao(colecaoServicoCobrancaValor); String idRegistroAtualizar = servicoCobrancaValor.getId().toString(); sessao.setAttribute("idRegistroAtualizar", idRegistroAtualizar); } sessao.setAttribute("filtroServicoCobrancaValor", filtroServicoCobrancaValor); httpServletRequest.setAttribute("filtroServicoCobrancaValor", filtroServicoCobrancaValor); return retorno; }