package gcom.gui.atendimentopublico.ordemservico; import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgoto; import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgotoPerfil; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgoto; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoDiametro; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoMaterial; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoPerfil; import gcom.atendimentopublico.ordemservico.OrdemServico; import gcom.atendimentopublico.ordemservico.ServicoTipo; import gcom.atendimentopublico.ordemservico.bean.DadosAutoInfracaoRetornoOrdemFiscalizacaoHelper; import gcom.atendimentopublico.ordemservico.bean.SituacaoEncontradaHelper; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.ClienteImovel; import gcom.cadastro.cliente.ClienteRelacaoTipo; import gcom.cadastro.cliente.FiltroClienteImovel; import gcom.cadastro.imovel.Imovel; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.Usuario; 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.HashMap; import java.util.Iterator; import java.util.Map; 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; /** * < <Descri��o da Classe>> * * @author S�vio Luiz * @date 13/11/2006 */ public class InformarRetornoOSFiscalizacaoAction extends GcomAction { /** * * [UC0448] Informar Retorno Ordem de Fiscaliza��o * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); InformarRetornoOSFiscalizacaoActionForm informarRetornoOSFiscalizacaoActionForm = (InformarRetornoOSFiscalizacaoActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); String idOS = informarRetornoOSFiscalizacaoActionForm.getIdOrdemServico(); String nomeOS = informarRetornoOSFiscalizacaoActionForm.getNomeOrdemServico(); Integer idCobrancaDocumento = null; // parte que valida o enter if ((idOS != null && !idOS.trim().equals("")) && (nomeOS == null || nomeOS.equals(""))) { // [FS0001 - Validar Ordem de Servi�o] this.getFachada().validarOrdemServico(Util.converterStringParaInteger(idOS)); /* * Colocado por Raphael Rossiter em 26/01/2007 Verifica se a OS j� * foi fiscalizada */ this.getFachada().verificarOSJaFiscalizada(new Integer(idOS)); sessao.setAttribute("idOS", idOS); Object[] parmsOS = this.getFachada().pesquisarParmsOS(Util .converterStringParaInteger(idOS)); if (parmsOS != null) { String nomeOSPesquisar = ""; Integer idImovel = null; String descricaoSituacaoAgua = ""; String descricaoSituacaoEsgoto = ""; String ocorrencia = ""; if (parmsOS[0] != null) { nomeOSPesquisar = (String) parmsOS[0]; } if (parmsOS[1] != null) { idImovel = (Integer) parmsOS[1]; } if (parmsOS[2] != null) { descricaoSituacaoAgua = (String) parmsOS[2]; } if (parmsOS[3] != null) { descricaoSituacaoEsgoto = (String) parmsOS[3]; } if (parmsOS[4] != null) { ocorrencia = (String) parmsOS[4]; } if (parmsOS[9] != null) { idCobrancaDocumento = (Integer) parmsOS[9]; } informarRetornoOSFiscalizacaoActionForm.setNomeOrdemServico(nomeOSPesquisar); informarRetornoOSFiscalizacaoActionForm.setMatriculaImovel("" + idImovel); // Inscri��o Im�vel String inscricaoImovel = this.getFachada().pesquisarInscricaoImovel(idImovel); informarRetornoOSFiscalizacaoActionForm.setInscricaoImovel(inscricaoImovel); // Situa��o da Liga��o de Agua informarRetornoOSFiscalizacaoActionForm.setSituacaoLigacaoAgua(descricaoSituacaoAgua); // Situa��o da Liga��o de Esgoto informarRetornoOSFiscalizacaoActionForm.setSituacaoLigacaoEsgoto(descricaoSituacaoEsgoto); // Cliente Usu�rio this.pesquisarCliente(informarRetornoOSFiscalizacaoActionForm); // ocorrencia informarRetornoOSFiscalizacaoActionForm.setOcorrencia(ocorrencia); } else { throw new ActionServletException("atencao.naocadastrado", null, "Ordem de Servi�o inexistente"); } } else { if (sessao.getAttribute("ordemServico") != null){ OrdemServico ordemServico = (OrdemServico) sessao.getAttribute("ordemServico"); if (ordemServico != null && ordemServico.getCobrancaDocumento() != null){ idCobrancaDocumento = ordemServico.getCobrancaDocumento().getId(); } } } Collection colecaoFiscalizacaoSituacaoSelecionada = (Collection) sessao.getAttribute("colecaoFiscalizacaoSituacaoSelecionada"); if(colecaoFiscalizacaoSituacaoSelecionada == null || colecaoFiscalizacaoSituacaoSelecionada.isEmpty()){ throw new ActionServletException("atencao.campo_selecionado.obrigatorio", null,"Situa��o da Fiscaliza��o Selecionada"); } // LigacaoAguaSituacao do Im�vel Integer idLigacaoAguaSituacaoImovel = this.getFachada() .pesquisarIdLigacaoAguaSituacao(Util .converterStringParaInteger(informarRetornoOSFiscalizacaoActionForm .getMatriculaImovel())); // LigacaoEsgotoSituacao do Im�vel Integer idLigacaoEsgotoSituacaoImovel = this.getFachada() .pesquisarIdLigacaoEsgotoSituacao(Util .converterStringParaInteger(informarRetornoOSFiscalizacaoActionForm .getMatriculaImovel())); // Usu�rio logado no sistema Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); // Colocado por Raphael Rossiter em 03/03/2007 if (informarRetornoOSFiscalizacaoActionForm.getIndicadorGeracaoDebito() == null || informarRetornoOSFiscalizacaoActionForm .getIndicadorGeracaoDebito().equalsIgnoreCase("")) { informarRetornoOSFiscalizacaoActionForm .setIndicadorGeracaoDebito("1"); } //Carregando os dados do auto de infra��o - Raphael Rossiter em 05/09/2008 DadosAutoInfracaoRetornoOrdemFiscalizacaoHelper dadosAutoInfracao = carregarDadosAutoInfracao( informarRetornoOSFiscalizacaoActionForm,colecaoFiscalizacaoSituacaoSelecionada); //Validando os dados do auto de infra��o - Raphael Rossiter em 05/09/2008 this.getFachada().validarDadosAutoInfracaoRetornoOSFiscalizacao(dadosAutoInfracao, new Short(informarRetornoOSFiscalizacaoActionForm.getIndicadorDocumentoEntregue())); //Validando o Motivo de Encerramento da Ordem de Servi�o if (!informarRetornoOSFiscalizacaoActionForm.getIndicadorEncerramentoOS().equals("2") && (informarRetornoOSFiscalizacaoActionForm.getAtendimentoMotivoEncerramento() == null || informarRetornoOSFiscalizacaoActionForm.getAtendimentoMotivoEncerramento().equalsIgnoreCase("-1"))) { throw new ActionServletException("atencao.Informe_entidade", null, "Motivo Encerramento Ordem Servi�o"); } LigacaoEsgoto ligacaoEsgoto = null; if(informarRetornoOSFiscalizacaoActionForm.getSituacaoLigacao() != null && informarRetornoOSFiscalizacaoActionForm.getSituacaoLigacao().equals("3")){ ligacaoEsgoto = this.setDadosLigacaoEsgoto(informarRetornoOSFiscalizacaoActionForm); } Map indicadores = validarSituacaoLigacaoAguaEsgoto( informarRetornoOSFiscalizacaoActionForm, retorno, httpServletRequest, actionMapping); retorno = (ActionForward)indicadores.get("retorno"); // Short indicadorAtualizacaoSituacaoLigacaoAgua = (Short)indicadores.get("indicadorAtualizacaoSituacaoLigacaoAgua"); // Short indicadorAtualizacaoSituacaoLigacaoEsgoto = (Short)indicadores.get("indicadorAtualizacaoSituacaoLigacaoEsgoto"); Short confirmaAtualizacaoSituacaoLigacaoAgua = (Short)indicadores.get("confirmaAtualizacaoSituacaoLigacaoAgua"); Short confirmaAtualizacaoSituacaoLigacaoEsgoto = (Short)indicadores.get("confirmaAtualizacaoSituacaoLigacaoEsgoto"); if (retorno.getName().equalsIgnoreCase("telaSucesso")) { // [UC0488] Informar Retorno Ordem de Fiscaliza��o Integer[] idsGerados = this.getFachada().informarRetornoOSFiscalizacao( Util.converterStringParaInteger(informarRetornoOSFiscalizacaoActionForm.getIdOrdemServico()), informarRetornoOSFiscalizacaoActionForm.getIndicadorDocumentoEntregue(), idLigacaoAguaSituacaoImovel, idLigacaoEsgotoSituacaoImovel, Util.converterStringParaInteger(informarRetornoOSFiscalizacaoActionForm.getMatriculaImovel()), informarRetornoOSFiscalizacaoActionForm.getIndicadorTipoMedicao(), informarRetornoOSFiscalizacaoActionForm.getIndicadorGeracaoDebito(), idCobrancaDocumento, usuario, dadosAutoInfracao, confirmaAtualizacaoSituacaoLigacaoAgua, confirmaAtualizacaoSituacaoLigacaoEsgoto, colecaoFiscalizacaoSituacaoSelecionada, ligacaoEsgoto, informarRetornoOSFiscalizacaoActionForm.getSituacaoLigacao()); String msgFinal = "Ordem de Servi�o de c�digo " + idsGerados[0] + " atualizada com sucesso."; if (idsGerados[1] != null || idsGerados[2] != null) { // Registro de Atendimento gerado if (idsGerados[1] != null) { msgFinal = msgFinal + " Registro(s) de atendimento(s) com c�digo(s) " + idsGerados[1]; if (idsGerados[2] != null) { msgFinal = msgFinal + ", " + idsGerados[2]; } } else { msgFinal = msgFinal + " Registro(s) de atendimento(s) com c�digo(s) " + idsGerados[2]; } if (idsGerados[3] != null || idsGerados[4] != null) { // Ordem de Servi�o if (idsGerados[3] != null) { msgFinal = msgFinal + " e ordem(ns) de servi�o(s) com c�digo(s) " + idsGerados[3]; if (idsGerados[4] != null) { msgFinal = msgFinal + ", " + idsGerados[4]; } } else { msgFinal = msgFinal + " e ordem(ns) de servi�o(s) com c�digo(s) " + idsGerados[4]; } } msgFinal = msgFinal + " gerado(s) com sucesso."; } sessao.setAttribute("msgFinal", msgFinal); sessao.setAttribute("idOS", idOS); /* * retorno = montarPaginaConfirmacaoWizard( * "atencao.deseja_encerrar_os", httpServletRequest, actionMapping, ""); */ if (!informarRetornoOSFiscalizacaoActionForm .getIndicadorEncerramentoOS().equals("2")) { // String idOS = (String) sessao.getAttribute("idOS"); Integer numeroOS = new Integer(idOS); Date dataAtual = new Date(); if (informarRetornoOSFiscalizacaoActionForm.getAtendimentoMotivoEncerramento() != null) { if (!informarRetornoOSFiscalizacaoActionForm.getAtendimentoMotivoEncerramento().equalsIgnoreCase("-1")) { String indicadorExecucaoSim = informarRetornoOSFiscalizacaoActionForm.getAtendimentoMotivoEncerramento(); String parecerEncerramento = "ORDEM DE SERVICO ENCERRADA ATRAVES DA FUNCIONALIDADE DE FISCALIZACAO."; if(informarRetornoOSFiscalizacaoActionForm.getParecerEncerramento() != null && !informarRetornoOSFiscalizacaoActionForm.getParecerEncerramento().equals("")){ parecerEncerramento = informarRetornoOSFiscalizacaoActionForm.getParecerEncerramento(); } this.getFachada().encerrarOSComExecucaoSemReferencia( numeroOS, dataAtual, usuario, indicadorExecucaoSim, dataAtual, parecerEncerramento, ServicoTipo.INDICADOR_PAVIMENTO_NAO, null, null, null, null, null, ServicoTipo.INDICADOR_VISTORIA_SERVICO_TIPO_NAO, null, null, null, null); } else { throw new ActionServletException( "atencao.Informe_entidade", null, "Motivo Encerramento Ordem Servi�o"); } } } // montando p�gina de sucesso montarPaginaSucesso(httpServletRequest, msgFinal, "Informar outra fiscaliza��o", "/exibirInformarRetornoOSFiscalizacaoAction.do?menu=sim"); } return retorno; } /** * Pesquisa Cliente * * @author S�vio Luiz * @date 13/11/2006 */ private void pesquisarCliente( InformarRetornoOSFiscalizacaoActionForm informarRetornoOSFiscalizacaoActionForm) { // Filtro para carregar o Cliente FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.IMOVEL_ID, informarRetornoOSFiscalizacaoActionForm.getMatriculaImovel())); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.CLIENTE_RELACAO_TIPO, ClienteRelacaoTipo.USUARIO)); filtroClienteImovel.adicionarParametro(new ParametroNulo( FiltroClienteImovel.DATA_FIM_RELACAO)); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("cliente"); Collection<ClienteImovel> colecaoClienteImovel = Fachada.getInstancia().pesquisar( filtroClienteImovel, ClienteImovel.class.getName()); if (colecaoClienteImovel != null && !colecaoClienteImovel.isEmpty()) { ClienteImovel clienteImovel = colecaoClienteImovel.iterator().next(); Cliente cliente = clienteImovel.getCliente(); String documento = ""; if (cliente.getCpf() != null && !cliente.getCpf().equals("")) { documento = cliente.getCpfFormatado(); } else { documento = cliente.getCnpjFormatado(); } // Cliente Nome/CPF-CNPJ informarRetornoOSFiscalizacaoActionForm.setClienteUsuario(cliente .getNome()); informarRetornoOSFiscalizacaoActionForm .setCpfCnpjCliente(documento); } else { throw new ActionServletException("atencao.naocadastrado", null, "Cliente"); } } private DadosAutoInfracaoRetornoOrdemFiscalizacaoHelper carregarDadosAutoInfracao( InformarRetornoOSFiscalizacaoActionForm form,Collection colecaoFiscalizacaoSituacaoSelecionada){ DadosAutoInfracaoRetornoOrdemFiscalizacaoHelper retorno = null; retorno = new DadosAutoInfracaoRetornoOrdemFiscalizacaoHelper(); if (Fachada.getInstancia().pesquisarParametrosDoSistema().getIndicadorControlaAutoInfracao() == ConstantesSistema.SIM.shortValue() && form.getIndicadorDocumentoEntregue() != null && form.getIndicadorDocumentoEntregue().equals(ConstantesSistema.DOCUMENTO_ENTREGUE_AUTO_INFRACAO.toString())){ retorno.setIdResponsavel(new Integer(form.getIdFuncionarioResponsavel())); retorno.setIdAutoInfracaoSituacao(new Integer(form.getIdAutoInfracaoSituacao())); retorno.setQuantidadeParcelas(new Integer(form.getQuantidadeParcelas())); if (form.getDataEmissao() != null){ retorno.setDataEmissao(Util.converteStringParaDate(form.getDataEmissao())); } if (form.getDataInicioRecurso() != null){ retorno.setDataInicioRecurso(Util.converteStringParaDate(form.getDataInicioRecurso())); } if (form.getDataTerminoRecurso() != null){ retorno.setDataTerminoRecurso(Util.converteStringParaDate(form.getDataTerminoRecurso())); } String indicadorGerarDebito = null; Iterator iteratorFiscalizacaoSituacaoSelecionada = colecaoFiscalizacaoSituacaoSelecionada.iterator(); while (iteratorFiscalizacaoSituacaoSelecionada.hasNext()) { SituacaoEncontradaHelper situacaoEncontradaHelper = (SituacaoEncontradaHelper) iteratorFiscalizacaoSituacaoSelecionada.next(); Short indicadorAtualizacaoAutosInfracao = situacaoEncontradaHelper.getFiscalizacaoSituacao().getIndicadorAtualizacaoAutosInfracao(); if(situacaoEncontradaHelper.getGeracaoDebito() == 1 && indicadorAtualizacaoAutosInfracao != null && indicadorAtualizacaoAutosInfracao.equals(ConstantesSistema.SIM)){ Short indicadorDebito = Fachada.getInstancia().recuperaIndicadorDebitoDaOrdemServicoFiscSit( new Integer(form.getIdOrdemServico()), situacaoEncontradaHelper.getFiscalizacaoSituacao().getId()); if(indicadorDebito != null && indicadorDebito.equals(ConstantesSistema.SIM)){ indicadorGerarDebito = "1"; } } } // retorno.setIndicadorGerarDebito(indicadorGerarDebito); if(indicadorGerarDebito == null){ retorno.setIndicadorGerarDebito(form.getIndicadorGeracaoDebito()); }else{ retorno.setIndicadorGerarDebito(indicadorGerarDebito); } retorno.setObservacao(form.getObservacao()); } return retorno; } private Map validarSituacaoLigacaoAguaEsgoto(InformarRetornoOSFiscalizacaoActionForm form, ActionForward retorno,HttpServletRequest httpServletRequest,ActionMapping actionMapping){ OrdemServico ordemServico = this.getFachada().recuperaOrdemServico( new Integer(form.getIdOrdemServico())); // Short indicadorAtualizacaoSituacaoLigacaoAgua = ordemServico.getIndicadorAtualizaAgua(); // Short indicadorAtualizacaoSituacaoLigacaoEsgoto = ordemServico.getIndicadorAtualizaEsgoto(); boolean paginaConfirmacaoAgua = false; boolean paginaConfirmacaoEsgoto = false; String confirmado = httpServletRequest.getParameter("confirmado"); Short confirmaAtualizacaoSituacaoLigacaoAgua = null; Short confirmaAtualizacaoSituacaoLigacaoEsgoto = null; if(form.getIndicadorAguaSituacao() != null && form.getIndicadorAguaSituacao().equals("1") && (ordemServico.getIndicadorAtualizaAgua() == null || ordemServico.getIndicadorAtualizaAgua().equals(ConstantesSistema.NAO))){ //6.1. Caso seja necess�rio validar a situa��o da liga��o de �gua do im�vel fiscalizado //E caso a atualiza��o da situa��o da liga��o de �gua do im�vel ainda n�o tenha sido realizada // if(form.getIndicadorAtualizarSituacaoLigacaoAguaEsgoto().equals("2")){ // //6.1.1. Caso a op��o de atualizar a situa��o da liga��o de // //�gua/esgoto do im�vel fiscalizado corresponda a �N�o� // // indicadorAtualizacaoSituacaoLigacaoAgua = ConstantesSistema.NAO; // // }else if (form.getIndicadorAtualizarSituacaoLigacaoAguaEsgoto().equals("1")) { if(confirmado == null){ paginaConfirmacaoAgua = true; // indicadorAtualizacaoSituacaoLigacaoAgua = ConstantesSistema.NAO; }else if(confirmado.equals("ok")){ // Caso o usu�rio confirme // indicadorAtualizacaoSituacaoLigacaoAgua = ConstantesSistema.SIM; confirmaAtualizacaoSituacaoLigacaoAgua = ConstantesSistema.SIM; }else if(confirmado.equals("cancelar")){ confirmaAtualizacaoSituacaoLigacaoAgua = ConstantesSistema.NAO; } } } if(form.getIndicadorEsgotoSituacao() != null && form.getIndicadorEsgotoSituacao().equals("1") && (ordemServico.getIndicadorAtualizaEsgoto() == null || ordemServico.getIndicadorAtualizaEsgoto().equals(ConstantesSistema.NAO))){ //6.2. Caso seja necess�rio validar a situa��o da liga��o de esgoto do im�vel fiscalizado //E caso a atualiza��o da situa��o da liga��o de esgoto do im�vel ainda n�o tenha sido realizada // if(form.getIndicadorAtualizarSituacaoLigacaoAguaEsgoto().equals("2")){ // //6.2.1. Caso a op��o de atualizar a situa��o da liga��o de // //�gua/esgoto do im�vel fiscalizado corresponda a �N�o� // // indicadorAtualizacaoSituacaoLigacaoEsgoto = ConstantesSistema.NAO; // // }else if (form.getIndicadorAtualizarSituacaoLigacaoAguaEsgoto().equals("1")) { if(confirmado == null){ paginaConfirmacaoEsgoto = true; // indicadorAtualizacaoSituacaoLigacaoEsgoto = ConstantesSistema.NAO; }else if(confirmado.equals("ok")){ // Caso o usu�rio confirme // indicadorAtualizacaoSituacaoLigacaoEsgoto = ConstantesSistema.SIM; confirmaAtualizacaoSituacaoLigacaoEsgoto = ConstantesSistema.SIM; }else if(confirmado.equals("cancelar")){ confirmaAtualizacaoSituacaoLigacaoEsgoto = ConstantesSistema.NAO; } } } httpServletRequest.setAttribute("cancelamento", "TRUE"); httpServletRequest.setAttribute("nomeBotao1", "Sim"); httpServletRequest.setAttribute("nomeBotao2", "N�o"); httpServletRequest.setAttribute( "tipoRelatorio", "confirma" ); if(paginaConfirmacaoAgua && paginaConfirmacaoEsgoto){ retorno = montarPaginaConfirmacao( "atencao.confirma_alteracao_ligacao_agua_esgoto", httpServletRequest, actionMapping, ""); }else if(paginaConfirmacaoAgua){ retorno = montarPaginaConfirmacao( "atencao.confirma_alteracao_ligacao_agua", httpServletRequest, actionMapping, ""); }else if(paginaConfirmacaoEsgoto){ retorno = montarPaginaConfirmacao( "atencao.confirma_alteracao_ligacao_esgoto", httpServletRequest, actionMapping, ""); } Map<String, Object> indicadores = new HashMap<String, Object>(); indicadores.put("retorno",retorno); // indicadores.put("indicadorAtualizacaoSituacaoLigacaoAgua",indicadorAtualizacaoSituacaoLigacaoAgua); // indicadores.put("indicadorAtualizacaoSituacaoLigacaoEsgoto",indicadorAtualizacaoSituacaoLigacaoEsgoto); indicadores.put("confirmaAtualizacaoSituacaoLigacaoAgua",confirmaAtualizacaoSituacaoLigacaoAgua); indicadores.put("confirmaAtualizacaoSituacaoLigacaoEsgoto",confirmaAtualizacaoSituacaoLigacaoEsgoto); return indicadores; } //[SB0008] - Inserir Dados da Liga��o de Esgoto private LigacaoEsgoto setDadosLigacaoEsgoto(InformarRetornoOSFiscalizacaoActionForm form){ LigacaoEsgoto ligacaoEsgoto = null; FiltroLigacaoEsgoto filtroLigacaoEsgoto = new FiltroLigacaoEsgoto(); filtroLigacaoEsgoto.adicionarParametro( new ParametroSimples( FiltroLigacaoEsgoto.ID, new Integer(form.getMatriculaImovel()))); Collection<LigacaoEsgoto> colecaoLigacaoEsgotoBase = Fachada.getInstancia().pesquisar( filtroLigacaoEsgoto, LigacaoEsgoto.class.getName()); if (!Util.isVazioOrNulo(colecaoLigacaoEsgotoBase)) { ligacaoEsgoto = (LigacaoEsgoto) Util.retonarObjetoDeColecao(colecaoLigacaoEsgotoBase); } else { ligacaoEsgoto = new LigacaoEsgoto(); ligacaoEsgoto.setId(new Integer(form.getMatriculaImovel())); } // Data de Ligacao String dataLigacao = form.getDataLigacaoEsgoto(); if (Util.verificarNaoVazio(dataLigacao)){ Date data = Util.converteStringParaDate(dataLigacao); if(data != null){ ligacaoEsgoto.setDataLigacao(data); }else{ throw new ActionServletException("atencao.gsan.campo_formato_invalido", "Data de Liga��o"); } }else{ throw new ActionServletException("atencao.informe_campo_obrigatorio",null,"Data da Liga��o"); } //Indicador Liga��o String indicadorLigacaoEsgoto = form.getIndicadorLigacaoEsgoto(); if(Util.verificarNaoVazio(indicadorLigacaoEsgoto)){ ligacaoEsgoto.setIndicadorLigacaoEsgoto(new Short(indicadorLigacaoEsgoto)); }else{ throw new ActionServletException("atencao.informe_campo_obrigatorio",null,"Liga��o"); } // Di�metro if(form.getDiametroLigacaoEsgoto() != null && !form.getDiametroLigacaoEsgoto().equals("") && !form.getDiametroLigacaoEsgoto().equals(""+ ConstantesSistema.NUMERO_NAO_INFORMADO)){ LigacaoEsgotoDiametro ligacaoEsgotoDiametro = new LigacaoEsgotoDiametro(); ligacaoEsgotoDiametro.setId(new Integer(form.getDiametroLigacaoEsgoto())); ligacaoEsgoto.setLigacaoEsgotoDiametro(ligacaoEsgotoDiametro); }else{ throw new ActionServletException("atencao.informe_campo_obrigatorio",null,"Di�metro da Liga��o"); } // Material if(form.getMaterialLigacaoEsgoto() != null && !form.getMaterialLigacaoEsgoto().equals("") && !form.getMaterialLigacaoEsgoto().equals(""+ ConstantesSistema.NUMERO_NAO_INFORMADO)){ LigacaoEsgotoMaterial ligacaoEsgotoMaterialMaterial = new LigacaoEsgotoMaterial(); ligacaoEsgotoMaterialMaterial.setId(new Integer(form.getMaterialLigacaoEsgoto())); ligacaoEsgoto.setLigacaoEsgotoMaterial(ligacaoEsgotoMaterialMaterial); }else{ throw new ActionServletException("atencao.informe_campo_obrigatorio",null,"Material da Liga��o"); } // Perfil if(form.getPerfilLigacaoEsgoto() != null && !form.getPerfilLigacaoEsgoto().equals("") && !form.getPerfilLigacaoEsgoto().equals(""+ ConstantesSistema.NUMERO_NAO_INFORMADO)){ LigacaoEsgotoPerfil ligacaoEsgotoPerfil = new LigacaoEsgotoPerfil(); ligacaoEsgotoPerfil.setId(new Integer(form.getPerfilLigacaoEsgoto())); ligacaoEsgoto.setLigacaoEsgotoPerfil(ligacaoEsgotoPerfil); //percentual de esgoto FiltroLigacaoEsgotoPerfil filtroLigacaoPercentualEsgoto = new FiltroLigacaoEsgotoPerfil(); filtroLigacaoPercentualEsgoto.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoPerfil.ID, form.getPerfilLigacaoEsgoto())); Collection<LigacaoEsgotoPerfil> colecaoPercentualEsgoto = this.getFachada().pesquisar( filtroLigacaoPercentualEsgoto, LigacaoEsgotoPerfil.class.getName()); if (colecaoPercentualEsgoto != null && !colecaoPercentualEsgoto.isEmpty()) { LigacaoEsgotoPerfil percentualEsgotoPerfil = (LigacaoEsgotoPerfil) colecaoPercentualEsgoto.iterator().next(); ligacaoEsgoto.setPercentual(percentualEsgotoPerfil.getPercentualEsgotoConsumidaColetada()); } }else{ throw new ActionServletException( "atencao.informe_campo_obrigatorio",null,"Perfil da Liga��o"); } //Percentual coleta String percentualColeta = form.getPercentualColeta(); if (Util.verificarNaoVazio(percentualColeta)) { try{ BigDecimal percentualInformadoColeta = new BigDecimal(percentualColeta.replace(",", ".")); if (percentualInformadoColeta.compareTo(new BigDecimal(ConstantesSistema.NUMERO_MAXIMO_CONSUMO_MINIMO_FIXADO)) < 0){ ligacaoEsgoto.setPercentualAguaConsumidaColetada(percentualInformadoColeta); }else{ throw new ActionServletException("atencao.atualizar_percentual_informado_maior_maximo_permitido"); } }catch (NumberFormatException e) { throw new ActionServletException("atencao.gsan.campo_formato_invalido", "Percentual Coleta"); } } else { throw new ActionServletException("atencao.informe_campo_obrigatorio", null,"Percentual de Coleta"); } Imovel imovel = new Imovel(new Integer(form.getMatriculaImovel())); //ligacaoEsgoto.setImovel(imovel); ligacaoEsgoto.setIndicadorCaixaGordura(ConstantesSistema.NAO); ligacaoEsgoto.setUltimaAlteracao(new Date()); return ligacaoEsgoto; } }