package gcom.gui.atendimentopublico.ligacaoagua; import gcom.atendimentopublico.bean.IntegracaoComercialHelper; import gcom.atendimentopublico.ligacaoagua.CorteTipo; import gcom.atendimentopublico.ligacaoagua.LigacaoAgua; 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.seguranca.acesso.usuario.Usuario; 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 Thiago Ten�rio * @date 12/07/2006 */ public class EfetuarCorteAdministrativoLigacaoAguaAction extends GcomAction { /** * Description of the Method * * @param actionMapping * Description of the Parameter * @param actionForm * Description of the Parameter * @param httpServletRequest * Description of the Parameter * @param httpServletResponse * Description of the Parameter * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // localiza o action no objeto actionmapping ActionForward retorno = actionMapping.findForward("telaSucesso"); HttpSession sessao = getSessao(httpServletRequest); EfetuarCorteAdministrativoLigacaoAguaActionForm corteAdministrativoLigacaoAguaActionForm = (EfetuarCorteAdministrativoLigacaoAguaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); // Usuario logado no sistema Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); String tipoCorteId = corteAdministrativoLigacaoAguaActionForm .getTipoCorte(); OrdemServico ordemServico = (OrdemServico) sessao .getAttribute("ordemServico"); //Comentado por Raphael Rossiter em 28/02/2007 //Imovel imovel = ordemServico.getRegistroAtendimento().getImovel(); Imovel imovel = ordemServico.getImovel(); // String idServicoMotivoNaoCobranca = // corteAdministrativoLigacaoAguaActionForm // .getMotivoNaoCobranca(); // String valorPercentual = corteAdministrativoLigacaoAguaActionForm // .getPercentualCobranca(); /*--------------------- In�cio Dados do Corte da Liga��o de �gua ------------------------*/ // validar Data Corte Date dataCorteAdministrativo = null; if (corteAdministrativoLigacaoAguaActionForm.getDataCorte() != null && corteAdministrativoLigacaoAguaActionForm.getDataCorte() != "") { dataCorteAdministrativo = Util .converteStringParaDate(corteAdministrativoLigacaoAguaActionForm .getDataCorte()); } else { throw new ActionServletException("atencao.required", null, " Data do Corte"); } // Validar Tipo do Corte CorteTipo corteTipo = new CorteTipo(); corteTipo.setId(new Integer(tipoCorteId)); LigacaoAgua ligacaoAgua = imovel.getLigacaoAgua(); ligacaoAgua.setDataCorteAdministrativo(dataCorteAdministrativo); ligacaoAgua.setCorteTipo(corteTipo); ligacaoAgua.setUltimaAlteracao(new Date()); ordemServico.setIndicadorComercialAtualizado(new Short("1")); ordemServico.setUltimaAlteracao(new Date()); ServicoNaoCobrancaMotivo servicoNaoCobrancaMotivo = null; if (corteAdministrativoLigacaoAguaActionForm.getMotivoNaoCobranca() != null && !corteAdministrativoLigacaoAguaActionForm .getMotivoNaoCobranca().equals("-1")) { servicoNaoCobrancaMotivo = new ServicoNaoCobrancaMotivo(); servicoNaoCobrancaMotivo.setId(new Integer( corteAdministrativoLigacaoAguaActionForm .getMotivoNaoCobranca())); } ordemServico.setServicoNaoCobrancaMotivo(servicoNaoCobrancaMotivo); BigDecimal valorAtual = new BigDecimal(0); if (corteAdministrativoLigacaoAguaActionForm.getValorDebito() != null) { String valorDebito = corteAdministrativoLigacaoAguaActionForm .getValorDebito().toString().replace(".", ""); valorDebito = valorDebito.replace(",", "."); valorAtual = new BigDecimal(valorDebito); ordemServico.setValorAtual(valorAtual); } if (corteAdministrativoLigacaoAguaActionForm.getPercentualCobranca() != null && !corteAdministrativoLigacaoAguaActionForm .getPercentualCobranca().equals("")) { ordemServico.setPercentualCobranca(new BigDecimal( corteAdministrativoLigacaoAguaActionForm .getPercentualCobranca())); } // ordemServico // .setUltimaAlteracao(corteAdministrativoLigacaoAguaActionForm // .getDataConcorrencia()); // Preenche Helper DadosEfetuacaoCorteLigacaoAguaHelper dadosHelper = new DadosEfetuacaoCorteLigacaoAguaHelper(); dadosHelper.setLigacaoAgua(ligacaoAgua); dadosHelper.setOrdemServico(ordemServico); if (corteAdministrativoLigacaoAguaActionForm.getVeioEncerrarOS() .equalsIgnoreCase("true")) { dadosHelper.setVeioEncerrarOS(true); } else { dadosHelper.setVeioEncerrarOS(false); } if (corteAdministrativoLigacaoAguaActionForm.getQuantidadeParcelas() != null && !corteAdministrativoLigacaoAguaActionForm .getQuantidadeParcelas().equals("")) { dadosHelper.setQtdeParcelas(new Integer( corteAdministrativoLigacaoAguaActionForm .getQuantidadeParcelas()).intValue()); } else { dadosHelper.setQtdeParcelas(0); } IntegracaoComercialHelper integracaoComercialHelper = new IntegracaoComercialHelper(); integracaoComercialHelper.setLigacaoAgua(ligacaoAgua); integracaoComercialHelper.setImovel(imovel); integracaoComercialHelper.setOrdemServico(ordemServico); integracaoComercialHelper.setDadosEfetuacaoCorteLigacaoAguaHelper(dadosHelper); if(corteAdministrativoLigacaoAguaActionForm.getVeioEncerrarOS().equalsIgnoreCase("FALSE")){ integracaoComercialHelper.setVeioEncerrarOS(Boolean.FALSE); fachada.efetuarCorteAdministrativoLigacaoAgua(dadosHelper, usuario); }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")){ // Monta a p�gina de sucesso montarPaginaSucesso(httpServletRequest, "Corte Administrativo da Liga��o de �gua do im�vel " + imovel.getId() + " efetuada com Sucesso ", "Efetuar outro Corte Administrativo da Liga��o de �gua", "exibirEfetuarCorteAdministrativoLigacaoAguaAction.do?reset=true"); } return retorno; } }