package gcom.gui.atendimentopublico.ligacaoesgoto; import gcom.atendimentopublico.LigacaoOrigem; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgoto; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoDiametro; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoMaterial; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoPerfil; import gcom.cadastro.imovel.FiltroImovel; import gcom.cadastro.imovel.Imovel; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.interceptor.RegistradorOperacao; import gcom.seguranca.acesso.Operacao; import gcom.seguranca.acesso.OperacaoEfetuada; 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; /** * Description of the Class * * @author Leonardo Regis * @created 18 de Julho de 2006 */ public class AtualizarLigacaoEsgotoAction extends GcomAction { /** * Atualiza liga��o de esgoto * * [FS0005] Registrar Transa��o * * @author Leonardo Regis * @date 21/07/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta Retorno (Forward = Sucesso) ActionForward retorno = actionMapping.findForward("telaSucesso"); // Form AtualizarLigacaoEsgotoActionForm ligacaoEsgotoActionForm = (AtualizarLigacaoEsgotoActionForm) actionForm; // Fachada Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); // Usuario logado no sistema Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); // [UC0107] Registrar Transa��o RegistradorOperacao registradorOperacao = new RegistradorOperacao( Operacao.OPERACAO_LIGACAO_ESGOTO_ATUALIZAR, new UsuarioAcaoUsuarioHelper(usuario, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); Operacao operacao = new Operacao(); operacao.setId(Operacao.OPERACAO_LIGACAO_ESGOTO_ATUALIZAR); OperacaoEfetuada operacaoEfetuada = new OperacaoEfetuada(); operacaoEfetuada.setOperacao(operacao); // [UC0107] -Fim- Registrar Transa��o // Cria objeto LigacaoEsgoto LigacaoEsgoto ligacaoEsgoto = null; // Filtra Im�vel FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.ID, ligacaoEsgotoActionForm.getMatriculaImovel())); Collection<Imovel> colecaoImovel = fachada.pesquisar(filtroImovel, Imovel.class.getName()); if (colecaoImovel != null && !colecaoImovel.isEmpty()) { Imovel imovel = (Imovel) colecaoImovel.iterator().next(); // Seta no objeto informa��es do form ligacaoEsgoto = setLigacaoEsgoto(ligacaoEsgotoActionForm, imovel); // Seta novos valores da liga��o de esgoto para valida��o imovel.setLigacaoEsgoto(ligacaoEsgoto); // Faz as valida��es de atualiza��o de liga��o de esgoto fachada.validarLigacaoEsgotoImovelAtualizar(imovel); } else { ligacaoEsgotoActionForm.setInscricaoImovel("Matr�cula inexistente"); } // Atualiza Liga��o de Esgoto fachada.atualizarLigacaoEsgoto(ligacaoEsgoto,usuario); // Setando Opera��o ligacaoEsgoto.setOperacaoEfetuada(operacaoEfetuada); ligacaoEsgoto.adicionarUsuario(usuario, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO); registradorOperacao.registrarOperacao(ligacaoEsgoto); // [FS005] Monta a p�gina de sucesso montarPaginaSucesso(httpServletRequest, "Atualiza��o da Liga��o de Esgoto do im�vel " + ligacaoEsgoto.getId() + " efetuada com sucesso!", "Atualizar Liga��o de Esgoto efetuada", "exibirAtualizarLigacaoEsgotoAction.do?matriculaImovel=" + ligacaoEsgoto.getId()); return retorno; } /** * Seta no objeto LigacaoEsgoto as atualiza��es. * * @author Leonardo Regis, Diogo Peixoto * @date 21/07/2006, 10/08/2011 * * @param ligacaoEsgotoActionForm * @param imovel * @return LigacaoEsgoto */ private LigacaoEsgoto setLigacaoEsgoto(AtualizarLigacaoEsgotoActionForm ligacaoEsgotoActionForm, Imovel imovel) { LigacaoEsgoto ligacaoEsgoto; // Seta objeto LigacaoEsgoto ligacaoEsgoto = imovel.getLigacaoEsgoto(); ligacaoEsgoto.setImovel(imovel); ligacaoEsgoto.setUltimaAlteracao(ligacaoEsgotoActionForm.getDataConcorrencia()); // Data de Ligacao String dataLigacao = ligacaoEsgotoActionForm.getDataLigacao(); if (Util.verificarNaoVazio(dataLigacao)){ ligacaoEsgoto.setDataLigacao(Util.converteStringParaDate(dataLigacao)); } // Di�metro LigacaoEsgotoDiametro ligacaoEsgotoDiametro = new LigacaoEsgotoDiametro(); ligacaoEsgotoDiametro.setId(new Integer(ligacaoEsgotoActionForm.getDiametroLigacao())); ligacaoEsgoto.setLigacaoEsgotoDiametro(ligacaoEsgotoDiametro); // Material LigacaoEsgotoMaterial ligacaoEsgotoMaterialMaterial = new LigacaoEsgotoMaterial(); ligacaoEsgotoMaterialMaterial.setId(new Integer(ligacaoEsgotoActionForm.getMaterialLigacao())); ligacaoEsgoto.setLigacaoEsgotoMaterial(ligacaoEsgotoMaterialMaterial); // Perfil LigacaoEsgotoPerfil ligacaoEsgotoPerfil = new LigacaoEsgotoPerfil(); ligacaoEsgotoPerfil.setId(new Integer(ligacaoEsgotoActionForm.getPerfilLigacao())); ligacaoEsgoto.setLigacaoEsgotoPerfil(ligacaoEsgotoPerfil); // Percentual de Coleta String percentualColeta = ligacaoEsgotoActionForm.getPercentualColeta().replace(",", "."); ligacaoEsgoto.setPercentualAguaConsumidaColetada(new BigDecimal(percentualColeta)); // Percentual de Esgoto if (Util.verificarNaoVazio(ligacaoEsgotoActionForm.getPercentualEsgoto())){ String percentualEsgoto = ligacaoEsgotoActionForm.getPercentualEsgoto().replace(",", "."); ligacaoEsgoto.setPercentual(new BigDecimal(percentualEsgoto)); } else { ligacaoEsgoto.setPercentual(null); } if (ligacaoEsgotoActionForm.getIdLigacaoOrigem() != null && !ligacaoEsgotoActionForm.getIdLigacaoOrigem().equals(ConstantesSistema.NUMERO_NAO_INFORMADO) && !ligacaoEsgotoActionForm.getIdLigacaoOrigem().equals("")) { LigacaoOrigem ligacaoOrigem = new LigacaoOrigem(); ligacaoOrigem.setId(new Integer(ligacaoEsgotoActionForm.getIdLigacaoOrigem())); ligacaoEsgoto.setLigacaoOrigem(ligacaoOrigem); } ligacaoEsgoto.setIndicadorCaixaGordura(new Short(ligacaoEsgotoActionForm.getIndicadorCaixaGordura())); ligacaoEsgoto.setIndicadorLigacaoEsgoto(new Short(ligacaoEsgotoActionForm.getIndicadorLigacao())); ligacaoEsgoto.setUltimaAlteracao(new Date()); return ligacaoEsgoto; } }