// Data de Validade da Guia de Pagamento // último dia do proximo mês do mês/ano da data de vencimento da guia de pagamento public String getDataValidade() { int anoVencimento = Util.getAno(getDataVencimento()); int mesVencimento = Util.getMes(getDataVencimento()); Calendar calendarUltimoDiaMesAnoDataVencimento = new GregorianCalendar(); calendarUltimoDiaMesAnoDataVencimento.set(Calendar.YEAR, anoVencimento); calendarUltimoDiaMesAnoDataVencimento.set(Calendar.MONTH, mesVencimento - 1); calendarUltimoDiaMesAnoDataVencimento.set( Calendar.DAY_OF_MONTH, calendarUltimoDiaMesAnoDataVencimento.getActualMaximum(Calendar.DAY_OF_MONTH)); Date dateDataVencimentoMais3Dias = Util.adicionarNumeroDiasDeUmaData(getDataVencimento(), 3); Date dateDataCorrenteMais3Dias = Util.adicionarNumeroDiasDeUmaData(new Date(), 3); Date dateMaiorData = null; // retorna // -1 se a data1 for menor que a data2, // 0 se as datas forem iguais, // 1 se a data1 for maior que a data2. if (Util.compararData(dateDataVencimentoMais3Dias, dateDataCorrenteMais3Dias) >= 0) { if (Util.compararData( dateDataVencimentoMais3Dias, calendarUltimoDiaMesAnoDataVencimento.getTime()) >= 0) { dateMaiorData = dateDataVencimentoMais3Dias; } else { dateMaiorData = calendarUltimoDiaMesAnoDataVencimento.getTime(); } } else { if (Util.compararData( dateDataCorrenteMais3Dias, calendarUltimoDiaMesAnoDataVencimento.getTime()) >= 0) { dateMaiorData = dateDataCorrenteMais3Dias; } else { dateMaiorData = calendarUltimoDiaMesAnoDataVencimento.getTime(); } } // String anoMesValidade = Util.getAnoMesComoString(getDataVencimento()); // Calendar calendario = new GregorianCalendar(); // // calendario.set(Calendar.YEAR, new Integer(anoMesValidade.substring(0, 4)).intValue()); // calendario.set(Calendar.MONTH, new Integer(anoMesValidade.substring(4, 6)).intValue()); // calendario.set(Calendar.DAY_OF_MONTH, calendario.getActualMaximum(Calendar.DAY_OF_MONTH)); return Util.formatarData(dateMaiorData); }
private void validarDadosDebito( AtualizarComandoNegativacaoPorCriterioActionForm form, Fachada fachada) { Date dataAtual = new Date(); Integer referenciaDataAtual = Util.getAnoMesComoInteger(dataAtual); // Período de Referência do Débito if (form.getReferenciaInicial() != null && !form.getReferenciaInicial().equals("") && form.getReferenciaFinal() != null && !form.getReferenciaFinal().equals("")) { Integer referenciaInicial = Util.formatarMesAnoComBarraParaAnoMes(form.getReferenciaInicial()); Integer referenciaFinal = Util.formatarMesAnoComBarraParaAnoMes(form.getReferenciaFinal()); if (!Util.validarMesAno(form.getReferenciaInicial()) || !Util.validarMesAno(form.getReferenciaFinal())) { throw new ActionServletException( "atencao.adicionar_debito_ano_mes_referencia_invalido", null, "do débito"); } else if (referenciaInicial > referenciaFinal) { throw new ActionServletException("atencao.referencia.final.menor.referencia.inicial"); } else if (referenciaDataAtual < referenciaInicial) { throw new ActionServletException("atencao.referencia.posterior"); } else if (referenciaDataAtual < referenciaFinal) { throw new ActionServletException("atencao.referencia.posterior"); } } FiltroSistemaParametro filtroSistemaParametro = new FiltroSistemaParametro(); Collection<SistemaParametro> collectionSistemaParametro = fachada.pesquisar(filtroSistemaParametro, SistemaParametro.class.getName()); SistemaParametro sistemaParametro = (SistemaParametro) collectionSistemaParametro.iterator().next(); // Período de referência do débito Integer referenciaMinima = Util.subtrairAnoAnoMesReferencia(sistemaParametro.getAnoMesArrecadacao(), 5); if (form.getReferenciaInicial() != null && !form.getReferenciaInicial().equals("")) { Integer referenciaDebInicialInformado = Util.formatarMesAnoComBarraParaAnoMes(form.getReferenciaInicial()); if (referenciaDebInicialInformado < referenciaMinima) { throw new ActionServletException("atencao.periodo_referencia_debito_minimo"); } } if (form.getReferenciaFinal() != null && !form.getReferenciaFinal().equals("")) { Integer referenciaDebFinalInformado = Util.formatarMesAnoComBarraParaAnoMes(form.getReferenciaFinal()); if (referenciaDebFinalInformado < referenciaMinima) { throw new ActionServletException("atencao.periodo_referencia_debito_minimo"); } } // Período de vencimento do débito Integer numeroDiasVencimentoCobranca = new Integer(sistemaParametro.getNumeroDiasVencimentoCobranca()); Date dataMinima = Util.subtrairNumeroAnosDeUmaData( Util.subtrairNumeroDiasDeUmaData(new Date(), numeroDiasVencimentoCobranca), -5); if (form.getDataVencimentoInicial() != null && !form.getDataVencimentoInicial().equals("")) { if (Util.validarDiaMesAno(form.getDataVencimentoInicial())) { throw new ActionServletException("atencao.datavencimentodebinicial.invalida"); } Date vencimentoDebInicialInformado = Util.converteStringParaDate(form.getDataVencimentoInicial()); if (Util.compararData(vencimentoDebInicialInformado, dataAtual) == 1) { throw new ActionServletException( "atencao.data_inicial.posterior.hoje", null, Util.formatarData(new Date())); } if (Util.compararData(vencimentoDebInicialInformado, dataMinima) == -1) { throw new ActionServletException("atencao.periodo_vencimento_debito_minimo"); } } if (form.getDataVencimentoFinal() != null && !form.getDataVencimentoFinal().equals("")) { Date vencimentoDebFinalInformado = Util.converteStringParaDate(form.getDataVencimentoFinal()); if (Util.validarDiaMesAno(form.getDataVencimentoFinal())) { throw new ActionServletException("atencao.datavencimentodebfinal.invalida"); } else if (Util.compararData(vencimentoDebFinalInformado, dataAtual) == 1) { throw new ActionServletException( "atencao.data_final.posterior.hoje", null, Util.formatarData(new Date())); } else if (Util.compararData(vencimentoDebFinalInformado, dataMinima) == -1) { throw new ActionServletException("atencao.periodo_vencimento_debito_minimo"); } } if (form.getDataVencimentoInicial() != null && !form.getDataVencimentoInicial().equals("") && form.getDataVencimentoFinal() != null && !form.getDataVencimentoFinal().equals("")) { Date vencimentoDebInicial = Util.converteStringParaDate(form.getDataVencimentoInicial()); Date vencimentoDebFinal = Util.converteStringParaDate(form.getDataVencimentoFinal()); if (Util.compararData(vencimentoDebInicial, vencimentoDebFinal) == 1) { throw new ActionServletException( // Data Final do Período é // anterior à Data Inicial // do Período "atencao.data_final_periodo.anterior.data_inicial_periodo"); } } // Valor do Débito if (form.getValorDebitoInicial() != null && !form.getValorDebitoInicial().equals("") && form.getValorDebitoFinal() != null && !form.getValorDebitoFinal().equals("")) { BigDecimal valorDebInicial = Util.formatarMoedaRealparaBigDecimal(form.getValorDebitoInicial()); BigDecimal valorDebFinal = Util.formatarMoedaRealparaBigDecimal(form.getValorDebitoFinal()); if (valorDebInicial.compareTo(valorDebFinal) == 1) { throw new ActionServletException("atencao.debito_inicial_maior_debito_final"); } } // Número de Contas if (form.getNumeroContasInicial() != null && !form.getNumeroContasInicial().equals("") && form.getNumeroContasFinal() != null && !form.getNumeroContasFinal().equals("")) { Integer contaInicial = new Integer(form.getNumeroContasInicial()); Integer contaFinal = new Integer(form.getNumeroContasFinal()); if (contaInicial.compareTo(contaFinal) == 1) { throw new ActionServletException("atencao.numero_conta_inicial_maior_final"); } } // Parcela em Atraso if ((form.getParcelaAtraso() != null && form.getParcelaAtraso().equals("1")) && (form.getDiasAtrasoParcelamento() == null || form.getDiasAtrasoParcelamento().equals(""))) { throw new ActionServletException("atencao.informar_dias_atraso_parcelamento"); } // Recebeu Carta de Parcelamento em Atraso if ((form.getCartaParcelamentoAtraso() != null && form.getCartaParcelamentoAtraso().equals("1")) && (form.getDiasAtrasoRecebimentoCarta() == null || form.getDiasAtrasoRecebimentoCarta().equals(""))) { throw new ActionServletException("atencao.informar_dias_atraso_parcelamento"); } }
public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = null; httpServletRequest.setAttribute("telaSucessoRelatorio", true); HttpSession sessao = httpServletRequest.getSession(false); Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); // Form GerarRelatorioReligacaoClientesInadiplentesForm form = (GerarRelatorioReligacaoClientesInadiplentesForm) actionForm; FiltrarRelatorioReligacaoClientesInadiplentesHelper helper = new FiltrarRelatorioReligacaoClientesInadiplentesHelper(); String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); Fachada fachada = Fachada.getInstancia(); boolean peloMenosUmParametroInformado = false; // Gerência Regional String gerenciaRegional = " -- "; if (form.getGerenciaRegionalID() != null && !form.getGerenciaRegionalID().equals("-1")) { helper.setGerenciaRegional(new Integer(form.getGerenciaRegionalID())); FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.adicionarParametro( new ParametroSimples(FiltroGerenciaRegional.ID, form.getGerenciaRegionalID())); filtroGerenciaRegional.adicionarParametro( new ParametroSimples( FiltroGerenciaRegional.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna gerenciaRegional colecaoPesquisa = fachada.pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException("atencao.gerenciaRegional_inexistente"); } GerenciaRegional objetoGerenciaRegional = (GerenciaRegional) Util.retonarObjetoDeColecao(colecaoPesquisa); gerenciaRegional = objetoGerenciaRegional.getNome(); peloMenosUmParametroInformado = true; } // Unidade de Negócio String unidadeNegocio = " -- "; if (form.getUnidadeNegocioID() != null && !form.getUnidadeNegocioID().equals("-1")) { helper.setUnidadeNegocio(new Integer(form.getUnidadeNegocioID())); FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.adicionarParametro( new ParametroSimples(FiltroUnidadeNegocio.ID, form.getUnidadeNegocioID())); filtroUnidadeNegocio.adicionarParametro( new ParametroSimples( FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Unidade de Negócio colecaoPesquisa = fachada.pesquisar(filtroUnidadeNegocio, UnidadeNegocio.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException("atencao.unidade_negocio.inexistente"); } UnidadeNegocio objetoUnidadeNegocio = (UnidadeNegocio) Util.retonarObjetoDeColecao(colecaoPesquisa); unidadeNegocio = objetoUnidadeNegocio.getNome(); peloMenosUmParametroInformado = true; } // Localidade String localidade = " -- "; if (form.getLocalidadeID() != null && !form.getLocalidadeID().equals("")) { helper.setLocalidade(new Integer(form.getLocalidadeID())); peloMenosUmParametroInformado = true; if (form.getNomeLocalidade() == null || form.getNomeLocalidade().equals("")) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro( new ParametroSimples(FiltroLocalidade.ID, form.getLocalidadeID())); filtroLocalidade.adicionarParametro( new ParametroSimples( FiltroLocalidade.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Localidade colecaoPesquisa = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException("pesquisa.localidade.inexistente"); } Localidade objetoLocalidade = (Localidade) Util.retonarObjetoDeColecao(colecaoPesquisa); localidade = objetoLocalidade.getDescricao(); } else { localidade = form.getNomeLocalidade(); } } // Setor Comercial String setorComercial = " -- "; if ((form.getSetorComercialID() != null && !form.getSetorComercialID().equals("")) || form.getSetorComercialCD() != null && !form.getSetorComercialCD().equals("")) { if (form.getSetorComercialID() != null && !form.getSetorComercialID().equals("")) { setorComercial = form.getNomeSetorComercial(); helper.setSetorComercial(new Integer(form.getSetorComercialID())); peloMenosUmParametroInformado = true; } else { localidadeID = (String) form.getLocalidadeID(); if (localidadeID == null || localidadeID.equals("")) { throw new ActionServletException("atencao.localidade_nao_informada"); } setorComercialCD = (String) form.getSetorComercialCD(); FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro( new ParametroSimples(FiltroSetorComercial.ID_LOCALIDADE, localidadeID)); filtroSetorComercial.adicionarParametro( new ParametroSimples(FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, setorComercialCD)); // Retorna setorComercial colecaoPesquisa = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException("atencao.processo.setorComercialNaoCadastrada"); } SetorComercial objetoSetorComercial = (SetorComercial) Util.retonarObjetoDeColecao(colecaoPesquisa); setorComercial = objetoSetorComercial.getDescricao(); helper.setSetorComercial(objetoSetorComercial.getId()); peloMenosUmParametroInformado = true; } } // Cliente String cliente = " -- "; if (form.getClienteID() != null && !form.getClienteID().equals("")) { if (form.getNomeCliente() == null || form.getNomeCliente().equals("")) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro( new ParametroSimples(FiltroCliente.ID, form.getClienteID())); filtroCliente.adicionarParametro( new ParametroSimples( FiltroCliente.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Cliente colecaoPesquisa = fachada.pesquisar(filtroCliente, Cliente.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException("atencao.cliente.inexistente"); } Cliente objetoCliente = (Cliente) Util.retonarObjetoDeColecao(colecaoPesquisa); cliente = objetoCliente.getDescricao(); } else { cliente = form.getNomeCliente(); } helper.setCliente(new Integer(form.getClienteID())); peloMenosUmParametroInformado = true; } // Usuário String nomeUsuario = " -- "; if (form.getUsuarioID() != null && !form.getUsuarioID().equals("")) { if (form.getNomeUsuario() == null || form.getNomeUsuario().equals("")) { FiltroUsuario filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro( new ParametroSimples(FiltroUsuario.ID, form.getUsuarioID())); // Retorna Usuário colecaoPesquisa = fachada.pesquisar(filtroUsuario, Usuario.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException("atencao.pesquisa.usuario.inexistente"); } Usuario objetoUsuario = (Usuario) Util.retonarObjetoDeColecao(colecaoPesquisa); nomeUsuario = objetoUsuario.getLogin(); } else { nomeUsuario = form.getNomeUsuario(); } helper.setUsuario(new Integer(form.getUsuarioID())); peloMenosUmParametroInformado = true; } // Período Encerramento String periodoEncerramento = ""; if (form.getDataInicioEncerramento() != null && !form.getDataInicioEncerramento().equals("")) { if (form.getDataFimEncerramento() == null || form.getDataFimEncerramento().trim().equals("")) { form.setDataFimEncerramento(form.getDataInicioEncerramento()); } if (!Util.validarDiaMesAno(form.getDataInicioEncerramento())) { periodoEncerramento += form.getDataInicioEncerramento() + " a "; helper.setDataInicioEncerramento( Util.formatarDataInicial( Util.converteStringParaDate(form.getDataInicioEncerramento()))); if (helper.getDataInicioEncerramento().after(new Date())) { throw new ActionServletException("atencao.periodo_inicio_alteracao_invalida"); } if (!Util.validarDiaMesAno(form.getDataFimEncerramento())) { periodoEncerramento += form.getDataFimEncerramento(); helper.setDataFimEncerramento( Util.formatarDataFinal(Util.converteStringParaDate(form.getDataFimEncerramento()))); if (helper.getDataFimEncerramento().after(new Date())) { throw new ActionServletException("atencao.periodo_final_alteracao_invalida"); } if (Util.compararData(helper.getDataInicioEncerramento(), helper.getDataFimEncerramento()) == 1) { throw new ActionServletException("atencao.data_inicio_maior_final"); } // Lilita o intevalo a um mês. if ((helper.getDataFimEncerramento().getTime() - helper.getDataInicioEncerramento().getTime()) > 1000L * 60L * 60L * 24L * 31L) { throw new ActionServletException( "atencao.filtrar_intervalo_limite", null, "Período de Encerramento da S.O"); } peloMenosUmParametroInformado = true; } else { throw new ActionServletException("atencao.periodo_final_alteracao_invalida"); } } else { throw new ActionServletException("atencao.periodo_inicio_alteracao_invalida"); } } // Período Recorrência String periodoRecorrencia = ""; if (form.getDataInicioRecorrencia() != null && !form.getDataInicioRecorrencia().equals("")) { if (!Util.validarDiaMesAno(form.getDataInicioRecorrencia())) { periodoRecorrencia += form.getDataInicioRecorrencia() + " a "; helper.setDataInicioRecorrencia( Util.formatarDataInicial(Util.converteStringParaDate(form.getDataInicioRecorrencia()))); if (helper.getDataInicioRecorrencia().after(new Date())) { throw new ActionServletException("atencao.periodo_inicio_alteracao_invalida"); } if (!Util.validarDiaMesAno(form.getDataFimRecorrencia())) { periodoRecorrencia += form.getDataFimRecorrencia(); helper.setDataFimRecorrencia( Util.formatarDataFinal(Util.converteStringParaDate(form.getDataFimRecorrencia()))); if (helper.getDataFimRecorrencia().after(new Date())) { throw new ActionServletException("atencao.periodo_final_alteracao_invalida"); } if (Util.compararData(helper.getDataInicioRecorrencia(), helper.getDataFimRecorrencia()) == 1) { throw new ActionServletException("atencao.data_inicio_maior_final"); } peloMenosUmParametroInformado = true; } else { throw new ActionServletException("atencao.periodo_final_alteracao_invalida"); } } else { throw new ActionServletException("atencao.periodo_inicio_alteracao_invalida"); } } else { Date dt = Util.adcionarOuSubtrairMesesAData(new Date(), -6, 0); helper.setDataInicioRecorrencia(dt); helper.setDataFimRecorrencia(new Date()); periodoRecorrencia = Util.formatarData(dt) + " a " + Util.formatarData(new Date()); } // Escolha Relatório if (form.getEscolhaRelatorio() != null && !form.getEscolhaRelatorio().equals("-1")) { helper.setEscolhaRelatorio(new Integer(form.getEscolhaRelatorio())); peloMenosUmParametroInformado = true; } else { throw new ActionServletException("atencao.tipo_relatorio_nao_informado"); } // Erro caso o usuário mandou filtrar sem nenhum parâmetro if (!peloMenosUmParametroInformado) { throw new ActionServletException("atencao.filtro.nenhum_parametro_informado"); } TarefaRelatorio relatorio = new RelatorioReligacaoClientesInadiplentes( (Usuario) (httpServletRequest.getSession(false)).getAttribute("usuarioLogado")); if (tipoRelatorio == null) { tipoRelatorio = TarefaRelatorio.TIPO_PDF + ""; } relatorio.addParametro("tipoFormatoRelatorio", Integer.parseInt(tipoRelatorio)); relatorio.addParametro("filtrarRelatorioReligacaoClientesInadiplentesHelper", helper); relatorio.addParametro("usuario", usuario); relatorio.addParametro("gerenciaRegional", gerenciaRegional); relatorio.addParametro("unidadeNegocio", unidadeNegocio); relatorio.addParametro("localidade", localidade); relatorio.addParametro("setorComercial", setorComercial); relatorio.addParametro("cliente", cliente); relatorio.addParametro("nomeUsuario", nomeUsuario); relatorio.addParametro("periodoEncerramento", periodoEncerramento); relatorio.addParametro("periodoRecorrencia", periodoRecorrencia); try { retorno = processarExibicaoRelatorio( relatorio, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); } catch (SistemaException ex) { // manda o erro para a página no request atual reportarErros(httpServletRequest, "erro.sistema"); // seta o mapeamento de retorno para a tela de erro de popup retorno = actionMapping.findForward("telaErroPopup"); } catch (RelatorioVazioException ex1) { throw new ActionServletException("atencao.pesquisa.nenhumresultado", null, ""); } return retorno; }