package gcom.gui.cobranca.parcelamento; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.ImovelPerfil; import gcom.cadastro.imovel.ImovelSituacaoTipo; import gcom.cadastro.imovel.Subcategoria; import gcom.cobranca.FiltroResolucaoDiretoria; import gcom.cobranca.ResolucaoDiretoria; import gcom.cobranca.parcelamento.FiltroParcelamentoPerfil; import gcom.cobranca.parcelamento.ParcDesctoInativVista; import gcom.cobranca.parcelamento.ParcelamentoDescontoAntiguidade; import gcom.cobranca.parcelamento.ParcelamentoDescontoInatividade; import gcom.cobranca.parcelamento.ParcelamentoPerfil; import gcom.cobranca.parcelamento.ParcelamentoQuantidadeReparcelamentoHelper; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroNulo; import gcom.util.filtro.ParametroSimples; import java.math.BigDecimal; import java.util.Collection; import java.util.Date; import java.util.Iterator; 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 respons�vel por inserir um Perfil de Parcelamento * * @author Vivianne Sousa * @created 02/05/2006 */ public class InserirPerfilParcelamentoAction extends GcomAction { /** * Este caso de uso permite a inclus�o de um novo perfil de parcelamento * * [UC0220] Inserir Perfil de Parcelamento * * * @author Vivianne Sousa * @date 02/05/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ //Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); HttpSession sessao = httpServletRequest.getSession(false); ParcelamentoPerfilActionForm parcelamentoPerfilActionForm = (ParcelamentoPerfilActionForm)actionForm; String idResolucaoDiretoria = parcelamentoPerfilActionForm.getResolucaoDiretoria(); String idImovelSituacaoTipo = parcelamentoPerfilActionForm.getImovelSituacaoTipo(); String idImovelPerfil = null; if (parcelamentoPerfilActionForm.getImovelPerfil() != null && !parcelamentoPerfilActionForm.getImovelPerfil().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ idImovelPerfil = parcelamentoPerfilActionForm.getImovelPerfil(); } String idSubcategoria = null; if (parcelamentoPerfilActionForm.getSubcategoria() != null && !parcelamentoPerfilActionForm.getSubcategoria().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ idSubcategoria = parcelamentoPerfilActionForm.getSubcategoria(); } String idCategoria = null; if (parcelamentoPerfilActionForm.getCategoria() != null && !parcelamentoPerfilActionForm.getCategoria().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ idCategoria = parcelamentoPerfilActionForm.getCategoria(); } /* * */ String percentualDescontoAcrescimoMulta = null ; if (parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoMulta() != null && !parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoMulta().equalsIgnoreCase("")) { percentualDescontoAcrescimoMulta = parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoMulta().toString().replace(",", "."); } String percentualDescontoAcrescimoJurosMora = null ; if (parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoJurosMora() != null && !parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoJurosMora().equalsIgnoreCase("")) { percentualDescontoAcrescimoJurosMora = parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoJurosMora().toString().replace(",", "."); } String percentualDescontoAcrescimoAtualizacaoMonetaria = null ; if (parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoAtualizacaoMonetaria() != null && !parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoAtualizacaoMonetaria().equalsIgnoreCase("")) { percentualDescontoAcrescimoAtualizacaoMonetaria = parcelamentoPerfilActionForm .getPercentualDescontoAcrescimoAtualizacaoMonetaria().toString().replace(",", "."); } // fim altera��o String percentualDescontoAcrescimoPagamentoAVista = null ; if (parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoPagamentoAVista() != null && !parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoPagamentoAVista().equalsIgnoreCase("")){ percentualDescontoAcrescimoPagamentoAVista = parcelamentoPerfilActionForm .getPercentualDescontoAcrescimoPagamentoAVista().toString().replace(",", "."); } String percentualTarifaMinimaPrestacao = null ; if (parcelamentoPerfilActionForm.getPercentualTarifaMinimaPrestacao() != null && !parcelamentoPerfilActionForm.getPercentualTarifaMinimaPrestacao().equalsIgnoreCase("")){ percentualTarifaMinimaPrestacao = parcelamentoPerfilActionForm.getPercentualTarifaMinimaPrestacao().toString(). replace(",", "."); } atualizaColecoesNaSessao(sessao,httpServletRequest); //collectionParcelamentoQuantidadeReparcelamentoHelper Collection collectionParcelamentoQuantidadeReparcelamentoHelper = null; if (sessao.getAttribute("collectionParcelamentoQuantidadeReparcelamentoHelper") != null) { collectionParcelamentoQuantidadeReparcelamentoHelper = (Collection) sessao .getAttribute("collectionParcelamentoQuantidadeReparcelamentoHelper"); } //collectionParcelamentoDescontoInatividade Collection collectionParcelamentoDescontoInatividade = null; if (sessao.getAttribute("collectionParcelamentoDescontoInatividade") != null) { collectionParcelamentoDescontoInatividade = (Collection) sessao .getAttribute("collectionParcelamentoDescontoInatividade"); } //collectionParcelamentoDescontoAntiguidade Collection collectionParcelamentoDescontoAntiguidade = null; if (sessao.getAttribute("collectionParcelamentoDescontoAntiguidade") != null) { collectionParcelamentoDescontoAntiguidade = (Collection) sessao .getAttribute("collectionParcelamentoDescontoAntiguidade"); } //collectionParcelamentoDescontoInatividade Collection collectionParcelamentoDescontoInatividadeAVista = null; if (sessao.getAttribute("collectionParcelamentoDescontoInatividadeAVista") != null) { collectionParcelamentoDescontoInatividadeAVista = (Collection) sessao .getAttribute("collectionParcelamentoDescontoInatividadeAVista"); } validacaoFinal( idResolucaoDiretoria,idImovelSituacaoTipo,idImovelPerfil , idSubcategoria , percentualDescontoAcrescimoMulta, percentualDescontoAcrescimoJurosMora, percentualDescontoAcrescimoAtualizacaoMonetaria, httpServletRequest, collectionParcelamentoQuantidadeReparcelamentoHelper, collectionParcelamentoDescontoAntiguidade, collectionParcelamentoDescontoInatividade, percentualTarifaMinimaPrestacao, collectionParcelamentoDescontoInatividadeAVista, percentualDescontoAcrescimoPagamentoAVista); ParcelamentoPerfil parcelamentoPerfilNova = new ParcelamentoPerfil(); ResolucaoDiretoria resolucaoDiretoria = null; if(idResolucaoDiretoria != null && !idResolucaoDiretoria.equals("")){ resolucaoDiretoria = new ResolucaoDiretoria(); resolucaoDiretoria.setId(new Integer (idResolucaoDiretoria)); parcelamentoPerfilNova.setResolucaoDiretoria(resolucaoDiretoria); } ImovelSituacaoTipo imovelSituacaoTipo = null; if(idImovelSituacaoTipo != null && !idImovelSituacaoTipo.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ imovelSituacaoTipo = new ImovelSituacaoTipo(); imovelSituacaoTipo.setId(new Integer (idImovelSituacaoTipo)); parcelamentoPerfilNova.setImovelSituacaoTipo(imovelSituacaoTipo); } ImovelPerfil imovelPerfil = null; if(idImovelPerfil != null && !idImovelPerfil.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ imovelPerfil = new ImovelPerfil(); imovelPerfil.setId(new Integer (idImovelPerfil)); } parcelamentoPerfilNova.setImovelPerfil(imovelPerfil); Subcategoria subcategoria = null; if(idSubcategoria != null && !idSubcategoria.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ subcategoria = new Subcategoria(); subcategoria.setId(new Integer (idSubcategoria)); } parcelamentoPerfilNova.setSubcategoria(subcategoria); /* * */ if (parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoMulta() != null && !parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoMulta().equalsIgnoreCase("")){ parcelamentoPerfilNova.setPercentualDescontoAcrescimoMulta(new BigDecimal(percentualDescontoAcrescimoMulta)); }else{ parcelamentoPerfilNova.setPercentualDescontoAcrescimoMulta(new BigDecimal(0)); } if (parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoJurosMora() != null && !parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoJurosMora().equalsIgnoreCase("")){ parcelamentoPerfilNova.setPercentualDescontoAcrescimoJurosMora(new BigDecimal(percentualDescontoAcrescimoJurosMora)); }else{ parcelamentoPerfilNova.setPercentualDescontoAcrescimoJurosMora(new BigDecimal(0)); } if (parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoAtualizacaoMonetaria() != null && !parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoAtualizacaoMonetaria().equalsIgnoreCase("")){ parcelamentoPerfilNova.setPercentualDescontoAcrescimoAtualizacaoMonetaria(new BigDecimal(percentualDescontoAcrescimoAtualizacaoMonetaria)); }else{ parcelamentoPerfilNova.setPercentualDescontoAcrescimoAtualizacaoMonetaria(new BigDecimal(0)); } // fim altera��o if (parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoPagamentoAVista() != null && !parcelamentoPerfilActionForm.getPercentualDescontoAcrescimoPagamentoAVista().equalsIgnoreCase("")){ parcelamentoPerfilNova.setPercentualDescontoAcrescimoPagamentoAVista(new BigDecimal(percentualDescontoAcrescimoPagamentoAVista)); }else{ parcelamentoPerfilNova.setPercentualDescontoAcrescimoPagamentoAVista(new BigDecimal(0)); } if (parcelamentoPerfilActionForm.getPercentualTarifaMinimaPrestacao() != null && !parcelamentoPerfilActionForm.getPercentualTarifaMinimaPrestacao().equalsIgnoreCase("")){ parcelamentoPerfilNova.setPercentualTarifaMinimaPrestacao(new BigDecimal(percentualTarifaMinimaPrestacao)); }else{ parcelamentoPerfilNova.setPercentualTarifaMinimaPrestacao(new BigDecimal(0)); } if (parcelamentoPerfilActionForm.getIndicadorParcelarChequeDevolvido() != null && !parcelamentoPerfilActionForm.getIndicadorParcelarChequeDevolvido().equals("")){ parcelamentoPerfilNova.setIndicadorChequeDevolvido( new Short(parcelamentoPerfilActionForm.getIndicadorParcelarChequeDevolvido())); }else{ throw new ActionServletException( "atencao.campo_selecionado.obrigatorio", null, "N�o parcelar com cheque devolvido"); } if (parcelamentoPerfilActionForm.getConsumoMinimo() != null && !parcelamentoPerfilActionForm.getConsumoMinimo().equals("")){ parcelamentoPerfilNova.setNumeroConsumoMinimo(new Integer (parcelamentoPerfilActionForm.getConsumoMinimo())); } if (parcelamentoPerfilActionForm.getPercentualVariacaoConsumoMedio() != null && !parcelamentoPerfilActionForm.getPercentualVariacaoConsumoMedio().equals("")){ parcelamentoPerfilNova.setPercentualVariacaoConsumoMedio( Util.formatarMoedaRealparaBigDecimal(parcelamentoPerfilActionForm.getPercentualVariacaoConsumoMedio())); } if (parcelamentoPerfilActionForm.getIndicadorParcelarSancoesMaisDeUmaConta() != null && !parcelamentoPerfilActionForm.getIndicadorParcelarSancoesMaisDeUmaConta().equals("")){ parcelamentoPerfilNova.setIndicadorSancoesUnicaConta( new Short(parcelamentoPerfilActionForm.getIndicadorParcelarSancoesMaisDeUmaConta())); }else{ throw new ActionServletException( "atencao.campo_selecionado.obrigatorio", null, "N�o parcelar com san��es em mais de uma conta"); } ///////////////////////////////////////////// Categoria categoria = null; if(idCategoria != null && !idCategoria.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ categoria = new Categoria(); categoria.setId(new Integer (idCategoria)); } parcelamentoPerfilNova.setCategoria(categoria); if (parcelamentoPerfilActionForm.getNumeroConsumoEconomia() != null && !parcelamentoPerfilActionForm.getNumeroConsumoEconomia().trim().equals("")){ parcelamentoPerfilNova.setNumeroConsumoEconomia( new Integer(parcelamentoPerfilActionForm.getNumeroConsumoEconomia())); } if (parcelamentoPerfilActionForm.getNumeroAreaConstruida() != null && !parcelamentoPerfilActionForm.getNumeroAreaConstruida().trim().equals("")){ parcelamentoPerfilNova.setNumeroAreaConstruida( Util.formatarMoedaRealparaBigDecimal(parcelamentoPerfilActionForm.getNumeroAreaConstruida())); } if (parcelamentoPerfilActionForm.getIndicadorRetroativoTarifaSocial() != null && !parcelamentoPerfilActionForm.getIndicadorRetroativoTarifaSocial().equals("")){ parcelamentoPerfilNova.setIndicadorRetroativoTarifaSocial( new Short(parcelamentoPerfilActionForm.getIndicadorRetroativoTarifaSocial())); }else{ throw new ActionServletException( "atencao.campo_selecionado.obrigatorio", null, "Indicador de retroativo de tarifa social"); } if (parcelamentoPerfilActionForm.getAnoMesReferenciaLimiteInferior() != null && !parcelamentoPerfilActionForm.getAnoMesReferenciaLimiteInferior().trim().equals("")){ parcelamentoPerfilNova.setAnoMesReferenciaLimiteInferior(new Integer( Util.formatarMesAnoParaAnoMesSemBarra( parcelamentoPerfilActionForm.getAnoMesReferenciaLimiteInferior()))); } if (parcelamentoPerfilActionForm.getAnoMesReferenciaLimiteSuperior() != null && !parcelamentoPerfilActionForm.getAnoMesReferenciaLimiteSuperior().trim().equals("")){ parcelamentoPerfilNova.setAnoMesReferenciaLimiteSuperior(new Integer( Util.formatarMesAnoParaAnoMesSemBarra( parcelamentoPerfilActionForm.getAnoMesReferenciaLimiteSuperior()))); } if (parcelamentoPerfilActionForm.getPercentualDescontoTarifaSocial() != null && !parcelamentoPerfilActionForm.getPercentualDescontoTarifaSocial().trim().equals("")){ BigDecimal percentual = Util.formatarMoedaRealparaBigDecimal( parcelamentoPerfilActionForm.getPercentualDescontoTarifaSocial()); verificarPercentualMaximo(percentual); parcelamentoPerfilNova.setPercentualDescontoTarifaSocial(percentual); } if (parcelamentoPerfilActionForm.getParcelaQuantidadeMinimaFatura() != null && !parcelamentoPerfilActionForm.getParcelaQuantidadeMinimaFatura().trim().equals("")){ parcelamentoPerfilNova.setParcelaQuantidadeMinimaFatura( new Integer(parcelamentoPerfilActionForm.getParcelaQuantidadeMinimaFatura())); } if (parcelamentoPerfilActionForm.getIndicadorAlertaParcelaMinima() != null && !parcelamentoPerfilActionForm.getIndicadorAlertaParcelaMinima().equals("")){ parcelamentoPerfilNova.setIndicadorAlertaParcelaMinima( new Short(parcelamentoPerfilActionForm.getIndicadorAlertaParcelaMinima())); }else{ throw new ActionServletException( "atencao.campo_selecionado.obrigatorio", null, "Indicador de alerta de parcela m�nima"); } if (parcelamentoPerfilActionForm.getPercentualDescontoSancao() != null && !parcelamentoPerfilActionForm.getPercentualDescontoSancao().trim().equals("")){ BigDecimal percentual = Util.formatarMoedaRealparaBigDecimal( parcelamentoPerfilActionForm.getPercentualDescontoSancao()); verificarPercentualMaximo(percentual); parcelamentoPerfilNova.setPercentualDescontoSancao(percentual); } if (parcelamentoPerfilActionForm.getQuantidadeEconomias() != null && !parcelamentoPerfilActionForm.getQuantidadeEconomias().trim().equals("")){ parcelamentoPerfilNova.setQuantidadeEconomias( new Integer(parcelamentoPerfilActionForm.getQuantidadeEconomias())); } if (parcelamentoPerfilActionForm.getCapacidadeHidrometro() != null && !parcelamentoPerfilActionForm.getCapacidadeHidrometro().trim().equals("")){ parcelamentoPerfilNova.setCapacidadeHidrometro( new Short(parcelamentoPerfilActionForm.getCapacidadeHidrometro())); } if (parcelamentoPerfilActionForm.getIndicadorEntradaMinima() != null && !parcelamentoPerfilActionForm.getIndicadorEntradaMinima().equals("")){ parcelamentoPerfilNova.setIndicadorEntradaMinima( new Short(parcelamentoPerfilActionForm.getIndicadorEntradaMinima())); }else{ throw new ActionServletException( "atencao.campo_selecionado.obrigatorio", null, "Indicador de entrada m�nima"); } if (parcelamentoPerfilActionForm.getQuantidadeMaximaReparcelamento() != null && !parcelamentoPerfilActionForm.getQuantidadeMaximaReparcelamento().trim().equals("")){ parcelamentoPerfilNova.setQuantidadeMaximaReparcelamento( new Integer(parcelamentoPerfilActionForm.getQuantidadeMaximaReparcelamento())); } if (parcelamentoPerfilActionForm.getDataLimiteDescontoPagamentoAVista() != null && !parcelamentoPerfilActionForm.getDataLimiteDescontoPagamentoAVista().trim().equals("")){ parcelamentoPerfilNova.setDataLimiteDescontoPagamentoAVista( Util.converteStringParaDate(parcelamentoPerfilActionForm.getDataLimiteDescontoPagamentoAVista())); } parcelamentoPerfilNova.setUltimaAlteracao(new Date()); Integer idPerfilParcelamento = fachada.inserirPerfilParcelamento(parcelamentoPerfilNova, collectionParcelamentoQuantidadeReparcelamentoHelper, collectionParcelamentoDescontoInatividade, collectionParcelamentoDescontoAntiguidade, this.getUsuarioLogado(httpServletRequest), collectionParcelamentoDescontoInatividadeAVista); sessao.removeAttribute("collectionParcelamentoQuantidadeReparcelamentoHelper"); sessao.removeAttribute("collectionParcelamentoDescontoInatividade"); sessao.removeAttribute("collectionParcelamentoDescontoAntiguidade"); sessao.removeAttribute("collectionParcelamentoDescontoInatividadeAVista"); FiltroResolucaoDiretoria filtroResolucaoDiretoria = new FiltroResolucaoDiretoria(); filtroResolucaoDiretoria.adicionarParametro(new ParametroSimples( FiltroResolucaoDiretoria.CODIGO,idResolucaoDiretoria)); Collection<ResolucaoDiretoria> collectionResolucaoDiretoria = fachada.pesquisar(filtroResolucaoDiretoria, ResolucaoDiretoria.class.getName()); String numeroResolucaoDiretoria = ((ResolucaoDiretoria)Util.retonarObjetoDeColecao(collectionResolucaoDiretoria)).getNumeroResolucaoDiretoria(); montarPaginaSucesso(httpServletRequest, "Perfil de Parcelamento da RD de n�mero " + numeroResolucaoDiretoria + " inserido com sucesso.", "Inserir outro Perfil de Parcelamento", "exibirInserirPerfilParcelamentoAction.do?desfazer=S", "exibirAtualizarPerfilParcelamentoAction.do?idRegistroInseridoAtualizar=" + idPerfilParcelamento, "Atualizar Perfil de Parcelamento Inserido"); //devolve o mapeamento de retorno return retorno; } private void atualizaColecoesNaSessao(HttpSession sessao, HttpServletRequest httpServletRequest){ // collectionParcelamentoDescontoAntiguidade if (sessao.getAttribute("collectionParcelamentoDescontoAntiguidade") != null && !sessao.getAttribute("collectionParcelamentoDescontoAntiguidade").equals("")) { Collection collectionParcelamentoDescontoAntiguidade = (Collection) sessao .getAttribute("collectionParcelamentoDescontoAntiguidade"); // cria as vari�veis para recuperar os par�metros do request e jogar // no objeto ParcelamentoDescontoAntiguidade String vlSemRestAntiguidade = null; String vlComRestAntiguidade = null; String vlDescontoAtivo = null; Iterator iteratorParcelamentoDescontoAntiguidade = collectionParcelamentoDescontoAntiguidade.iterator(); while (iteratorParcelamentoDescontoAntiguidade.hasNext()) { ParcelamentoDescontoAntiguidade parcelamentoDescontoAntiguidade = (ParcelamentoDescontoAntiguidade) iteratorParcelamentoDescontoAntiguidade .next(); long valorTempo = parcelamentoDescontoAntiguidade.getUltimaAlteracao() .getTime(); vlSemRestAntiguidade = (String) httpServletRequest.getParameter("vlSemRestAntiguidade" + valorTempo); vlComRestAntiguidade = httpServletRequest.getParameter("vlComRestAntiguidade" + valorTempo); vlDescontoAtivo = httpServletRequest.getParameter("vlDescontoAtivo" + valorTempo); // inseri essas vari�veis no objeto ParcelamentoDescontoAntiguidade BigDecimal percentualDescontoSemRestabelecimentoAntiguidade = null; if (vlSemRestAntiguidade != null && !vlSemRestAntiguidade.equals("")) { percentualDescontoSemRestabelecimentoAntiguidade = Util .formatarMoedaRealparaBigDecimal(vlSemRestAntiguidade); } BigDecimal percentualDescontoComRestabelecimentoAntiguidade = null; if (vlComRestAntiguidade != null && !vlComRestAntiguidade.equals("")) { percentualDescontoComRestabelecimentoAntiguidade = Util .formatarMoedaRealparaBigDecimal(vlComRestAntiguidade); } BigDecimal percentualDescontoAtivoAntiguidade = null; if (vlDescontoAtivo != null && !vlDescontoAtivo.equals("")) { percentualDescontoAtivoAntiguidade = Util .formatarMoedaRealparaBigDecimal(vlDescontoAtivo); } parcelamentoDescontoAntiguidade. setPercentualDescontoSemRestabelecimento(percentualDescontoSemRestabelecimentoAntiguidade); parcelamentoDescontoAntiguidade. setPercentualDescontoComRestabelecimento(percentualDescontoComRestabelecimentoAntiguidade); parcelamentoDescontoAntiguidade. setPercentualDescontoAtivo(percentualDescontoAtivoAntiguidade); } } //collectionParcelamentoDescontoInatividade if (sessao.getAttribute("collectionParcelamentoDescontoInatividade") != null && !sessao.getAttribute("collectionParcelamentoDescontoInatividade").equals( "")) { Collection collectionParcelamentoDescontoInatividade = (Collection) sessao .getAttribute("collectionParcelamentoDescontoInatividade"); // cria as vari�veis para recuperar os par�metros do request e jogar // no objeto ParcelamentoDescontoInatividade String vlSemRestInatividade = null; String vlComRestInatividade = null; Iterator iteratorParcelamentoDescontoInatividade = collectionParcelamentoDescontoInatividade.iterator(); while (iteratorParcelamentoDescontoInatividade.hasNext()) { ParcelamentoDescontoInatividade parcelamentoDescontoInatividade = (ParcelamentoDescontoInatividade) iteratorParcelamentoDescontoInatividade.next(); long valorTempo = parcelamentoDescontoInatividade.getUltimaAlteracao() .getTime(); vlSemRestInatividade = (String) httpServletRequest.getParameter("vlSemRestInatividade" + valorTempo); vlComRestInatividade = httpServletRequest.getParameter("vlComRestInatividade" + valorTempo); // insere essas vari�veis no objeto ParcelamentoDescontoInatividade BigDecimal percentualDescontoSemRestabelecimentoInatividade = null; if (vlSemRestInatividade != null && !vlSemRestInatividade.equals("")) { percentualDescontoSemRestabelecimentoInatividade = Util .formatarMoedaRealparaBigDecimal(vlSemRestInatividade); } BigDecimal percentualDescontoComRestabelecimentoInatividade = null; if (vlComRestInatividade != null && !vlComRestInatividade.equals("")) { percentualDescontoComRestabelecimentoInatividade = Util .formatarMoedaRealparaBigDecimal(vlComRestInatividade); } parcelamentoDescontoInatividade. setPercentualDescontoSemRestabelecimento(percentualDescontoSemRestabelecimentoInatividade); parcelamentoDescontoInatividade. setPercentualDescontoComRestabelecimento(percentualDescontoComRestabelecimentoInatividade); } } //collectionParcelamentoQuantidadeReparcelamentoHelper /* if (sessao.getAttribute("collectionParcelamentoQuantidadeReparcelamentoHelper") != null && !sessao.getAttribute("collectionParcelamentoQuantidadeReparcelamentoHelper").equals( "")) { Collection collectionParcelamentoQuantidadeReparcelamentoHelper = (Collection) sessao .getAttribute("collectionParcelamentoQuantidadeReparcelamentoHelper"); // cria as vari�veis para recuperar os par�metros do request e jogar // no objeto ParcelamentoQuantidadeReparcelamentoHelper String vlMinPrest = null; Iterator iteratorParcelamentoQuantidadeReparcelamentoHelper = collectionParcelamentoQuantidadeReparcelamentoHelper.iterator(); while (iteratorParcelamentoQuantidadeReparcelamentoHelper.hasNext()) { ParcelamentoQuantidadeReparcelamentoHelper parcelamentoQuantidadeReparcelamentoHelper = (ParcelamentoQuantidadeReparcelamentoHelper) iteratorParcelamentoQuantidadeReparcelamentoHelper .next(); long valorTempo = parcelamentoQuantidadeReparcelamentoHelper.getUltimaAlteracao() .getTime(); vlMinPrest = (String) httpServletRequest.getParameter("vlMinPrest" + valorTempo); // insere essas vari�veis no objeto ParcelamentoQuantidadeReparcelamentoHelper BigDecimal valorMinimoPrestacao = null; if (vlMinPrest != null && !vlMinPrest.equals("")) { valorMinimoPrestacao = Util.formatarMoedaRealparaBigDecimal(vlMinPrest); } parcelamentoQuantidadeReparcelamentoHelper.setValorMinimoPrestacao(valorMinimoPrestacao); } } */ } 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"); } } } } //[FS0010]-Verificar Percentual M�ximo private void verificarPercentualMaximo(BigDecimal percentual){ BigDecimal percentualMaximo = new BigDecimal("100"); if (percentual.compareTo(percentualMaximo) == 1){ throw new ActionServletException( "atencao.percentual_maior_percentual_maximo"); } } }