package gcom.gui.operacional;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.operacional.FiltroSetorAbastecimento;
import gcom.operacional.FiltroSistemaAbastecimento;
import gcom.operacional.SetorAbastecimento;
import gcom.operacional.SistemaAbastecimento;
import gcom.util.ConstantesSistema;
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;
/**
* [UC0523] FILTRAR DISTRITO OPERACIONAL
*
* @author Eduardo Bianchi
* @date 01/02/2007
*/
public class ExibirFiltrarDistritoOperacionalAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping.findForward("filtrarDistritoOperacional");
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
FiltrarDistritoOperacionalActionForm form = (FiltrarDistritoOperacionalActionForm) actionForm;
String primeiraVez = httpServletRequest.getParameter("menu");
//Verifica se a chamada veio do menu
if (primeiraVez != null && !primeiraVez.equals("")) {
sessao.setAttribute("indicadorAtualizar", "1");
form.setTipoPesquisa(ConstantesSistema.TIPO_PESQUISA_INICIAL.toString());
}
sessao.removeAttribute("idDistritoOperacional");
sessao.removeAttribute("idRegistroAtualizar");
sessao.removeAttribute("distritoOperacional");
// Verificar a existencia de dados
// 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 = form.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);
String voltar = httpServletRequest.getParameter( "voltar" );
//Se voltou da tela de Atualizar Localidade
if (voltar != null && voltar.equals("filtrar")) {
sessao.setAttribute("indicadorAtualizar", "1");
if(sessao.getAttribute("tipoPesquisa") != null){
form.setTipoPesquisa(sessao.getAttribute("tipoPesquisa").toString());
}
}
sessao.removeAttribute("voltar");
sessao.removeAttribute("tipoPesquisa");
return retorno;
}
}