/** * [UC0393] Atualizar Valor de Cobrança do Serviço * * <p>Este caso de uso permite alterar um valor de cobrança de serviço * * @author Rômulo Aurélio - Hugo Loenardo * @date 31/10/2006 - 22/04/2010 * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("atualizarValorCobrancaServico"); HttpSession sessao = httpServletRequest.getSession(false); AtualizarValorCobrancaServicoActionForm form = (AtualizarValorCobrancaServicoActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); ServicoCobrancaValor servicoCobrancaValor = null; String idServicoCobrancaValor = (String) sessao.getAttribute("idRegistroAtualizar"); if (idServicoCobrancaValor != null && !idServicoCobrancaValor.equals("")) { FiltroServicoCobrancaValor filtroServicoCobrancaValor = new FiltroServicoCobrancaValor(); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade("servicoTipo"); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade( FiltroServicoCobrancaValor.CATEGORIA_ENTIDADE); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade( FiltroServicoCobrancaValor.SUBCATEGORIA_ENTIDADE); filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples(FiltroServicoCobrancaValor.ID, new Integer(idServicoCobrancaValor))); servicoCobrancaValor = (ServicoCobrancaValor) fachada .pesquisar(filtroServicoCobrancaValor, ServicoCobrancaValor.class.getName()) .iterator() .next(); idServicoCobrancaValor = servicoCobrancaValor.getId().toString(); } if (servicoCobrancaValor == null) { FiltroServicoCobrancaValor filtroServicoCobrancaValor = new FiltroServicoCobrancaValor(); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade("servicoTipo"); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade( FiltroServicoCobrancaValor.CATEGORIA_ENTIDADE); filtroServicoCobrancaValor.adicionarCaminhoParaCarregamentoEntidade( FiltroServicoCobrancaValor.SUBCATEGORIA_ENTIDADE); filtroServicoCobrancaValor.adicionarParametro( new ParametroSimples( FiltroServicoCobrancaValor.ID, new Integer(form.getIdServicoCobrancaValor()))); servicoCobrancaValor = (ServicoCobrancaValor) fachada .pesquisar(filtroServicoCobrancaValor, ServicoCobrancaValor.class.getName()) .iterator() .next(); } if ((httpServletRequest.getParameter("manter") != null && httpServletRequest.getParameter("manter").toString().equals("sim")) || (httpServletRequest.getAttribute("manter") != null && httpServletRequest.getAttribute("manter").toString().equals("sim"))) { form.setIdServicoCobrancaValor(servicoCobrancaValor.getId().toString()); form.setTipoServico(servicoCobrancaValor.getServicoTipo().getId().toString()); form.setNomeTipoServico(servicoCobrancaValor.getServicoTipo().getDescricao()); form.setIndicadorMedido("" + servicoCobrancaValor.getIndicadorMedido()); form.setIndicativoTipoSevicoEconomias( servicoCobrancaValor.getIndicadorConsideraEconomias().toString()); String dataVigenciaInicial = Util.formatarData(servicoCobrancaValor.getDataVigenciaInicial()); String dataVigenciaFinal = Util.formatarData(servicoCobrancaValor.getDataVigenciaFinal()); String valorServico = Util.formatarMoedaReal(servicoCobrancaValor.getValor()); if (servicoCobrancaValor.getId() != null && !servicoCobrancaValor.getId().equals("")) { form.setIdServicoCobrancaValor(servicoCobrancaValor.getId().toString()); } if (servicoCobrancaValor.getServicoTipo().getId() != null && !servicoCobrancaValor.getServicoTipo().getId().equals("")) { form.setTipoServico(servicoCobrancaValor.getServicoTipo().getId().toString()); } if (servicoCobrancaValor.getServicoTipo().getDescricao() != null && !servicoCobrancaValor.getServicoTipo().getDescricao().equals("")) { form.setNomeTipoServico(servicoCobrancaValor.getServicoTipo().getDescricao()); } if (servicoCobrancaValor.getSubCategoria() != null && !servicoCobrancaValor.getSubCategoria().getId().equals("-1") && form.getIdSubCategoria() == null || (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer").toString().equalsIgnoreCase("S"))) { form.setIdSubCategoria(servicoCobrancaValor.getSubCategoria().getId().toString()); } if (servicoCobrancaValor.getCategoria() != null && !servicoCobrancaValor.getCategoria().getId().equals("-1") && form.getIdCategoria() == null || (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer").toString().equalsIgnoreCase("S"))) { form.setIdCategoria(servicoCobrancaValor.getCategoria().getId().toString()); } if (servicoCobrancaValor.getHidrometroCapacidade() != null && servicoCobrancaValor.getHidrometroCapacidade().getId() != null && !servicoCobrancaValor.getHidrometroCapacidade().getId().equals("")) { form.setCapacidadeHidrometro( servicoCobrancaValor.getHidrometroCapacidade().getId().toString()); } if (servicoCobrancaValor.getImovelPerfil() != null && servicoCobrancaValor.getImovelPerfil().getId() != null && !servicoCobrancaValor.getImovelPerfil().getId().equals("-1")) { form.setPerfilImovel(servicoCobrancaValor.getImovelPerfil().getId().toString()); form.setIndicadorMedido("" + servicoCobrancaValor.getIndicadorMedido()); } if (servicoCobrancaValor.getSubCategoria() != null && servicoCobrancaValor.getSubCategoria().getId() != null && !servicoCobrancaValor.getSubCategoria().getId().equals("-1")) { form.setIdSubCategoria(servicoCobrancaValor.getSubCategoria().getId().toString()); } if (servicoCobrancaValor.getValor() != null && !servicoCobrancaValor.getValor().equals("")) { form.setValorServico(valorServico); } if (servicoCobrancaValor.getDataVigenciaInicial() != null && !servicoCobrancaValor.getDataVigenciaInicial().equals("")) { form.setDataVigenciaInicial(dataVigenciaInicial); } if (servicoCobrancaValor.getDataVigenciaFinal() != null && !servicoCobrancaValor.getDataVigenciaFinal().equals("")) { form.setDataVigenciaFinal(dataVigenciaFinal); } if (servicoCobrancaValor.getIndicadorConsideraEconomias() != null && !servicoCobrancaValor.getIndicadorConsideraEconomias().equals("")) { form.setIndicativoTipoSevicoEconomias( servicoCobrancaValor.getIndicadorConsideraEconomias().toString()); } if (servicoCobrancaValor.getQuantidadeEconomiasInicial() != null && !servicoCobrancaValor.getQuantidadeEconomiasInicial().equals("")) { form.setQuantidadeEconomiasInicial( servicoCobrancaValor.getQuantidadeEconomiasInicial().toString()); } if (servicoCobrancaValor.getQuantidadeEconomiasFinal() != null && !servicoCobrancaValor.getQuantidadeEconomiasFinal().equals("")) { form.setQuantidadeEconomiasFinal( servicoCobrancaValor.getQuantidadeEconomiasFinal().toString()); } if (servicoCobrancaValor.getIndicadorGeracaoDebito() != null && !servicoCobrancaValor.getIndicadorConsideraEconomias().toString().equals("")) { form.setIndicadorGeracaoDebito(servicoCobrancaValor.getIndicadorGeracaoDebito().toString()); } } Date timeStamp = servicoCobrancaValor.getUltimaAlteracao(); sessao.setAttribute("idServicoCobrancaValor", idServicoCobrancaValor); sessao.setAttribute("servicoCobrancaValor", servicoCobrancaValor); sessao.setAttribute("timeStamp", timeStamp); sessao.setAttribute("servicoTipo", servicoCobrancaValor.getServicoTipo()); sessao.setAttribute("subCategoria", servicoCobrancaValor.getSubCategoria()); sessao.setAttribute("imovelPerfil", servicoCobrancaValor.getImovelPerfil()); sessao.setAttribute("indicadorMedido", servicoCobrancaValor.getIndicadorMedido()); sessao.setAttribute("hidrometroCapacidade", servicoCobrancaValor.getHidrometroCapacidade()); sessao.setAttribute("valor", servicoCobrancaValor.getValor()); sessao.setAttribute("dataVigenciaInicial", servicoCobrancaValor.getDataVigenciaInicial()); sessao.setAttribute("dataVigenciaFinal", servicoCobrancaValor.getDataVigenciaFinal()); sessao.setAttribute( "indicadorConsideraEconomias", servicoCobrancaValor.getIndicadorConsideraEconomias()); sessao.setAttribute( "quantidadeEconomiasInicial", servicoCobrancaValor.getQuantidadeEconomiasInicial()); sessao.setAttribute( "quantidadeEconomiasFinal", servicoCobrancaValor.getQuantidadeEconomiasFinal()); httpServletRequest.setAttribute("idServicoCobrancaValor", form.getIdServicoCobrancaValor()); // Pesquisar Categoria this.pesquisarCategoria(httpServletRequest, form); // pesquisar SubCategoria this.pesquisarSubCategoria(httpServletRequest, form); if (form.getIndicadorMedido() != null && form.getIndicadorMedido().equals(ConstantesSistema.SIM.toString())) { if ((form.getIdCategoria() != null && !form.getIdCategoria().equals(ConstantesSistema.NUMERO_NAO_INFORMADO + "")) || (form.getIdSubCategoria() != null && !form.getIdSubCategoria().equals(ConstantesSistema.NUMERO_NAO_INFORMADO + ""))) { sessao.setAttribute("capacidadeObrigatoria", "sim"); } else { sessao.setAttribute("capacidadeObrigatoria", "nao"); } } else { sessao.setAttribute("capacidadeObrigatoria", "nao"); } if (form.getIndicadorGeracaoDebito() != null && form.getIndicadorGeracaoDebito().equals(ConstantesSistema.SIM.toString())) { sessao.setAttribute("valorObrigatorio", "sim"); } else { sessao.setAttribute("valorObrigatorio", "nao"); } return retorno; }
/** * [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; }