package gcom.gui.atendimentopublico.registroatendimento; import gcom.atendimentopublico.ligacaoagua.FiltroDiametroLigacao; import gcom.atendimentopublico.ligacaoagua.FiltroLigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoagua.FiltroMaterialLigacao; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgotoSituacao; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoSituacao; import gcom.atendimentopublico.registroatendimento.EspecificacaoImovSitCriterio; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; import java.util.Iterator; 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; /** * [UC0404] - Manter Especifica��o da Situa��o do Im�vel * * [SB0001] - Atualizar Especifica��o da situa��o Criterio Imovel * * @author Rafael Pinto * * @date 09/11/2006 */ public class ExibirAtualizarEspecificacaoSituacaoCriterioImovelAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("atualizarEspecificacaoSituacaoCriterioImovel"); AtualizarEspecificacaoSituacaoImovelActionForm form = (AtualizarEspecificacaoSituacaoImovelActionForm) actionForm; HttpSession sessao = this.getSessao(httpServletRequest); String idAtualizar = null; String tipoOperacao = httpServletRequest.getParameter("tipoOperacao"); if(tipoOperacao != null && !tipoOperacao.equals("")){ idAtualizar = form.getIdAtualizar(); int index = 0; for (Iterator iter = form.getEspecificacaoImovelSituacaoCriterio().iterator(); iter.hasNext();) { index++; if (idAtualizar.equals(""+index)) { EspecificacaoImovSitCriterio novaEspecificacaoImovSitCriterio = new EspecificacaoImovSitCriterio(); if(form.getIndicadorHidrometroLigacaoAgua() != null && !form.getIndicadorHidrometroLigacaoAgua().equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ novaEspecificacaoImovSitCriterio.setIndicadorHidrometroLigacaoAgua( new Short(form.getIndicadorHidrometroLigacaoAgua())); } if(form.getIndicadorHidrometroPoco() != null && !form.getIndicadorHidrometroPoco().equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ novaEspecificacaoImovSitCriterio.setIndicadorHidrometroPoco( new Short(form.getIndicadorHidrometroPoco())); } if(form.getSituacaoLigacaoAgua() != null && !form.getSituacaoLigacaoAgua().equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ Integer idSituacaoLigacaoAgua = new Integer(form.getSituacaoLigacaoAgua()); LigacaoAguaSituacao ligacaoAguaSituacao = this.retornaLigacaoAguaSituacao(sessao,idSituacaoLigacaoAgua); novaEspecificacaoImovSitCriterio.setLigacaoAguaSituacao(ligacaoAguaSituacao); } if(form.getSituacaoLigacaoEsgoto() != null && !form.getSituacaoLigacaoEsgoto().equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ Integer idSituacaoLigacaoEsgoto = new Integer(form.getSituacaoLigacaoEsgoto()); LigacaoEsgotoSituacao ligacaoEsgotoSituacao = this.retornaLigacaoEsgotoSituacao(sessao,idSituacaoLigacaoEsgoto); novaEspecificacaoImovSitCriterio.setLigacaoEsgotoSituacao(ligacaoEsgotoSituacao); } // Faz as valida��es de inser��o de especificao situacao imovel this.getFachada().validarExibirInsercaoEspecificacaoImovSitCriterio( form.getEspecificacaoImovelSituacaoCriterio(),novaEspecificacaoImovSitCriterio); EspecificacaoImovSitCriterio especificacaoImovSitCriterio = (EspecificacaoImovSitCriterio) iter.next(); especificacaoImovSitCriterio.setIndicadorHidrometroLigacaoAgua( novaEspecificacaoImovSitCriterio.getIndicadorHidrometroLigacaoAgua()); especificacaoImovSitCriterio.setIndicadorHidrometroPoco( novaEspecificacaoImovSitCriterio.getIndicadorHidrometroPoco()); especificacaoImovSitCriterio.setLigacaoAguaSituacao( novaEspecificacaoImovSitCriterio.getLigacaoAguaSituacao()); especificacaoImovSitCriterio.setLigacaoEsgotoSituacao( novaEspecificacaoImovSitCriterio.getLigacaoEsgotoSituacao()); especificacaoImovSitCriterio.setUltimaAlteracao(new Date()); httpServletRequest.setAttribute("fechaPopup", "true"); }//fim do if index } }else{ idAtualizar = httpServletRequest.getParameter("idAtualizar"); EspecificacaoImovSitCriterio especificacaoImovSitCriterio = null; int index = 0; for (Iterator iter = form.getEspecificacaoImovelSituacaoCriterio().iterator(); iter.hasNext();) { index++; EspecificacaoImovSitCriterio element = (EspecificacaoImovSitCriterio) iter.next(); if (idAtualizar.equals(""+index)) { especificacaoImovSitCriterio = element; break; } } form.setIdAtualizar(idAtualizar); form.setIdEspecificacaoCriterio(""+especificacaoImovSitCriterio.getId()); if(especificacaoImovSitCriterio.getIndicadorHidrometroLigacaoAgua() != null){ form.setIndicadorHidrometroLigacaoAgua( ""+especificacaoImovSitCriterio.getIndicadorHidrometroLigacaoAgua()); } if(especificacaoImovSitCriterio.getIndicadorHidrometroPoco() != null){ form.setIndicadorHidrometroPoco( ""+especificacaoImovSitCriterio.getIndicadorHidrometroPoco()); } if(especificacaoImovSitCriterio.getLigacaoAguaSituacao() != null){ form.setSituacaoLigacaoAgua(""+especificacaoImovSitCriterio.getLigacaoAguaSituacao().getId()); } if(especificacaoImovSitCriterio.getLigacaoEsgotoSituacao() != null){ form.setSituacaoLigacaoEsgoto(""+especificacaoImovSitCriterio.getLigacaoEsgotoSituacao().getId()); } this.consultaSelectObrigatorio(sessao); } return retorno; } private void consultaSelectObrigatorio(HttpSession sessao){ // Filtro para o campo Situa��o Liga��o �gua Collection colecaoSituacaoLigacaoAgua = (Collection) sessao.getAttribute("colecaoSituacaoLigacaoAgua"); if(colecaoSituacaoLigacaoAgua == null){ FiltroLigacaoAguaSituacao filtroLigacaoAguaSituacao = new FiltroLigacaoAguaSituacao(); filtroLigacaoAguaSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoAguaSituacao.INDICADOR_USO,ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLigacaoAguaSituacao.setCampoOrderBy(FiltroDiametroLigacao.DESCRICAO); colecaoSituacaoLigacaoAgua = this.getFachada().pesquisar(filtroLigacaoAguaSituacao, LigacaoAguaSituacao.class.getName()); if (colecaoSituacaoLigacaoAgua != null && !colecaoSituacaoLigacaoAgua.isEmpty()) { sessao.setAttribute("colecaoSituacaoLigacaoAgua",colecaoSituacaoLigacaoAgua); } else { throw new ActionServletException("atencao.naocadastrado",null, "Situa��o Liga��o de Agua"); } } // Filtro para o campo Situacao da Liga��o Esgoto Collection colecaoSituacaoLigacaoEsgoto = (Collection) sessao.getAttribute("colecaoSituacaoLigacaoEsgoto"); if(colecaoSituacaoLigacaoEsgoto == null){ FiltroLigacaoEsgotoSituacao filtroLigacaoEsgotoSituacao = new FiltroLigacaoEsgotoSituacao(); filtroLigacaoEsgotoSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoSituacao.INDICADOR_USO,ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLigacaoEsgotoSituacao.setCampoOrderBy(FiltroMaterialLigacao.DESCRICAO); colecaoSituacaoLigacaoEsgoto = this.getFachada().pesquisar(filtroLigacaoEsgotoSituacao, LigacaoEsgotoSituacao.class.getName()); if (colecaoSituacaoLigacaoEsgoto != null && !colecaoSituacaoLigacaoEsgoto.isEmpty()) { sessao.setAttribute("colecaoSituacaoLigacaoEsgoto",colecaoSituacaoLigacaoEsgoto); } else { throw new ActionServletException("atencao.naocadastrado",null, "Situa��o Liga��o de Esgoto"); } } } //retorna LigacaoAguaSituacao pelo id na colecao de ligacaoAguaSituacao private LigacaoAguaSituacao retornaLigacaoAguaSituacao(HttpSession sessao,Integer id){ LigacaoAguaSituacao retorno = null; Collection colecao = (Collection) sessao.getAttribute("colecaoSituacaoLigacaoAgua"); if(colecao != null && !colecao.isEmpty()){ Iterator itera = colecao.iterator(); while (itera.hasNext()) { LigacaoAguaSituacao ligacaoAguaSituacao = (LigacaoAguaSituacao) itera.next(); if(ligacaoAguaSituacao.getId().intValue() == id.intValue()){ retorno = ligacaoAguaSituacao; break; } } } return retorno; } //retorna LigacaoEsgotoSituacao pelo id na colecao de ligacaoEsgotoSituacao private LigacaoEsgotoSituacao retornaLigacaoEsgotoSituacao(HttpSession sessao,Integer id){ LigacaoEsgotoSituacao retorno = null; Collection colecao = (Collection) sessao.getAttribute("colecaoSituacaoLigacaoEsgoto"); if(colecao != null && !colecao.isEmpty()){ Iterator itera = colecao.iterator(); while (itera.hasNext()) { LigacaoEsgotoSituacao ligacaoEsgotoSituacao = (LigacaoEsgotoSituacao) itera.next(); if(ligacaoEsgotoSituacao.getId().intValue() == id.intValue()){ retorno = ligacaoEsgotoSituacao; break; } } } return retorno; } }