package gcom.gui.operacional; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.operacional.DistritoOperacional; import gcom.operacional.FiltroDistritoOperacional; import gcom.operacional.FiltroSetorAbastecimento; import gcom.operacional.FiltroSistemaAbastecimento; import gcom.operacional.SetorAbastecimento; import gcom.operacional.SistemaAbastecimento; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; 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; /** * [UC0522] Manter Distrito Operacional [SB0001]Atualizar Distrito Operacional * * @author Eduardo Bianchi * @date 09/02/2007 */ public class ExibirAtualizarDistritoOperacionalAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("atualizarDistritoOperacional"); AtualizarDistritoOperacionalActionForm atualizarDistritoOperacionalActionForm = (AtualizarDistritoOperacionalActionForm)actionForm; HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); if (httpServletRequest.getParameter("pesquisarSetor") == null) { DistritoOperacional distritoOperacional = null; String idDistritoOperacional = null; if (httpServletRequest.getParameter("idDistritoOperacional") != null) { //tela do manter idDistritoOperacional = (String) httpServletRequest.getParameter("idDistritoOperacional"); sessao.setAttribute("idDistritoOperacional", idDistritoOperacional); sessao.setAttribute("caminhoRetornoVoltar", "/gsan/exibirManterDistritoOperacionalAction.do"); } else if (sessao.getAttribute("idDistritoOperacional") != null) { //tela do filtrar sessao.setAttribute("caminhoRetornoVoltar", "/gsan/exibirFiltrarDistritoOperacionalAction.do?voltar=filtrar"); idDistritoOperacional = (String) sessao.getAttribute("idDistritoOperacional"); }else if(httpServletRequest.getParameter("idRegistroInseridoAtualizar") != null){ //link na tela de sucesso do inserir municipio idDistritoOperacional = (String)httpServletRequest.getParameter("idRegistroInseridoAtualizar"); sessao.setAttribute("caminhoRetornoVoltar", "/gsan/exibirFiltrarDistritoOperacionalAction.do?menu=sim"); } if (idDistritoOperacional == null){ if (sessao.getAttribute("idRegistroAtualizar") != null){ distritoOperacional = (DistritoOperacional) sessao.getAttribute("idRegistroAtualizar"); sessao.setAttribute("caminhoRetornoVoltar", "/gsan/exibirFiltrarDistritoOperacionalAction.do?voltar=filtrar"); }else{ idDistritoOperacional = (String) httpServletRequest.getParameter("idDistritoOperacional").toString(); } } //------Inicio da parte que verifica se vem da p�gina de distrito_Operacional_manter.jsp if (distritoOperacional == null){ if (idDistritoOperacional != null && !idDistritoOperacional.equals("")) { FiltroDistritoOperacional filtroDistritoOperacional = new FiltroDistritoOperacional(); filtroDistritoOperacional.adicionarCaminhoParaCarregamentoEntidade("setorAbastecimento.sistemaAbastecimento"); filtroDistritoOperacional.adicionarCaminhoParaCarregamentoEntidade("zonaAbastecimento"); filtroDistritoOperacional.adicionarParametro(new ParametroSimples(FiltroDistritoOperacional.ID, idDistritoOperacional)); Collection colecaoDistritoOperacional = fachada.pesquisar(filtroDistritoOperacional, DistritoOperacional.class.getName()); if (colecaoDistritoOperacional != null && !colecaoDistritoOperacional.isEmpty()) { distritoOperacional = (DistritoOperacional) Util.retonarObjetoDeColecao(colecaoDistritoOperacional); } } } // ------ O Distrito Operacional foi encontrado atualizarDistritoOperacionalActionForm.setCodigoDistritoOperacional(distritoOperacional.getId().toString()); atualizarDistritoOperacionalActionForm.setDescricao(distritoOperacional.getDescricao()); atualizarDistritoOperacionalActionForm.setDescricaoAbreviada(distritoOperacional.getDescricaoAbreviada()); if ( distritoOperacional.getSetorAbastecimento() != null ){ atualizarDistritoOperacionalActionForm.setSetorAbastecimento(distritoOperacional.getSetorAbastecimento().getId().toString()); atualizarDistritoOperacionalActionForm.setSistemaAbastecimento(distritoOperacional.getSetorAbastecimento().getSistemaAbastecimento().getId().toString()); } else { atualizarDistritoOperacionalActionForm.setSetorAbastecimento(null); atualizarDistritoOperacionalActionForm.setSistemaAbastecimento(null); } atualizarDistritoOperacionalActionForm.setIndicadorUso(""+distritoOperacional.getIndicadorUso()); atualizarDistritoOperacionalActionForm.setUltimaAlteracao(Util.formatarDataComHora(distritoOperacional.getUltimaAlteracao())); sessao.setAttribute("distritoOperacional", distritoOperacional); } // ------ Fim da parte que verifica se vem da p�gina de distrito_operacional_manter.jsp // Sistema Abastecimento FiltroSistemaAbastecimento filtroSistemaAbastecimento = new FiltroSistemaAbastecimento(); filtroSistemaAbastecimento.adicionarParametro( new ParametroSimples (FiltroSistemaAbastecimento.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO) ); Collection colecaoSistemaAbastecimento = fachada.pesquisar( filtroSistemaAbastecimento, SistemaAbastecimento.class.getName()); if (colecaoSistemaAbastecimento == null || colecaoSistemaAbastecimento.isEmpty()) { throw new ActionServletException("atencao.entidade_sem_dados_para_selecao", null,"Sistema Abastecimento"); } httpServletRequest.setAttribute("colecaoSistemaAbastecimento", colecaoSistemaAbastecimento); Collection colecaoSetorAbastecimento = new ArrayList(); String sistemaAbastecimento = atualizarDistritoOperacionalActionForm.getSistemaAbastecimento(); if (sistemaAbastecimento != null && !sistemaAbastecimento.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { // Setor Abastecimento FiltroSetorAbastecimento filtroSetorAbastecimento = new FiltroSetorAbastecimento(); filtroSetorAbastecimento.adicionarParametro(new ParametroSimples (FiltroSetorAbastecimento.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroSetorAbastecimento.adicionarParametro(new ParametroSimples (FiltroSetorAbastecimento.SISTEMA_ABASTECIMENTO_ID, sistemaAbastecimento)); colecaoSetorAbastecimento = fachada.pesquisar( filtroSetorAbastecimento, SetorAbastecimento.class.getName()); } httpServletRequest.setAttribute("colecaoSetorAbastecimento", colecaoSetorAbastecimento); return retorno; } }