package gcom.gui.relatorio.cadastro.micromedicao; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC0997] Gerar Resumo de Liga��es por Capacidade de Hidr�metro * * @author Hugo Leonardo * * @date 29/03/2010 */ public class ExibirGerarRelatorioResumoLigacoesCapacidadeHidrometroAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("exibirGerarRelatorioResumoLigacoesCapacidadeHidrometroAction"); GerarRelatorioResumoLigacoesCapacidadeHidrometroActionForm form = (GerarRelatorioResumoLigacoesCapacidadeHidrometroActionForm) actionForm; //Primeira vez que carrega a pagina if ( httpServletRequest.getParameter("menu") != null && httpServletRequest.getParameter("menu").equals("sim")) { } this.pesquisarGerenciaRegional(httpServletRequest,form); this.pesquisarUnidadeNegocio(httpServletRequest,form); //Seta os request�s encontrados this.setaRequest(httpServletRequest,form); // Pega os codigos que o usuario digitou para a pesquisa direta de // localidade if (form.getIdLocalidade() != null && !form.getIdLocalidade().trim().equals("")) { pesquisarLocalidade( httpServletRequest, form); } return retorno; } private void setaRequest(HttpServletRequest httpServletRequest, GerarRelatorioResumoLigacoesCapacidadeHidrometroActionForm form){ //Localidade Inicial if(form.getIdLocalidade() != null && !form.getIdLocalidade().equals("") && form.getNomeLocalidade() != null && !form.getNomeLocalidade().equals("")){ httpServletRequest.setAttribute("localidadeEncontrada","true"); } } // -------[FS0002 - VERIFICAR EXISTENCIA DE DADOS] ---- LOCALIDADE private void pesquisarLocalidade(HttpServletRequest httpServletRequest, GerarRelatorioResumoLigacoesCapacidadeHidrometroActionForm form) { Fachada fachada = Fachada.getInstancia(); // Pesquisa a localidade na base FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, form.getIdLocalidade())); Collection<Localidade> localidadePesquisada = fachada.pesquisar( filtroLocalidade, Localidade.class.getName()); // Se nenhuma localidade for encontrada a mensagem � enviada para a // p�gina if (localidadePesquisada != null && !localidadePesquisada.isEmpty()) { Localidade localidade = (Localidade) Util.retonarObjetoDeColecao(localidadePesquisada); form.setIdLocalidade(""+localidade.getId()); form.setNomeLocalidade(localidade.getDescricao()); } else { form.setIdLocalidade(""); form.setNomeLocalidade("LOCALIDADE INEXISTENTE"); httpServletRequest.setAttribute("localidadeInexistente",true); httpServletRequest.setAttribute("nomeCampo", "idLocalidade"); } } // -------[FS0001 - VERIFICAR EXISTENCIA DE DADOS] ---- UNIDADE DE NEGOCIO private void pesquisarUnidadeNegocio(HttpServletRequest httpServletRequest, GerarRelatorioResumoLigacoesCapacidadeHidrometroActionForm form){ FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.setConsultaSemLimites(true); filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME); filtroUnidadeNegocio.adicionarParametro( new ParametroSimples(FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoUnidadeNegocio = this.getFachada().pesquisar(filtroUnidadeNegocio,UnidadeNegocio.class.getName()); if (colecaoUnidadeNegocio == null || colecaoUnidadeNegocio.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Unidade de Neg�cio"); } else { httpServletRequest.setAttribute("colecaoUnidadeNegocio",colecaoUnidadeNegocio); } } // -------[FS0001 - VERIFICAR EXISTENCIA DE DADOS] ---- GERENCIA REGIONAL private void pesquisarGerenciaRegional(HttpServletRequest httpServletRequest, GerarRelatorioResumoLigacoesCapacidadeHidrometroActionForm form){ FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.setConsultaSemLimites(true); filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.NOME); filtroGerenciaRegional.adicionarParametro( new ParametroSimples(FiltroGerenciaRegional.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoGerenciaRegional = this.getFachada().pesquisar(filtroGerenciaRegional,GerenciaRegional.class.getName()); if (colecaoGerenciaRegional == null || colecaoGerenciaRegional.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Ger�ncia Regional"); } else { httpServletRequest.setAttribute("colecaoGerenciaRegional",colecaoGerenciaRegional); } } }