Package ecar.dao

Source Code of ecar.dao.AbaDao

package ecar.dao;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;

import org.hibernate.HibernateException;
import org.hibernate.Transaction;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import comum.database.Dao;
import comum.util.Data;
import comum.util.Pagina;

import ecar.exception.ECARException;
import ecar.pojo.Aba;
import ecar.pojo.EstruturaEtt;
import ecar.pojo.EstruturaFuncaoEttf;
import ecar.pojo.FuncaoFun;
import ecar.pojo.TipoAcompanhamentoTa;
import ecar.util.Dominios;

/**
* @author evandro
* @since 12/05/2006
*/
public class AbaDao extends Dao {
 
    /**
     *
     * @param request
     */
    public AbaDao(HttpServletRequest request) {
    super();
    this.request = request;
  }
 
    /**
     *
     * @param request
     * @param objetos
     * @throws ECARException
     */
    @SuppressWarnings("unchecked")
  public void alterar (HttpServletRequest request, ArrayList objetos) throws ECARException {
    Transaction tx = null;
    try {
      //Altera��o para colocar as altera��es da tela de abas em uma �nica transa��o
      //ArrayList<Aba> objetos = new ArrayList<Aba>();
      //super.inicializarLogBean();
      //tx = session.beginTransaction();
     
      /* Passar por todas as abas e atualizar */
      ArrayList<Aba> lista = (ArrayList<Aba>)this.listar(Aba.class, new String[]{"codAba", "asc"});

      String[] ehPadraoRegistroArray = Pagina.getParamLista(request, "ehPadraoRegistro");
      String[] ehPadraoVisualizacaoArray = Pagina.getParamLista(request, "ehPadraoVisualizacao");
      int posicao = 0;
           
      List<String> ehPadraoRegistroLista = new ArrayList<String>();
      List<String> ehPadraoVisualizacaoLista = new ArrayList<String>();
      ehPadraoRegistroLista = Arrays.asList(ehPadraoRegistroArray);
      ehPadraoVisualizacaoLista = Arrays.asList(ehPadraoVisualizacaoArray);
         
      for(Aba aba : lista){
             
        if (Dominios.SIM.equals(Pagina.getParamStr(request, "exibePosicaoAba" + aba.getCodAba().toString()))) {
          aba.setExibePosicaoAba(Dominios.SIM);
        } else {
          aba.setExibePosicaoAba(Dominios.NAO);
        }
       
        aba.setOrdemAba(Integer.valueOf(Pagina.getParamInt(request, "ordemAba" + aba.getCodAba().toString())));
        aba.setLabelAba(Pagina.getParamStr(request, "labelAba" + aba.getCodAba().toString()));       
       
        if("".equals(Pagina.getParamStr(request, "funAba" + aba.getCodAba().toString())))
            aba.setFuncaoFun(null);
        else {
          FuncaoDao funcaoDao = new FuncaoDao(request);
          FuncaoFun funcao = (FuncaoFun)funcaoDao.buscar(FuncaoFun.class,Long.valueOf(Pagina.getParamStr(request, "funAba" + aba.getCodAba().toString())));
          aba.setFuncaoFun(funcao);
        }
       
        if (ehPadraoRegistroLista.contains(aba.getCodAba().toString())) {
          aba.setEhPadraoRegistro(Dominios.SIM);
        } else {
          aba.setEhPadraoRegistro(Dominios.NAO);
        }
       
        if (ehPadraoVisualizacaoLista.contains(aba.getCodAba().toString())) {
          aba.setEhPadraoVisualizacao(Dominios.SIM);
        } else {
          aba.setEhPadraoVisualizacao(Dominios.NAO);
        }
       
        session.update(aba);
        objetos.add(aba);
      }
     
    } catch (HibernateException e) {
      if (tx != null)
        try {
        //  tx.rollback();
        } catch (HibernateException r) {
          this.logger.error(r);
          throw new ECARException("erro.hibernateException");
        }
      this.logger.error(e);
      throw new ECARException("erro.hibernateException");
    } catch (ECARException e) {
      if (tx != null)
        try {
          //tx.rollback();
        } catch (HibernateException r) {
          this.logger.error(r);
          throw new ECARException("erro.hibernateException");
        }
      this.logger.error(e);
      throw e;
    }
  }
 
        /**
         *
         * @param request
         * @throws ECARException
         */
        @SuppressWarnings("unchecked")
  public void alterarAbaLinkHistorico (HttpServletRequest request) throws ECARException {
    Transaction tx = null;
    HistoricoDao historicoDao = new HistoricoDao(request);
    LinkDao linkDao = new LinkDao(request);
    try {
      ArrayList objetos = new ArrayList();
      super.inicializarLogBean();
      tx = session.beginTransaction();
     
      this.alterar(request, objetos);
      historicoDao.alterar(request, objetos);
      linkDao.alterar(request, objetos);
     
      tx.commit();
     
      /* log */
      if (super.logBean != null) {
        super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
        super.logBean.setOperacao("ALT");

        for (Iterator itObj = objetos.iterator(); itObj.hasNext();) {
          super.logBean.setObj(itObj.next());
          super.loggerAuditoria.info(logBean.toString());
        }
      }
    } catch (HibernateException e) {
      if (tx != null)
        try {
          tx.rollback();
        } catch (HibernateException r) {
          this.logger.error(r);
          throw new ECARException("erro.hibernateException");
        }
      this.logger.error(e);
      throw new ECARException("erro.hibernateException");
    } catch (ECARException e) {
      if (tx != null)
        try {
          tx.rollback();
        } catch (HibernateException r) {
          this.logger.error(r);
          throw new ECARException("erro.hibernateException");
        }
      this.logger.error(e);
      throw e;
    }
  }
       
    /**
     * M�todo que altera a configura��o das abas e �cones.
     * @param request
     * @throws ECARException
     */
   @SuppressWarnings("unchecked")
  public void alterarAbaLinkHistorico(List aba, List historicoConfig, List linksConfig) throws ECARException {
    Transaction tx = null;
    HistoricoDao historicoDao = new HistoricoDao(request);
    LinkDao linkDao = new LinkDao(request);
    try {
      super.inicializarLogBean();
      tx = session.beginTransaction();
     
      //this.alterar(aba);
      Iterator abaIt = aba.iterator();
      while(abaIt.hasNext()) {
          session.update(abaIt.next());
      }
     
      //historicoDao.alterar(historicoConfig);
      Iterator histIt = historicoConfig.iterator();
      while(histIt.hasNext()) {
          session.update(histIt.next());
      }
     
      //linkDao.alterar(linksConfig);
      Iterator linkIt = linksConfig.iterator();
      while(linkIt.hasNext()) {
          session.update(linkIt.next());
      }
     
      tx.commit();
    } catch (HibernateException e) {
      if (tx != null)
        try {
          tx.rollback();
        } catch (HibernateException r) {
          this.logger.error(r);
          throw new ECARException("erro.hibernateException");
        }
      this.logger.error(e);
      throw new ECARException("erro.hibernateException");
    }
  }
 
  /**
   * Verifica se a op��o Nivel Planejamento est� selecionada para exibi��o
   * em Gera��o de Per�odo de Refer�ncia ou Relat�rio
   *
   * @param opcao - String ("E" para Elabora��o Gera��o ou "P" para Relat�rio Posi��o)
   * @return boolean
   */
  @SuppressWarnings("unchecked")
  public boolean verificaNivelPlanejamento(String opcao){
    boolean retorno = false;
   
    try {
        Aba abaAux = new Aba();
        abaAux.setNomeAba("NIVEL_PLANEJAMENTO");
       
          ArrayList<Aba> lista = (ArrayList<Aba>)this.pesquisar(abaAux, new String[]{"ordemAba", "asc"});
      Iterator<Aba> it = lista.iterator();
     
      if (it.hasNext()) {
        Aba aba = (Aba) it.next();       
        if ("P".equals(opcao)) {
          if ("S".equals(aba.getExibePosicaoAba())) {
            retorno = true;
          }
        }
      }
    } catch (Exception e) {
      this.logger.error(e);
      retorno = false;
    }
   
    return retorno;
  }
 
        /**
         *
         * @return
         */
        public List getListaAbas(){
    return this.getSession().createCriteria(Aba.class)
        .add(Restrictions.eq("exibePosicaoAba",Dominios.SIM))
        .addOrder(Order.asc("ordemAba"))
        .list();
   
  }
 
 

 

        /**
         *
         * @param ta
         * @param gruposUsuario
         * @return
         */
        public List getListaAbasComAcesso(TipoAcompanhamentoTa ta, Set gruposUsuario){
    return this.getSession().createQuery(
      "select distinct aba " +
      "from Aba aba " +
      "inner join aba.tipoacompAbasSisatributoTaabasatbs acesso " +
      "where acesso.tipoAcompanhamentoTa = :ta " +
      "and aba.abaSuperior = :abaSuperior " +
      "and aba.exibePosicaoAba = :exibe " +
      "and acesso.indVisualizaAba = :le " +
      "and acesso.sisAtributoSatb in (:grupo) " +
      "order by aba.ordemAba ")
    .setParameter("ta", ta)
    .setParameter("abaSuperior", Dominios.NAO)
    .setString("exibe", Dominios.SIM)
    .setString("le", Dominios.COM_ACESSO_LEITURA)
    .setParameterList("grupo", gruposUsuario)
    .list();
  }
        /***
         * Retorna a Lista de Abas com acesso cujas funcoes de acompanhamento estao configuradas na estrutura.
         * @param ett
         * @param ta
         * @param gruposUsuario
         * @return
         */
        public List getListaAbasComAcessoConfiguradasNaEstrutura(EstruturaEtt ett, TipoAcompanhamentoTa ta, Set gruposUsuario){
         
          AbaDao abaDao = new AbaDao(null);
          List<Aba> listAbas = null;
          listAbas = abaDao.getListaAbasComAcesso(ta, gruposUsuario);
         
          List<Aba> listAbasConfiguradas = new ArrayList<Aba>();
         
          for  (Iterator it = listAbas.iterator();it.hasNext();) {
        Aba aba = (Aba) it.next();
        if(aba.getFuncaoFun()!= null){         
                EstruturaDao estruturaDao = new EstruturaDao(request);
                Set listaFuncoes = ett.getEstruturaFuncaoEttfs();
                Iterator itListaFuncoes = listaFuncoes.iterator();
                while(itListaFuncoes.hasNext()){
                  EstruturaFuncaoEttf funcao = (EstruturaFuncaoEttf) itListaFuncoes.next();
                  if(aba.getFuncaoFun().getCodFun().equals(funcao.getFuncaoFun().getCodFun())){
                    listAbasConfiguradas.add(aba);
                    break;
                  }
                }
              } else{
                listAbasConfiguradas.add(aba);
              }       
       
       
          }
          return listAbasConfiguradas;
        }
       
        /**
        *
        * @param ta
        * @param gruposUsuario
        * @return
        */
       public List getListaAbasComAcesso(TipoAcompanhamentoTa ta, Set gruposUsuario, int tipoPadraoExibicaoAba){
        
         String tipoPadrapExibicaoAbaString = "";
        
         if(tipoPadraoExibicaoAba==1)
           tipoPadrapExibicaoAbaString = "and aba.ehPadraoRegistro = :epr ";
         else if(tipoPadraoExibicaoAba==2)
           tipoPadrapExibicaoAbaString = "and aba.ehPadraoVisualizacao = :epr ";
        
         // busca aba
         List lista = this.getSession().createQuery(
            "select distinct aba " +
            "from Aba aba " +
            "inner join aba.tipoacompAbasSisatributoTaabasatbs acesso " +
            "where acesso.tipoAcompanhamentoTa = :ta " +
            "and aba.abaSuperior = :abaSuperior " +
            "and aba.exibePosicaoAba = :exibe " +
            "and acesso.indVisualizaAba = :le " +
            "and acesso.sisAtributoSatb in (:grupo) " +
            tipoPadrapExibicaoAbaString +
            "order by aba.ordemAba ")
          .setParameter("ta", ta)
          .setParameter("abaSuperior", Dominios.NAO)
          .setString("exibe", Dominios.SIM)
          .setString("le", Dominios.COM_ACESSO_LEITURA)
          .setParameterList("grupo", gruposUsuario)
          .setString("epr", Dominios.SIM)
          .list();
        
         if (lista==null || lista.size()==0) {
              
          lista = this.getSession().createQuery(
            "select distinct aba " +
            "from Aba aba " +
            "inner join aba.tipoacompAbasSisatributoTaabasatbs acesso " +
            "where acesso.tipoAcompanhamentoTa = :ta " +
            "and aba.abaSuperior = :abaSuperior " +
            "and aba.exibePosicaoAba = :exibe " +
            "and acesso.indVisualizaAba = :le " +
            "and acesso.sisAtributoSatb in (:grupo) " +
            "order by aba.ordemAba ")
          .setParameter("ta", ta)
          .setParameter("abaSuperior", Dominios.NAO)
          .setString("exibe", Dominios.SIM)
          .setString("le", Dominios.COM_ACESSO_LEITURA)
          .setParameterList("grupo", gruposUsuario)
          .list();
         }
        
    return lista;
  }
      
       
       
// 
//        /**
//        *
//        * @param ta
//        * @param gruposUsuario
//        * @return
//        */
//       public List getListaAbasComAcesso(TipoAcompanhamentoTa ta, Set gruposUsuario, boolean ehPadraoRegistro, boolean ehPadraoVisualizacao){
//    return this.getSession().createQuery(
//      "select distinct aba " +
//      "from Aba aba " +
//      "inner join aba.tipoacompAbasSisatributoTaabasatbs acesso " +
//      "where acesso.tipoAcompanhamentoTa = :ta " +
//      "and aba.abaSuperior = :abaSuperior " +
//      "and aba.exibePosicaoAba = :exibe " +
//      "and acesso.indVisualizaAba = :le " +
//      "and acesso.sisAtributoSatb in (:grupo) " +
//      "and aba.ehPadraoRegistro = :epr " +
//      "and aba.ehPadraoVisualizacao = :epv " +
//      "order by aba.ordemAba ")
//    .setParameter("ta", ta)
//    .setParameter("abaSuperior", Dominios.NAO)
//    .setString("exibe", Dominios.SIM)
//    .setString("le", Dominios.COM_ACESSO_LEITURA)
//    .setString("epr", ehPadraoRegistro?"S":"N")
//    .setString("epv", ehPadraoVisualizacao?"S":"N")
//    .setParameterList("grupo", gruposUsuario)
//    .list();
//  }
   

 
        /**
         *
         * @param ta
         * @param gruposUsuario
         * @return
         */
        public List getListaAbasSuperiorComAcesso(TipoAcompanhamentoTa ta, Set gruposUsuario) {
   
    return this.getSession().createQuery(
        "select distinct aba " +
        "from Aba aba " +
        "where aba.abaSuperior = :abaSuperior " +
        "and aba.exibePosicaoAba = :exibe " +
        "order by aba.ordemAba ")
      .setParameter("abaSuperior", Dominios.SIM)
      .setString("exibe", Dominios.SIM)
      .list();
  }

        /**
         *
         * @param nomeAba
         * @return
         */
        public Aba buscarAba(String nomeAba) {
    List <Aba> listAbas =  this.getSession().createQuery(
        "select distinct aba " +
        "from Aba aba " +
        "where nomeAba = :nomeAba " )
        .setParameter("nomeAba", nomeAba).list();
   
    if (listAbas!=null && (!listAbas.isEmpty()) ){
      return (Aba)listAbas.iterator().next();
    } else {
      return null;
    }
  }
 
        /**
         *
         * @return
         */
        public Collection<Aba>  listarSuperior(){
   
    return this.getSession().createCriteria(Aba.class)
    .add(Restrictions.eq("abaSuperior",Dominios.SIM))
    // ordem alfab�tica pelo label
    .addOrder(Order.asc("nomeAba"))
    // Este c�digo determina que a ordena��o seja feita pela ordem definida na tela pelo usuario
    //.addOrder(Order.asc("ordemAba"))
    .list();
  }
 
        /**
         *
         * @return
         */
        public Collection<Aba>  listarAbasMonitoramento(){
   
    return this.getSession().createCriteria(Aba.class)
    .add(Restrictions.eq("abaSuperior",Dominios.NAO))
    // ordem alfab�tica pelo label
    .addOrder(Order.asc("nomeAba"))
    // Este c�digo determina que a ordena��o seja feita pela ordem definida na tela pelo usuario
    //.addOrder(Order.asc("ordemAba"))
    .list();
  }
 
        /**
         *
         * @param aba
         * @param estruturaEtt
         * @return
         */
        public String getLabelAbaEstrutura(Aba aba, EstruturaEtt estruturaEtt){
   
    String labelAba = "";
    //Caso exista alguma fun��o associada a aba (na tela de "Exibi��o de Abas"), o sistema utilizar� o label definido para a fun��o na estrutura em quest�o.
        if(aba.getFuncaoFun()!= null){         
          EstruturaDao estruturaDao = new EstruturaDao(request);
          Set listaFuncoes = estruturaEtt.getEstruturaFuncaoEttfs();
          Iterator itListaFuncoes = listaFuncoes.iterator();
          while(itListaFuncoes.hasNext()){
            EstruturaFuncaoEttf funcao = (EstruturaFuncaoEttf) itListaFuncoes.next();
            if(aba.getFuncaoFun().getCodFun().equals(funcao.getFuncaoFun().getCodFun())){
              labelAba =  funcao.getLabelEttf();
              break;
            }
          }
        }

        //Quando n�o existir fun��o para a aba cadastrada na tela de "Exibi��o de Abas", o sistema utilizar� o label cadastrado na tela de exibi��o de abas.
        if (labelAba.equals(Dominios.STRING_VAZIA)){
          labelAba = aba.getLabelAba();
        }
        return labelAba;
   
  }
 
  /**
   * O sistema verifica a ordem configurada para a exibi��o das abas
   * e direciona o usu�rio para a aba de menor ordem E que o usu�rio tenha permiss�o de acesso.
   * Caso nenhuma aba esteja configurada ou nao tenha permissao, o sistema direciona para a tela Resumo, que hoje � uma tela fixa.
   *
         * @param ta
         * @param gruposUsuario
         * @param tipoPadraoExibicaoAba tipo registro ou tipo visualiza��o
         * @return String pagina
   */
  public String pesquisaEnderecoAbaRegistro(TipoAcompanhamentoTa ta, Set gruposUsuario, int tipoPadraoExibicaoAba, String nomeAbaClicada) {
   
    String pagina = "";
     
        List listAbasComAcesso = null;
        int i=0;
        String nomeAba = null;
        //vai buscar as abas com acesso
        // listAbasComAcesso = this.getListaAbasComAcesso(ta, gruposUsuario);
       
        nomeAba = nomeAbaClicada;
       
        //Caso nenhuma aba esteja configurada ou nao tenha permissao, o sistema direciona para a tela Resumo, que hoje � uma tela fixa.
      pagina = "acompanhamento/resumo/detalharItem.jsp";
       
              
        if(nomeAbaClicada==null && listAbasComAcesso == null) {
           
          // valor tipo 1 => registro 2=> visualiza��o
            listAbasComAcesso = this.getListaAbasComAcesso(ta, gruposUsuario, tipoPadraoExibicaoAba);
           
            if (listAbasComAcesso!=null && !listAbasComAcesso.isEmpty()) {
              Aba abaDirecionaRegistro = (Aba) listAbasComAcesso.get(0);
              nomeAba = abaDirecionaRegistro.getNomeAba()
            }
        }
       
      // se existir aba com acesso
      if(nomeAba != null && !nomeAba.equals("")) { 
           
        /***************ABA DADOS GERAIS*************************/
        if ("DADOS_GERAIS".equals(nomeAba)) {
          pagina = "acompanhamento/dadosGerais/frm_con.jsp";
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/dadosGerais/dadosGerais.jsp";
       
        /***************ABA EVENTOS*****************************/
        } else if ("EVENTOS".equals(nomeAba)) {
          pagina = "acompanhamento/realizacoes/eventos.jsp"
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/eventos/eventos.jsp";
       
        /***************ABA PONTOS CRITICOS*********************/ 
        } else if ("PONTOS_CRITICOS".equals(nomeAba)) {
          pagina = "acompanhamento/restricoes/pontosCriticos.jsp";
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/restricoes/pontosCriticos.jsp?tela=V";
       
        /***************ABA SITUACAO PONTOS CRITICOS***********/ 
        } else if(nomeAba.equals("SITUACAO_PONTOS_CRITICOS")) {
          pagina =  "acompanhamento/situacaoDatas/situacaoDatas.jsp";
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/situacaoDatas/situacaoDatas.jsp";
       
        /***************ABA GALERIA***************************/ 
        } else if ("GALERIA".equals(nomeAba)) {
          pagina =  "acompanhamento/galeria/galeria.jsp";
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/galeria/galeria.jsp";
         
         
        /***************ABA FINANCEIRO************************/
        } else if ("FINANCEIRO".equals(nomeAba)) {
          pagina =  "acompanhamento/financeiro/financeiro.jsp";
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/financeiro/financeiro.jsp";
         
       
        /***************ABA RESUMO***************************/
        } else if("RELACAO".equals(nomeAba)){
          pagina =  "acompanhamento/resumo/detalharItem.jsp";
               
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/resumo/detalharItem.jsp";
         
              /***************ABA METAS E INDICADORES***************/ 
              } else if ("REL_FISICO_IND_RESULTADO".equals(nomeAba)) {
                pagina = "acompanhamento/resultado/indicadoresResultado.jsp"
             
                if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/resultado/indicadoresResultado.jsp?tela=V";
               
        /***************ABA SITUACAO E INDICADORES*************/ 
              } else if (nomeAba.equals("SITUACAO_INDICADORES")) {
                pagina = "acompanhamento/situacaoIndicadores/situacaoIndicadores.jsp";
               
                if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/situacaoIndicadores/situacaoIndicadores.jsp";
       
              /***************ABA ETAPA*****************************/   
              else if ("ETAPA".equals(nomeAba)) {
                pagina = "acompanhamento/etapa/etapas.jsp";
               
                if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/etapas/etapas.jsp";
         
        /***************ABA DATAS LIMITES*********************/ 
        } else if ("DATAS_LIMITES".equals(nomeAba)) {
          pagina = "acompanhamento/datasLimites/datasLimites.jsp";
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/datasLimites/datasLimites.jsp";
       
        /***************ABA SITUACAO***************************/
        } else if("SITUACAO".equals(nomeAba)){
          pagina = "acompanhamento/situacao/relatorios.jsp";
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/situacao/relatorios.jsp?tela=V";
       
        /***************ABA GRAFICO DE GANTT*********************/
        } else if("GRAFICO_DE_GANTT".equals(nomeAba)){
          pagina = "acompanhamento/graficoGantt/graficoGantt.jsp";
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/graficoGantt/graficoGantt.jsp";
       
        /***************ABA RELATORIO ***************************/
        else if("RELATORIO".equals(nomeAba)) {
          pagina= "acompanhamento/relatorios/relatorioImpresso.jsp?tela=R";
         
          if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relatorios/relatorioImpresso.jsp?tela=V";
         
            }else {
                 
                  //Caso nenhuma aba esteja configurada ou nao tenha permissao, o sistema direciona para a tela Resumo, que hoje � uma tela fixa.
                  pagina = "acompanhamento/resumo/detalharItem.jsp";
                 
                  if (tipoPadraoExibicaoAba==2)
            pagina = "acompanhamento/relAcompanhamento/resumo/detalharItem.jsp";
                }
      } 
       
      // adiciona tipo padrao de exibicao
      if (pagina!=null) {
        pagina += (pagina.indexOf("&")>0 || pagina.indexOf("?")>0?"&tipoPadraoExibicaoAba=" + tipoPadraoExibicaoAba:"?tipoPadraoExibicaoAba=" + tipoPadraoExibicaoAba);
      }
     
        return pagina;
       
  }
 
  /**
   * Pesquisa se o nome da aba passada como parametro tem acesso para o grupo de usuario
   *
         * @param ta
         * @param nomeAba
         * @param gruposUsuario
         * @return boolean
   */
  public Aba buscarAbaItemComAcesso(TipoAcompanhamentoTa ta, Set gruposUsuario, String nomeAba) {
   
    List <Aba> listAbas = this.getSession().createQuery(
                "select distinct aba " +
                "from Aba aba " +
                "inner join aba.tipoacompAbasSisatributoTaabasatbs acesso " +
                "where acesso.tipoAcompanhamentoTa = :ta " +
                "and aba.abaSuperior = :abaSuperior " +
                "and aba.nomeAba = :nomeAba " +
                "and aba.exibePosicaoAba = :exibe " +
                "and acesso.indVisualizaAba = :le " +
                "and acesso.sisAtributoSatb in (:grupo) ")
              .setParameter("ta", ta)
              .setParameter("abaSuperior", Dominios.NAO)
              .setParameter("nomeAba", nomeAba)
              .setString("exibe", Dominios.SIM)
              .setString("le", Dominios.COM_ACESSO_LEITURA)
              .setParameterList("grupo", gruposUsuario)
              .list();
           
   
   
    if (listAbas!=null && (!listAbas.isEmpty()) ){
      Aba aba = listAbas.get(0);
      return aba;
    } else {
      return null;
    }
  }
 
 
  /**
   * Pesquisa a aba que seja padr�o de registro ou visualiza��o
     * @param tipo
     * @return aba
   */
  public Aba buscarAbaPadrao(int tipo) {
   
    String query = "select distinct aba from Aba aba ";
    if (tipo==1)
      query += "where ehPadraoRegistro = 'S' ";
    else if (tipo==2)
      query += "where ehPadraoVisualizacao = 'S' ";
   
    List <Aba> listAbas = this.getSession().createQuery(query)
              .list();

    if (listAbas!=null && (!listAbas.isEmpty()) ){
      Aba aba = listAbas.get(0);
      return aba;
    } else {
      return null;
    }
  }
 
 
 
}
TOP

Related Classes of ecar.dao.AbaDao

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.