package gcom.gui.relatorio.gerencial.faturamento; import gcom.cadastro.geografico.FiltroMunicipio; import gcom.cadastro.geografico.Municipio; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroQuadra; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.UnidadeNegocio; 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; /** * [UC01017] Gerar Resumo com Dados Para o CAS * * @author Daniel Alves * * @date 30/04/2010 */ public class ExibirGerarResumoDadosCasAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("gerarResumoDadosCas"); ExibirGerarResumoDadosCasActionForm form = (ExibirGerarResumoDadosCasActionForm) actionForm; // Flag indicando que o usu�rio fez uma consulta a partir da tecla Enter String objetoConsulta = httpServletRequest.getParameter("objetoConsulta"); if (objetoConsulta != null && !objetoConsulta.trim().equals("")){ // Pesquisar Localidade if(objetoConsulta.trim().equals("2")){ this.pesquisarLocalidade(form); // Pesquisar Munic�pio }else if(objetoConsulta.trim().equals("3")){ this.pesquisarMunicipio(form); } } this.pesquisarGerenciaRegional(httpServletRequest); this.pesquisarUnidadeNegocio(httpServletRequest,form); //Seta os request�s encontrados this.setaRequest(httpServletRequest,form); return retorno; } /** * Pesquisa Localidade * * @author Rafael Pinto * @date 23/11/2007 */ private void pesquisarLocalidade(ExibirGerarResumoDadosCasActionForm form) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro( new ParametroSimples(FiltroLocalidade.ID, form.getLocalidade())); // Recupera Localidade Collection colecaoLocalidade = this.getFachada().pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoLocalidade != null && !colecaoLocalidade.isEmpty()) { Localidade localidade = (Localidade) Util.retonarObjetoDeColecao(colecaoLocalidade); form.setLocalidade(localidade.getId().toString()); form.setNomeLocalidade(localidade.getDescricao()); } else { form.setLocalidade(null); form.setNomeLocalidade("Localidade inexistente"); } } /** * Pesquisa Unidade Negocio * * @author Rafael Pinto * @date 23/11/2007 */ private void pesquisarUnidadeNegocio(HttpServletRequest httpServletRequest, ExibirGerarResumoDadosCasActionForm 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); } } /** * Seta os request com os id encontrados * * @author Rafael Pinto * @date 23/11/2007 */ private void setaRequest(HttpServletRequest httpServletRequest, ExibirGerarResumoDadosCasActionForm form){ //Localidade if(form.getLocalidade() != null && !form.getLocalidade().equals("") && form.getNomeLocalidade() != null && !form.getNomeLocalidade().equals("")){ httpServletRequest.setAttribute("localidadeEncontrada","true"); } if(form.getMunicipio() != null && !form.getMunicipio().equals("") && form.getDescricaoMunicipio() != null && !form.getDescricaoMunicipio().equals("")){ httpServletRequest.setAttribute("corMunicipio","true"); } } /** * Pesquisa Gerencial Regional * * @author Rafael Pinto * @date 23/11/2007 */ private void pesquisarGerenciaRegional(HttpServletRequest httpServletRequest){ FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.setConsultaSemLimites(true); filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.NOME); filtroGerenciaRegional.adicionarParametro( new ParametroSimples(FiltroQuadra.INDICADORUSO, 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); } } /** * Pesquisa Munic�pio Principal * * @author Diogo Peixoto * @date 29/03/2011 */ private void pesquisarMunicipio(ExibirGerarResumoDadosCasActionForm form) { FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro( new ParametroSimples(FiltroMunicipio.ID, new Integer(form.getMunicipio()))); // Pesquisa de acordo com os par�metros informados no filtro Collection colecaoMunicipio = this.getFachada().pesquisar(filtroMunicipio,Municipio.class.getName()); // Verifica se a pesquisa retornou algum objeto para a cole��o if (colecaoMunicipio != null && !colecaoMunicipio.isEmpty()) { // Obt�m o objeto da cole��o pesquisada Municipio municipio = (Municipio) Util.retonarObjetoDeColecao(colecaoMunicipio); form.setMunicipio(municipio.getId().toString()); form.setDescricaoMunicipio(municipio.getNome()); } else { form.setMunicipio(""); form.setDescricaoMunicipio("Munic�pio inexistente"); } } }