package gcom.gui.relatorio.seguranca; import gcom.atendimentopublico.registroatendimento.FiltroMeioSolicitacao; import gcom.atendimentopublico.registroatendimento.MeioSolicitacao; 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.cadastro.unidade.FiltroUnidadeOrganizacional; import gcom.cadastro.unidade.UnidadeOrganizacional; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.FiltroFuncionalidade; import gcom.seguranca.acesso.FiltroOperacao; import gcom.seguranca.acesso.Funcionalidade; import gcom.seguranca.acesso.Operacao; import gcom.seguranca.acesso.usuario.FiltroUsuario; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.transacao.FiltroTabelaColuna; import gcom.seguranca.transacao.TabelaColuna; import gcom.util.ConstantesInterfaceGSAN; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; /** * [UC1074] Gerar Relat�rio Altera��es no Sistema por Coluna * * @author Hugo Amorim * @date 08/09/2010 */ public class ExibirGerarRelatorioAlteracoesSistemaColunaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o caminho de retorno ActionForward retorno = actionMapping. findForward("exibirGerarRelatorioAlteracoesSistemaColunaAction"); GerarRelatorioAlteracoesSistemaColunaForm form = (GerarRelatorioAlteracoesSistemaColunaForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); if(httpServletRequest.getParameter("tipoRelatorio")!=null){ String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); httpServletRequest.setAttribute("tipoRelatorio", tipoRelatorio); form.setTipoRelatorio(tipoRelatorio); } // Valida se adicionou ou n�o unidade organizacional //no AdicionarUnidadeOrganizacionalAction if(httpServletRequest.getAttribute("ADICIONOU")!=null){ boolean adicionou = (Boolean) httpServletRequest.getAttribute("ADICIONOU"); if(adicionou){ form.setIdUnidadeOrganizacional(""); form.setDescUnidadeOrganizacional(""); }else{ form.setIdUnidadeOrganizacional(""); form.setDescUnidadeOrganizacional("UNIDADE J� EXISTE."); } } //Verificaca se houve pesquisa na tela por id's this.verificarPesquisasPorEnter(form,sessao); //Se tipo Relatorio estiver como nulo. if(form.getTipoRelatorio()==null){ //Tipo Relatorio DEFAULT - Usu�rio form.setTipoRelatorio("1"); } //Se periodo final estiver como nulo. if(httpServletRequest.getParameter("menu")!=null){ //Seta data atual como valor form.setPeriodoFinal(Util.formatarData(new Date())); } // Pesquisar Meios de Solicita��o //para apresenta��o no filtro. if(Util.isVazioOrNulo(form.getColecaoMeiosSolicitacao())){ FiltroMeioSolicitacao filtroMeioSolicitacao = new FiltroMeioSolicitacao(); filtroMeioSolicitacao.adicionarParametro( new ParametroSimples(FiltroMeioSolicitacao.INDICADOR_USO,ConstantesSistema.INDICADOR_USO_ATIVO)); filtroMeioSolicitacao.setCampoOrderBy(FiltroMeioSolicitacao.DESCRICAO); Collection<MeioSolicitacao> colecaoMeiosSolicitacao = this.getFachada().pesquisar(filtroMeioSolicitacao, MeioSolicitacao.class.getName()); if(!Util.isVazioOrNulo(colecaoMeiosSolicitacao)){ form.setColecaoMeiosSolicitacao(colecaoMeiosSolicitacao); } } return retorno; } private void verificarPesquisasPorEnter( GerarRelatorioAlteracoesSistemaColunaForm form, HttpSession sessao) { //Pesquisar Localidade if(Util.verificarNaoVazio(form.getIdLocalidade())){ pesquisarLocalidade(form,sessao); } //Pesquisar Funcionalidade e opera��es herdeiras if(Util.verificarNaoVazio(form.getIdFuncionalidade())){ pesquisarFuncionalidade(form,sessao); } //Caso n�o encontre limpa as opera��es. else{ form.setColecaoOperacoes(null); } //Pesquisar Coluna if(Util.verificarNaoVazio(form.getIdColuna())){ pesquisarColuna(form,sessao); } //Pesquisar Unidade Superior if(Util.verificarNaoVazio(form.getIdUnidadeSuperior())){ pesquisarUnidadeSuperior(form,sessao); } //Pesquisar Unidade Organizacional if(Util.verificarNaoVazio(form.getIdUnidadeOrganizacional())){ pesquisarUnidadeOrganizacional(form,sessao); } //Pesquisar Usuario if(Util.verificarNaoVazio(form.getIdUsuario())){ pesquisarUsuario(form,sessao); } //Pesquisar Gerencia Regional if(Util.verificarNaoVazio(form.getIdGerenciaRegional())){ pesquisarGerenciaRegional(form,sessao); } //Pesquisar Unidade Neg�cio if (sessao.getAttribute("colecaoUnidadeNegocio") == null){ pesquisarUnidadeNegocio(form,sessao); } //Pesquisar Localidade if(Util.verificarNaoVazio(form.getIdLocalidade())){ pesquisarLocalidade(form,sessao); } } private void pesquisarUnidadeNegocio(GerarRelatorioAlteracoesSistemaColunaForm form, HttpSession sessao){ FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.setConsultaSemLimites(true); filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME); filtroUnidadeNegocio.adicionarParametro( new ParametroSimples(FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<UnidadeNegocio> colecaoUnidadeNegocio = this.getFachada().pesquisar(filtroUnidadeNegocio,UnidadeNegocio.class.getName()); if ( Util.isVazioOrNulo(colecaoUnidadeNegocio)) { throw new ActionServletException(ConstantesInterfaceGSAN.ATENCAO_NAO_CADASTRADO, ConstantesInterfaceGSAN.LABEL_GSAN_UNIDADE_NEGOCIO); } sessao.setAttribute("colecaoUnidadeNegocio", colecaoUnidadeNegocio); } private void pesquisarGerenciaRegional(GerarRelatorioAlteracoesSistemaColunaForm form, HttpSession sessao){ FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.adicionarParametro(new ParametroSimples(FiltroGerenciaRegional.ID,form.getIdGerenciaRegional())); Collection<GerenciaRegional> colecaoGerenciaRegional = this.getFachada().pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName()); if ( Util.isVazioOrNulo(colecaoGerenciaRegional)) { form.setIdGerenciaRegional(""); form.setDescGerenciaRegional("Ger�ncia Regional Inexistente"); sessao.removeAttribute("gerenciaRegionalEncontrada"); return; } GerenciaRegional gerenciaRegional = (GerenciaRegional) Util.retonarObjetoDeColecao(colecaoGerenciaRegional); form.setIdGerenciaRegional(gerenciaRegional.getId().toString()); form.setDescGerenciaRegional(gerenciaRegional.getNome()); sessao.setAttribute("gerenciaRegionalEncontrada",""); } private void pesquisarFuncionalidade(GerarRelatorioAlteracoesSistemaColunaForm form, HttpSession sessao){ FiltroFuncionalidade filtroFuncionalidade = new FiltroFuncionalidade(); filtroFuncionalidade.adicionarParametro(new ParametroSimples(FiltroFuncionalidade.ID, new Integer(form.getIdFuncionalidade()))); Collection<Funcionalidade> colecaoFuncionalidade = this.getFachada().pesquisar(filtroFuncionalidade, Funcionalidade.class.getName()); if ( Util.isVazioOrNulo(colecaoFuncionalidade)) { form.setIdFuncionalidade(""); form.setDescFuncionalidade("Funcionalidade Inexistente"); sessao.removeAttribute("funcionalidadeEncontrada"); return; }else{ Funcionalidade funcionalidade = (Funcionalidade) Util.retonarObjetoDeColecao(colecaoFuncionalidade); form.setIdFuncionalidade(funcionalidade.getId().toString()); form.setDescFuncionalidade(funcionalidade.getDescricao()); sessao.setAttribute("funcionalidadeEncontrada",""); FiltroOperacao filtroOperacao = new FiltroOperacao(); filtroOperacao.adicionarParametro(new ParametroSimples(FiltroOperacao.FUNCIONALIDADE_ID ,funcionalidade.getId())); Collection<Operacao> colecaoOperacoes = this.getFachada().pesquisar(filtroOperacao, Operacao.class.getName()); form.setColecaoOperacoes(colecaoOperacoes); } } private void pesquisarLocalidade(GerarRelatorioAlteracoesSistemaColunaForm form, HttpSession sessao){ FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.ID,form.getIdLocalidade())); filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.INDICADORUSO ,ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<Localidade> colecaoLocalidade = this.getFachada().pesquisar(filtroLocalidade, Localidade.class.getName()); if ( Util.isVazioOrNulo(colecaoLocalidade)) { form.setIdLocalidade(""); form.setDescLocalidade("Localidade Inexistente"); sessao.removeAttribute("localidadeEncontrada"); return; } Localidade localidade = (Localidade) Util.retonarObjetoDeColecao(colecaoLocalidade); form.setIdLocalidade(localidade.getId().toString()); form.setDescLocalidade(localidade.getDescricao()); sessao.setAttribute("localidadeEncontrada",""); } private void pesquisarColuna(GerarRelatorioAlteracoesSistemaColunaForm form, HttpSession sessao){ FiltroTabelaColuna filtroTabelaColuna = new FiltroTabelaColuna(); filtroTabelaColuna.adicionarParametro(new ParametroSimples(FiltroTabelaColuna.ID,form.getIdColuna())); Collection<TabelaColuna> colecaoTabelaColuna = this.getFachada().pesquisar(filtroTabelaColuna, TabelaColuna.class.getName()); if ( Util.isVazioOrNulo(colecaoTabelaColuna)) { form.setIdColuna(""); form.setDescColuna("Coluna Inexistente"); sessao.removeAttribute("colunaEncontrada"); return; } TabelaColuna tabelaColuna = (TabelaColuna) Util.retonarObjetoDeColecao(colecaoTabelaColuna); form.setIdColuna(tabelaColuna.getId().toString()); form.setDescColuna(tabelaColuna.getDescricaoColuna()); sessao.setAttribute("colunaEncontrada",""); } private void pesquisarUnidadeSuperior(GerarRelatorioAlteracoesSistemaColunaForm form, HttpSession sessao){ FiltroUnidadeOrganizacional filtroUnidadeOrganizacional = new FiltroUnidadeOrganizacional(); filtroUnidadeOrganizacional.adicionarParametro(new ParametroSimples( FiltroUnidadeOrganizacional.ID_UNIDADE_SUPERIOR, new Integer(form.getIdUnidadeSuperior()))); filtroUnidadeOrganizacional.adicionarCaminhoParaCarregamentoEntidade( FiltroUnidadeOrganizacional.UNIDADE_SUPERIOR); Collection colecaoUnidadeSuperior = this.getFachada().pesquisar( filtroUnidadeOrganizacional, UnidadeOrganizacional.class.getName()); if ( Util.isVazioOrNulo(colecaoUnidadeSuperior)) { form.setIdUnidadeSuperior(""); form.setDescUnidadeSuperior("Unidade Superior Inexistente"); sessao.removeAttribute("unidadeSuperiorEncontrada"); return; } UnidadeOrganizacional unidadeOrganizacional = (UnidadeOrganizacional) Util.retonarObjetoDeColecao(colecaoUnidadeSuperior); form.setIdUnidadeSuperior(unidadeOrganizacional.getUnidadeSuperior().getId().toString()); form.setDescUnidadeSuperior(unidadeOrganizacional.getUnidadeSuperior().getDescricao()); sessao.setAttribute("unidadeSuperiorEncontrada",""); } private void pesquisarUnidadeOrganizacional(GerarRelatorioAlteracoesSistemaColunaForm form, HttpSession sessao){ FiltroUnidadeOrganizacional filtroUnidadeOrganizacional = new FiltroUnidadeOrganizacional(); filtroUnidadeOrganizacional.adicionarParametro(new ParametroSimples( FiltroUnidadeOrganizacional.ID, new Integer(form.getIdUnidadeOrganizacional()))); Collection colecaoUnidadeOrganizacional = this.getFachada().pesquisar( filtroUnidadeOrganizacional, UnidadeOrganizacional.class.getName()); if ( Util.isVazioOrNulo(colecaoUnidadeOrganizacional)) { form.setIdUnidadeOrganizacional(""); form.setDescUnidadeOrganizacional("Unidade Organizacional Inexistente"); sessao.removeAttribute("unidadeOrganizacionalEncontrada"); return; } UnidadeOrganizacional unidadeOrganizacional = (UnidadeOrganizacional) Util.retonarObjetoDeColecao(colecaoUnidadeOrganizacional); form.setIdUnidadeOrganizacional(unidadeOrganizacional.getId().toString()); form.setDescUnidadeOrganizacional(unidadeOrganizacional.getDescricao()); sessao.setAttribute("unidadeOrganizacionalEncontrada",""); } private void pesquisarUsuario(GerarRelatorioAlteracoesSistemaColunaForm form, HttpSession sessao){ FiltroUsuario filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ParametroSimples( FiltroUnidadeOrganizacional.ID, new Integer(form.getIdUsuario()))); Collection colecaoUsuario = this.getFachada().pesquisar( filtroUsuario, Usuario.class.getName()); if ( Util.isVazioOrNulo(colecaoUsuario)) { form.setIdUsuario(""); form.setDescUsuario("Usuario Inexistente"); sessao.removeAttribute("usuarioEncontrado"); return; } Usuario usuario = (Usuario) Util.retonarObjetoDeColecao(colecaoUsuario); form.setIdUsuario(usuario.getId().toString()); form.setDescUsuario(usuario.getNomeUsuario()); sessao.setAttribute("usuarioEncontrado",""); } }