package gcom.gui.relatorio.atendimentopublico.ordemservico; import gcom.cadastro.empresa.Empresa; import gcom.cadastro.empresa.FiltroEmpresa; import gcom.cadastro.geografico.FiltroMicrorregiao; import gcom.cadastro.geografico.FiltroMunicipio; import gcom.cadastro.geografico.FiltroRegiao; import gcom.cadastro.geografico.Microrregiao; import gcom.cadastro.geografico.Municipio; import gcom.cadastro.geografico.Regiao; 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.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 javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC1163] Gerar Relat�rio de OS executadas por Prestadora de Servi�o - Exibir * * @author Vivianne Sousa * * @date 12/04/2011 */ public class ExibirGerarRelatorioOSExecutadasPrestadoraServicoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("exibirGerarRelatorioOSExecutadasPrestadoraServico"); HttpSession sessao = httpServletRequest.getSession(false); GerarRelatorioOSExecutadasPrestadoraServicoActionForm form = (GerarRelatorioOSExecutadasPrestadoraServicoActionForm) actionForm; String menu = httpServletRequest.getParameter("menu"); if (menu != null && !menu.equalsIgnoreCase("")){ pesquisarRegiao(sessao); pesquisarMicroregiao(sessao); pesquisarMunicipio(sessao); form.setPeriodoEncerramentoInicial(""); form.setPeriodoEncerramentoFinal(""); form.setEmpresa("" + ConstantesSistema.NUMERO_NAO_INFORMADO); form.setIdGerencia("" + ConstantesSistema.NUMERO_NAO_INFORMADO); form.setIdUnidadeNegocio("" + ConstantesSistema.NUMERO_NAO_INFORMADO); form.setCodigoLocalidade(""); form.setDescricaoLocalidade(""); form.setColecaoRegiao(null); form.setColecaoMicrorregiao(null); form.setColecaoMunicipio(null); form.setOpcaoRelatorio("2"); } pesquisarEmpresa(form); pesquisarGerenciaRegional(httpServletRequest); pesquisarUnidadeNegocio(httpServletRequest,form); String codigoLocalidade = httpServletRequest.getParameter("codigoLocalidade"); if (codigoLocalidade != null && !codigoLocalidade.trim().equals("")) { pesquisarLocalidade(codigoLocalidade, httpServletRequest); } return retorno; } /** * @author Vivianne Sousa * @date 13/04/2011 */ private void pesquisarEmpresa(GerarRelatorioOSExecutadasPrestadoraServicoActionForm form) { FiltroEmpresa filtroEmpresa = new FiltroEmpresa(); filtroEmpresa.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, new Integer(13))); // filtroEmpresa.adicionarParametro(new ParametroSimples( // FiltroEmpresa.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroEmpresa.setCampoOrderBy(FiltroEmpresa.DESCRICAO); Collection<Empresa> colecaoEmpresa = this.getFachada().pesquisar(filtroEmpresa, Empresa.class.getName()); Empresa empresa = (Empresa)Util.retonarObjetoDeColecao(colecaoEmpresa); // [FS0001 - Verificar Existencia de dados] if ( (colecaoEmpresa == null) || (colecaoEmpresa.size() == 0) ) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, Empresa.class.getName()); }else { form.setEmpresa(empresa.getDescricao()); } } /** * @author Vivianne Sousa * @date 13/04/2011 */ 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); } } /** * @author Vivianne Sousa * @date 13/04/2011 */ private void pesquisarUnidadeNegocio(HttpServletRequest httpServletRequest, GerarRelatorioOSExecutadasPrestadoraServicoActionForm form){ FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.setConsultaSemLimites(true); filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME); if(form.getIdGerencia() != null && !form.getIdGerencia().equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ filtroUnidadeNegocio.adicionarParametro( new ParametroSimples(FiltroUnidadeNegocio.ID_GERENCIA, form.getIdGerencia())); } 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); } } /** * @author Vivianne Sousa * @date 13/04/2011 */ private void pesquisarRegiao(HttpSession sessao){ FiltroRegiao filtroRegiao = new FiltroRegiao(); filtroRegiao.setCampoOrderBy(FiltroRegiao.DESCRICAO); Collection<Regiao> colecaoRegiao = this.getFachada().pesquisar(filtroRegiao,Regiao.class.getName()); if (colecaoRegiao == null || colecaoRegiao.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Regi�o"); } else { sessao.setAttribute("colecaoRegiao",colecaoRegiao); } } /** * @author Vivianne Sousa * @date 13/04/2011 */ private void pesquisarMicroregiao(HttpSession sessao){ FiltroMicrorregiao filtroMicrorregiao = new FiltroMicrorregiao(); filtroMicrorregiao.setCampoOrderBy(FiltroMicrorregiao.DESCRICAO); Collection<Microrregiao> colecaoMicrorregiao = this.getFachada().pesquisar(filtroMicrorregiao,Microrregiao.class.getName()); if (colecaoMicrorregiao == null || colecaoMicrorregiao.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Microregi�o"); } else { sessao.setAttribute("colecaoMicrorregiao",colecaoMicrorregiao); } } /** * @author Vivianne Sousa * @date 13/04/2011 */ private void pesquisarMunicipio(HttpSession sessao){ FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.setCampoOrderBy(FiltroMunicipio.NOME); Collection<Municipio> colecaoMunicipio = this.getFachada().pesquisar(filtroMunicipio,Municipio.class.getName()); if (colecaoMunicipio == null || colecaoMunicipio.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Munic�pio"); } else { sessao.setAttribute("colecaoMunicipio",colecaoMunicipio); } } /** * Pesquisa uma localidade informada e prepara os dados para exibi��o na tela * @author Vivianne Sousa * @date 13/04/2011 */ private void pesquisarLocalidade(String idLocalidade, HttpServletRequest httpServletRequest) { Fachada fachada = Fachada.getInstancia(); // Pesquisa a localidade na base FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, idLocalidade)); 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()) { // [FS0001 - Verificar exist�ncia de dados] httpServletRequest.setAttribute("codigoLocalidade", ""); httpServletRequest.setAttribute("descricaoLocalidade","Localidade Inexistente".toUpperCase()); } // obtem o imovel pesquisado if (localidadePesquisada != null && !localidadePesquisada.isEmpty()) { Localidade localidade = localidadePesquisada.iterator().next(); // Manda a Localidade pelo request httpServletRequest.setAttribute("codigoLocalidade", idLocalidade); httpServletRequest.setAttribute("descricaoLocalidade", localidade.getDescricao()); } } }