package gcom.gui.atendimentopublico.ligacaoesgoto; import gcom.atendimentopublico.bean.IntegracaoComercialHelper; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgoto; import gcom.atendimentopublico.ordemservico.OrdemServico; import gcom.atendimentopublico.ordemservico.ServicoNaoCobrancaMotivo; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.Usuario; import java.math.BigDecimal; 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 */ public class EfetuarMudancaSituacaoFaturamentoLigacaoEsgotoAction extends GcomAction { 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); EfetuarMudancaSituacaoFaturamentoLigacaoEsgotoActionForm mudancaFaturamentoLigacaoAguaActionForm = (EfetuarMudancaSituacaoFaturamentoLigacaoEsgotoActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); // Usuario logado no sistema Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); String ordemServicoId = mudancaFaturamentoLigacaoAguaActionForm .getIdOrdemServico(); // String volumeMinimoFixado = // mudancaFaturamentoLigacaoAguaActionForm.getVolumeMinimoFixado(); // String novaSituacaoEsgoto = // mudancaFaturamentoLigacaoAguaActionForm.getNovaSitLigacaoEsgoto(); // String tipoServico = // mudancaFaturamentoLigacaoAguaActionForm.getTipoServico(); String idServicoMotivoNaoCobranca = mudancaFaturamentoLigacaoAguaActionForm .getMotivoNaoCobranca(); String valorPercentual = mudancaFaturamentoLigacaoAguaActionForm .getPercentualCobranca(); OrdemServico ordemServico = null; // Validar Ordem de Servi�o if (ordemServicoId != null && !ordemServicoId.equals("")) { ordemServico = (OrdemServico) sessao.getAttribute("ordemServico"); if (ordemServico == null) { throw new ActionServletException( "atencao.ordem_servico_inexistente", null, "ORDEM DE SERVI�O INEXISTENTE"); } } // Imovel imovel = null; // if (sessao.getAttribute("imovel") != null) { // imovel = (Imovel) sessao.getAttribute("imovel"); // } /*--------------------- In�cio Dados do Corte da Liga��o de �gua ------------------------*/ // Validar Data da Mudan�a recebida do encerramento da Ordem de Servi�o. // Date dataMudanca = null; // dataMudanca = // Util.converteStringParaDate(mudancaFaturamentoLigacaoAguaActionForm // .getDataMudanca()); if (ordemServico != null && mudancaFaturamentoLigacaoAguaActionForm.getIdTipoDebito() != null) { ServicoNaoCobrancaMotivo servicoNaoCobrancaMotivo = null; ordemServico.setIndicadorComercialAtualizado(new Short("1")); if (idServicoMotivoNaoCobranca != null) { servicoNaoCobrancaMotivo = new ServicoNaoCobrancaMotivo(); servicoNaoCobrancaMotivo.setId(new Integer( idServicoMotivoNaoCobranca)); } ordemServico.setServicoNaoCobrancaMotivo(servicoNaoCobrancaMotivo); if (valorPercentual != null) { ordemServico.setPercentualCobranca(new BigDecimal( mudancaFaturamentoLigacaoAguaActionForm .getPercentualCobranca())); } BigDecimal valorAtual = new BigDecimal(0); if (mudancaFaturamentoLigacaoAguaActionForm.getValorDebito() != null) { String valorDebito = mudancaFaturamentoLigacaoAguaActionForm .getValorDebito().toString().replace(".", ""); valorDebito = valorDebito.replace(",", "."); valorAtual = new BigDecimal(valorDebito); ordemServico.setValorAtual(valorAtual); } } String qtdParcelas = mudancaFaturamentoLigacaoAguaActionForm .getQuantidadeParcelas(); IntegracaoComercialHelper integracaoComercialHelper = new IntegracaoComercialHelper(); integracaoComercialHelper.setLigacaoEsgoto((LigacaoEsgoto) sessao .getAttribute("ligacaoEsgoto")); integracaoComercialHelper.setOrdemServico(ordemServico); integracaoComercialHelper.setQtdParcelas(qtdParcelas); integracaoComercialHelper.setUsuarioLogado(usuario); if (mudancaFaturamentoLigacaoAguaActionForm.getVeioEncerrarOS() .equalsIgnoreCase("FALSE")) { integracaoComercialHelper.setVeioEncerrarOS(Boolean.FALSE); fachada .efetuarMudancaSituacaoFaturamentoLiagacaoEsgoto(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(ordemServico.getServicoTipo().getDebitoTipo() != null && * (ordemServico.getServicoNaoCobrancaMotivo() == null || * ordemServico.getServicoNaoCobrancaMotivo().getId() == * ConstantesSistema.NUMERO_NAO_INFORMADO)){ * fachada.gerarDebitoOrdemServico(ordemServico.getId(), * ordemServico.getServicoTipo().getDebitoTipo().getId(), * Util.calcularValorDebitoComPorcentagem(valorAtual, * mudancaFaturamentoLigacaoAguaActionForm.getPercentualCobranca()) , * new * Integer(mudancaFaturamentoLigacaoAguaActionForm.getQuantidadeParcelas()).intValue()); } */ if (retorno.getName().equalsIgnoreCase("telaSucesso")) { // Monta a p�gina de sucesso montarPaginaSucesso(httpServletRequest, "Mudan�a de Faturamento da Liga��o de Esgoto" + " efetuada com Sucesso", "", "exibirEfetuarMudancaSituacaoFaturamentoLigacaoEsgotoAction.do"); } return retorno; } }