package gcom.gui.atendimentopublico.ligacaoagua; import gcom.atendimentopublico.bean.IntegracaoComercialHelper; import gcom.atendimentopublico.ligacaoagua.CorteTipo; import gcom.atendimentopublico.ligacaoagua.LigacaoAgua; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoagua.MotivoCorte; import gcom.atendimentopublico.ligacaoagua.bean.DadosEfetuacaoCorteLigacaoAguaHelper; import gcom.atendimentopublico.ordemservico.OrdemServico; import gcom.atendimentopublico.ordemservico.ServicoNaoCobrancaMotivo; import gcom.cadastro.imovel.Imovel; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.hidrometro.HidrometroInstalacaoHistorico; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; import java.math.BigDecimal; 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; /** * Action que define o processamento da p�gina de efetuar corte de liga��o de �gua * * @author Leandro Cavalcanti * @date 12/07/2006 * * Refeito * @author Leonardo Regis * @date 27/09/2006 */ public class EfetuarCorteLigacaoAguaAction extends GcomAction { /** * Efetuar Corte Liga��o �gua * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return forward */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // localiza o action no objeto actionmapping ActionForward retorno = actionMapping.findForward("telaSucesso"); HttpSession sessao = httpServletRequest.getSession(false); EfetuarCorteLigacaoAguaActionForm corteLigacaoAguaActionForm = (EfetuarCorteLigacaoAguaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); // Usuario logado no sistema Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); IntegracaoComercialHelper integracaoComercialHelper = new IntegracaoComercialHelper(); if (corteLigacaoAguaActionForm.getIdOrdemServico() != null && !corteLigacaoAguaActionForm.getIdOrdemServico().equals("")) { OrdemServico ordemServico = new OrdemServico(); Imovel imovel = new Imovel(); LigacaoAgua ligacaoAgua = new LigacaoAgua(); HidrometroInstalacaoHistorico hidrometroInstalacaoHistorico = null; if (sessao.getAttribute("ordemServico") != null) { ordemServico = (OrdemServico) sessao.getAttribute("ordemServico"); } // Imovel //Comentado por Raphael Rossiter em 28/02/2007 //imovel = ordemServico.getRegistroAtendimento().getImovel(); imovel = ordemServico.getImovel(); LigacaoAguaSituacao ligacaoAguaSituacao = new LigacaoAguaSituacao(); ligacaoAguaSituacao.setId(LigacaoAguaSituacao.CORTADO); imovel.setLigacaoAguaSituacao(ligacaoAguaSituacao); imovel.setUltimaAlteracao(new Date()); // Liga��o �gua ligacaoAgua.setId(imovel.getId()); Date dataCorte = null; if (corteLigacaoAguaActionForm.getDataCorte() != null && corteLigacaoAguaActionForm.getDataCorte() != "") { dataCorte = Util.converteStringParaDate(corteLigacaoAguaActionForm.getDataCorte()); } else { throw new ActionServletException("atencao.required", null," Data do Corte"); } ligacaoAgua.setDataCorte(dataCorte); if (corteLigacaoAguaActionForm.getNumSeloCorte()!= null && !corteLigacaoAguaActionForm.getNumSeloCorte().equals("")){ ligacaoAgua.setNumeroSeloCorte(new Integer(corteLigacaoAguaActionForm.getNumSeloCorte())); }else{ ligacaoAgua.setNumeroSeloCorte(null); } CorteTipo corteTipo = new CorteTipo(); corteTipo.setId(new Integer(corteLigacaoAguaActionForm.getTipoCorte())); ligacaoAgua.setCorteTipo(corteTipo); MotivoCorte motivoCorte = new MotivoCorte(); motivoCorte.setId(new Integer(corteLigacaoAguaActionForm.getMotivoCorte())); ligacaoAgua.setMotivoCorte(motivoCorte); ligacaoAgua.setUltimaAlteracao(new Date()); // Hidrometro Instala��o Hist�rico if (imovel.getLigacaoAgua().getHidrometroInstalacaoHistorico() != null) { hidrometroInstalacaoHistorico = imovel.getLigacaoAgua().getHidrometroInstalacaoHistorico(); //Validar N�mero de Leitura do Corte / N�mero do Selo de Corte if (corteLigacaoAguaActionForm.getNumLeituraCorte()!= null && !corteLigacaoAguaActionForm.getNumLeituraCorte().equals("")){ hidrometroInstalacaoHistorico.setNumeroLeituraCorte(new Integer(corteLigacaoAguaActionForm.getNumLeituraCorte())); }else{ hidrometroInstalacaoHistorico.setNumeroLeituraCorte(null); } hidrometroInstalacaoHistorico.setUltimaAlteracao(new Date()); } ligacaoAgua.setHidrometroInstalacaoHistorico(hidrometroInstalacaoHistorico); imovel.setLigacaoAgua(ligacaoAgua); ordemServico.setIndicadorComercialAtualizado(new Short("1")); ServicoNaoCobrancaMotivo servicoNaoCobrancaMotivo = null; if(corteLigacaoAguaActionForm.getMotivoNaoCobranca() != null && !corteLigacaoAguaActionForm.getMotivoNaoCobranca().equals(ConstantesSistema.NUMERO_NAO_INFORMADO+"")){ servicoNaoCobrancaMotivo = new ServicoNaoCobrancaMotivo(); servicoNaoCobrancaMotivo.setId(new Integer(corteLigacaoAguaActionForm.getMotivoNaoCobranca())); } ordemServico.setServicoNaoCobrancaMotivo(servicoNaoCobrancaMotivo); BigDecimal valorAtual = new BigDecimal(0); if (corteLigacaoAguaActionForm.getValorDebito() != null) { String valorDebito = corteLigacaoAguaActionForm .getValorDebito().toString().replace(".", ""); valorDebito = valorDebito.replace(",", "."); valorAtual = new BigDecimal(valorDebito); ordemServico.setValorAtual(valorAtual); } if(corteLigacaoAguaActionForm.getPercentualCobranca() != null && !corteLigacaoAguaActionForm.getPercentualCobranca().equals("")) { ordemServico.setPercentualCobranca(new BigDecimal(corteLigacaoAguaActionForm.getPercentualCobranca())); } ordemServico.setUltimaAlteracao(new Date()); // Preenche Helper DadosEfetuacaoCorteLigacaoAguaHelper dadosHelper = new DadosEfetuacaoCorteLigacaoAguaHelper(); dadosHelper.setImovel(imovel); dadosHelper.setLigacaoAgua(ligacaoAgua); dadosHelper.setHidrometroInstalacaoHistorico(hidrometroInstalacaoHistorico); dadosHelper.setOrdemServico(ordemServico); if(corteLigacaoAguaActionForm.getVeioEncerrarOS().equalsIgnoreCase("true")){ dadosHelper.setVeioEncerrarOS(true); } else { dadosHelper.setVeioEncerrarOS(false); } if (corteLigacaoAguaActionForm.getQuantidadeParcelas() != null && !corteLigacaoAguaActionForm.getQuantidadeParcelas().equals("")) { dadosHelper.setQtdeParcelas(new Integer(corteLigacaoAguaActionForm.getQuantidadeParcelas()).intValue()); } else { dadosHelper.setQtdeParcelas(0); } integracaoComercialHelper.setDadosEfetuacaoCorteLigacaoAguaHelper(dadosHelper); integracaoComercialHelper.setOrdemServico(ordemServico); integracaoComercialHelper.setUsuarioLogado(usuario); //efetuar Corte Liga��o de �gua if(corteLigacaoAguaActionForm.getVeioEncerrarOS().equalsIgnoreCase("FALSE")){ integracaoComercialHelper.setVeioEncerrarOS(Boolean.FALSE); fachada.efetuarCorteLigacaoAgua(integracaoComercialHelper); }else{ integracaoComercialHelper.setVeioEncerrarOS(Boolean.TRUE); sessao.setAttribute("integracaoComercialHelper", integracaoComercialHelper); if(sessao.getAttribute("semMenu") == null){ retorno = actionMapping.findForward("encerrarOrdemServicoAction"); }else{ retorno = actionMapping.findForward("encerrarOrdemServicoPopupAction"); } sessao.removeAttribute("caminhoRetornoIntegracaoComercial"); } if(retorno.getName().equalsIgnoreCase("telaSucesso")){ montarPaginaSucesso(httpServletRequest,"Corte de Liga��o de �gua do im�vel "+imovel.getId()+" efetuada com Sucesso", "Efetuar outra Corte de Liga��o de �gua", "exibirEfetuarCorteLigacaoAguaAction.do?menu=sim", "exibirAtualizarCorteLigacaoAguaAction.do?idOrdemServico"+ordemServico.getId(), "Atualiza��o Corte Liga��o de �gua efetuada"); } return retorno; } else { throw new ActionServletException( "atencao.required", null,"Ordem de Servi�o"); } } }