package gcom.gui.atendimentopublico; import gcom.atendimentopublico.ordemservico.OrdemServico; import gcom.cadastro.imovel.FiltroImovel; 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.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * Descri��o da classe * * @author R�mulo Aur�lio * @date 20/03/2007 */ public class AlterarSituacaoLigacaoAction extends GcomAction { /** * [UC0555] Alterar Situacao da Ligacao * * Este caso de uso permite alterar a situacao da ligacao de agua e/ou * esgoto de acordo com o indicadorde rede e Ordem de Servico gerada. * * * @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) { // Set no mapeamento de retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); AlterarSituacaoLigacaoActionForm form = (AlterarSituacaoLigacaoActionForm) actionForm; //eeIntegracaoComercialHelper integracaoComercialHelper = new IntegracaoComercialHelper(); OrdemServico ordemServico = (OrdemServico) sessao .getAttribute("ordemServico"); boolean veioEncerrarOS = false; // Usuario logado no sistema Usuario usuarioLogado = (Usuario) sessao.getAttribute("usuarioLogado"); String idOrdemServico = form.getIdOrdemServico(); String indicadorTipoLigacao = form.getIndicadorTipoLigacao(); String idSituacaoLigacaoAguaNova = form.getSituacaoLigacaoAguaNova(); String idSituacaoLigacaoEsgotoNova = form .getSituacaoLigacaoEsgotoNova(); if (idOrdemServico == null) { throw new ActionServletException("atencao.required", null, "Ordem de Servi�o"); } if (indicadorTipoLigacao == null) { throw new ActionServletException("atencao.required", null, "Tipo de Ligacao a ser Removida"); } if (indicadorTipoLigacao == null) { throw new ActionServletException("atencao.required", null, "Tipo de Ligacao a ser Removida"); } if (indicadorTipoLigacao != null){ if(indicadorTipoLigacao.equalsIgnoreCase("1") && idSituacaoLigacaoAguaNova.equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)) { throw new ActionServletException("atencao.required", null, "Nova Situa��o da Liga��o de �gua"); } } if (indicadorTipoLigacao != null){ if(indicadorTipoLigacao.equalsIgnoreCase("2") && idSituacaoLigacaoEsgotoNova.equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)) { throw new ActionServletException("atencao.required", null, "Nova Situa��o da Liga��o de Esgoto"); } } if (indicadorTipoLigacao != null){ if(indicadorTipoLigacao.equalsIgnoreCase("3") && idSituacaoLigacaoAguaNova.equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO) && idSituacaoLigacaoEsgotoNova.equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)) { throw new ActionServletException("atencao.required", null, "Nova Situa��o da Liga��o de �gua e de Esgoto"); } } fachada.validarOrdemServicoAlterarSituacaoLigacao(ordemServico,veioEncerrarOS); Imovel imovel = ordemServico.getImovel(); FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.ID, imovel.getId())); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("ligacaoAgua"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("ligacaoEsgoto"); Collection colecaoImovel = fachada.pesquisar(filtroImovel, Imovel.class .getName()); imovel = (Imovel) colecaoImovel.iterator().next(); Integer idImovel = fachada.alterarSituacaoLigacao( imovel, indicadorTipoLigacao, idSituacaoLigacaoAguaNova, idSituacaoLigacaoEsgotoNova, idOrdemServico, usuarioLogado); montarPaginaSucesso(httpServletRequest, "A Altera��o da Situa��o da Liga��o do Im�vel " + idImovel+ " efetuada com sucesso.", "Alterar outra Situa��o da Liga��o", "exibirAlterarSituacaoLigacaoAction.do?menu=sim"); return retorno; } }