package gcom.gui.atendimentopublico; import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgoto; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgoto; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoDiametro; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoMaterial; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoPerfil; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoSituacao; import gcom.cadastro.imovel.Imovel; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.interceptor.RegistradorOperacao; import gcom.seguranca.acesso.Operacao; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.acesso.usuario.UsuarioAcao; import gcom.seguranca.acesso.usuario.UsuarioAcaoUsuarioHelper; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.math.BigDecimal; import java.util.Collection; import java.util.Date; 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; public class EfetuarLigacaoEsgotoSemRAAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); HttpSession sessao = httpServletRequest.getSession(false); EfetuarLigacaoEsgotoSemRAActionForm efetuarLigacaoEsgotoSemRAActionForm = (EfetuarLigacaoEsgotoSemRAActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); LigacaoEsgoto ligacaoEsgoto = new LigacaoEsgoto(); String matriculaImovel = efetuarLigacaoEsgotoSemRAActionForm.getMatriculaImovel(); String materialLigacao = efetuarLigacaoEsgotoSemRAActionForm.getMaterialLigacao(); String perfilLigacao = efetuarLigacaoEsgotoSemRAActionForm.getPerfilLigacao(); String percentual = efetuarLigacaoEsgotoSemRAActionForm.getPercentualColeta().toString().replace(",", "."); String percentualEsgoto = efetuarLigacaoEsgotoSemRAActionForm.getPercentualEsgoto().toString().replace(",", "."); String dataLigacao = efetuarLigacaoEsgotoSemRAActionForm.getDataLigacao(); String indicadorCaixaGordura = efetuarLigacaoEsgotoSemRAActionForm.getIndicadorCaixaGordura(); String indicadorLigacaoEsgoto = efetuarLigacaoEsgotoSemRAActionForm.getIndicadorLigacao(); String diametroLigacao = efetuarLigacaoEsgotoSemRAActionForm.getDiametroLigacao(); if (matriculaImovel != null && !matriculaImovel.equals("")) { Imovel imovel = new Imovel(); imovel.setId(new Integer(matriculaImovel)); ligacaoEsgoto.setImovel(imovel); ligacaoEsgoto.setUltimaAlteracao(new Date()); ligacaoEsgoto.setId(imovel.getId()); LigacaoEsgotoSituacao ligacaoEsgotoSituacao = new LigacaoEsgotoSituacao(); ligacaoEsgotoSituacao.setId(LigacaoEsgotoSituacao.LIGADO); if(indicadorCaixaGordura != null && !indicadorCaixaGordura.equals("")) { ligacaoEsgoto.setIndicadorCaixaGordura(new Short(indicadorCaixaGordura)); } else { throw new ActionServletException("atencao.informe_campo_obrigatorio", null, "Caixa de Gordura"); } if(indicadorLigacaoEsgoto != null && !indicadorLigacaoEsgoto.equals("")) { ligacaoEsgoto.setIndicadorLigacaoEsgoto(new Short(indicadorLigacaoEsgoto)); } else { throw new ActionServletException("atencao.informe_campo_obrigatorio", null, "Liga��o"); } if (diametroLigacao != null && !diametroLigacao.equals("") && !diametroLigacao.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { LigacaoEsgotoDiametro ligacaoEsgotoDiametro = new LigacaoEsgotoDiametro(); ligacaoEsgotoDiametro.setId(new Integer(diametroLigacao)); ligacaoEsgoto.setLigacaoEsgotoDiametro(ligacaoEsgotoDiametro); } else { throw new ActionServletException( "atencao.informe_campo_obrigatorio", null, "Diametro da Liga��o"); } if (materialLigacao != null && !materialLigacao.equals("") && !materialLigacao.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { LigacaoEsgotoMaterial ligacaoEsgotoMaterialMaterial = new LigacaoEsgotoMaterial(); ligacaoEsgotoMaterialMaterial .setId(new Integer(materialLigacao)); ligacaoEsgoto .setLigacaoEsgotoMaterial(ligacaoEsgotoMaterialMaterial); } else { throw new ActionServletException( "atencao.informe_campo_obrigatorio", null, "Material da Liga��o"); } if (perfilLigacao != null && !perfilLigacao.equals("") && !perfilLigacao.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { LigacaoEsgotoPerfil ligacaoEsgotoPerfil = new LigacaoEsgotoPerfil(); ligacaoEsgotoPerfil.setId(new Integer(perfilLigacao)); ligacaoEsgoto.setLigacaoEsgotoPerfil(ligacaoEsgotoPerfil); } else { throw new ActionServletException( "atencao.informe_campo_obrigatorio", null, "Perfil da Liga��o"); } if (percentual != null && !percentual.equals("")) { BigDecimal percentualInformadoColeta = new BigDecimal( percentual); if (percentualInformadoColeta != null && !percentualInformadoColeta.equals("") && (percentualInformadoColeta.intValue() <= ConstantesSistema.NUMERO_MAXIMO_CONSUMO_MINIMO_FIXADO)) { ligacaoEsgoto .setPercentualAguaConsumidaColetada(percentualInformadoColeta); } } else { throw new ActionServletException( "atencao.informe_campo_obrigatorio", null, "Percentual de Coleta"); } if (percentualEsgoto != null && !percentualEsgoto.equals("")) { BigDecimal percentualEsgotoColeta = new BigDecimal(percentualEsgoto); ligacaoEsgoto.setPercentual(percentualEsgotoColeta); } if (dataLigacao != null && !dataLigacao.equals("")) { ligacaoEsgoto.setDataLigacao(Util.converteStringParaDate(dataLigacao)); if (ligacaoEsgoto.getDataLigacao().after(new Date())) { throw new ActionServletException( "atencao.data_menor_que_atual", null, "Liga��o"); } } RegistradorOperacao registradorOperacao = new RegistradorOperacao( Operacao.OPERACAO_LIGACAO_ESGOTO__SEM_RA_EFETUAR, imovel.getId(), imovel.getId(), new UsuarioAcaoUsuarioHelper(usuario, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); registradorOperacao.registrarOperacao(ligacaoEsgoto); fachada.atualizarImovelExecucaoOrdemServicoLigacaoEsgoto(imovel, ligacaoEsgotoSituacao); FiltroLigacaoEsgoto filtroLigacaoEsgoto = new FiltroLigacaoEsgoto(); filtroLigacaoEsgoto.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgoto.ID, imovel.getId())); Collection colecaoLigacaoEsgotoBase = fachada.pesquisar( filtroLigacaoEsgoto, LigacaoEsgoto.class.getName()); if (colecaoLigacaoEsgotoBase != null && !colecaoLigacaoEsgotoBase.isEmpty()) { fachada.atualizar(ligacaoEsgoto); } else { fachada.inserir(ligacaoEsgoto); } montarPaginaSucesso(httpServletRequest, "Liga��o de Esgoto sem RA efetuada com Sucesso", "Efetuar outra Liga��o de Esgoto sem RA", "exibirEfetuarLigacaoEsgotoSemRAAction.do?menu=sim"); return retorno; } else { throw new ActionServletException( "atencao.informe_campo_obrigatorio", null, "Matr�cula Im�vel"); } } }