/** * 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 = httpServletRequest.getSession(false); EfetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroActionForm efetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroActionForm = (EfetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); // Usuario logado no sistema Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); String ordemServicoId = efetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroActionForm.getIdOrdemServico(); HidrometroInstalacaoHistorico hidrometroInstalacaoHistorico = new HidrometroInstalacaoHistorico(); hidrometroInstalacaoHistorico = this.setDadosHidrometroInstalacaoHistorico( hidrometroInstalacaoHistorico, efetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroActionForm); Imovel imovel = null; if (ordemServicoId != null && !ordemServicoId.equals("")) { OrdemServico ordemServico = (OrdemServico) sessao.getAttribute("ordemServico"); if (ordemServico == null) { throw new ActionServletException( "atencao.ordem_servico_inexistente", null, "ORDEM DE SERVIÇO INEXISTENTE"); } if (sessao.getAttribute("imovel") != null) { imovel = (Imovel) sessao.getAttribute("imovel"); FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel.adicionarCaminhoParaCarregamentoEntidade( "localidade.hidrometroLocalArmazenagem"); filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.ID, imovel.getId())); Collection colecaoImoveis = fachada.pesquisar(filtroImovel, Imovel.class.getName()); Imovel imovelComLocalidade = (Imovel) Util.retonarObjetoDeColecao(colecaoImoveis); if (imovelComLocalidade != null && imovelComLocalidade.getLocalidade().getHidrometroLocalArmazenagem() != null && hidrometroInstalacaoHistorico.getHidrometro().getHidrometroLocalArmazenagem() != null && !hidrometroInstalacaoHistorico .getHidrometro() .getHidrometroLocalArmazenagem() .getId() .equals( imovelComLocalidade.getLocalidade().getHidrometroLocalArmazenagem().getId())) { throw new ActionServletException( "atencao.hidrometro_local_armazenagem_imovel_diferente_hidrometro_local_armazenagem_hidrometro"); } imovel.setUltimaAlteracao(new Date()); } FiltroLigacaoAgua filtroLigacaoAgua = new FiltroLigacaoAgua(); filtroLigacaoAgua.adicionarParametro( new ParametroSimples(FiltroLigacaoAgua.ID, imovel.getId())); Collection colecaoLigacoesAgua = fachada.pesquisar(filtroLigacaoAgua, LigacaoAgua.class.getName()); LigacaoAgua ligacaoAgua = (LigacaoAgua) Util.retonarObjetoDeColecao(colecaoLigacoesAgua); ligacaoAgua.setDataRestabelecimentoAgua( Util.converteStringParaDate( efetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroActionForm .getDataRestabelecimento())); hidrometroInstalacaoHistorico.setLigacaoAgua(ligacaoAgua); ordemServico = this.setDadosOrdemServico( ordemServico, efetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroActionForm); String qtdParcelas = efetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroActionForm .getQuantidadeParcelas(); IntegracaoComercialHelper integracaoComercialHelper = new IntegracaoComercialHelper(); integracaoComercialHelper.setLigacaoAgua(ligacaoAgua); integracaoComercialHelper.setImovel(imovel); integracaoComercialHelper.setOrdemServico(ordemServico); integracaoComercialHelper.setQtdParcelas(qtdParcelas); integracaoComercialHelper.setHidrometroInstalacaoHistorico(hidrometroInstalacaoHistorico); if (efetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroActionForm .getVeioEncerrarOS() .equalsIgnoreCase("FALSE")) { integracaoComercialHelper.setVeioEncerrarOS(Boolean.FALSE); fachada.efetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometro( integracaoComercialHelper, 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, "Restabelecimento da Ligação de Água com Instalação de Hidrômetro efetuada com Sucesso", "Efetuar outro Restabelecimento da Ligação de Água com Instalação de Hidrômetro", "exibirEfetuarRestabelecimentoLigacaoAguaComInstalacaoHidrometroAction.do?menu=sim"); } return retorno; } else { throw new ActionServletException("atencao.informe_campo", null, "Ordem de Serviço"); } }