Package ecar.dao

Source Code of ecar.dao.PesquisaGrpAcessoDao

package ecar.dao;

import comum.database.Dao;

import ecar.exception.ECARException;

import ecar.pojo.PesquisaGrpAcesso;
import ecar.pojo.SisAtributoSatb;

import ecar.util.Dominios;

import org.hibernate.Query;

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

/**
*
* @author 70744416353
*/
public class PesquisaGrpAcessoDao
    extends Dao
{
    /**
     *
     */
    public PesquisaGrpAcessoDao(  )
    {
        super(  );
    }

    /**
     *
     * @param satb
     * @return
     * @throws ECARException
     */
    public PesquisaGrpAcesso getPesquisaGrpAcesso( SisAtributoSatb satb )
                                           throws ECARException
    {
        try
        {
            StringBuilder query =
                new StringBuilder( "select pesquisas from PesquisaGrpAcesso as pesquisas " ).append( " where pesquisas.codSatb = " +
                                                                                                     satb.getCodSatb(  ) );
            Query q = this.getSession(  ).createQuery( query.toString(  ) );

            q.setMaxResults( 1 );

            Object pesquisa = q.uniqueResult(  );

            if ( pesquisa != null )
            {
                return (PesquisaGrpAcesso) pesquisa;
            } else
            {
                return null;
            }
        } catch ( Exception e )
        {
            this.logger.error( e );
            throw new ECARException( e );
        }
    }

    /**
     *
     * @param gruposAcesso
     * @return
     * @throws ECARException
     */
    public List getListPesquisaGrupos( Set gruposAcesso )
                               throws ECARException
    {
        try
        {
            StringBuilder query =
                new StringBuilder( "select pesquisas from PesquisaGrpAcesso as pesquisas " ).append( " where pesquisas.codSatb in (:gruposAcesso)" );

            Query q = this.getSession(  ).createQuery( query.toString(  ) );

            List lCodSatb = new ArrayList(  );
            Iterator itGrupos = gruposAcesso.iterator(  );

            while ( itGrupos.hasNext(  ) )
            {
                SisAtributoSatb grupoAcesso = (SisAtributoSatb) itGrupos.next(  );
                lCodSatb.add( grupoAcesso.getCodSatb(  ) );
            }

            if ( ! lCodSatb.isEmpty(  ) )
            {
                q.setParameterList( "gruposAcesso", lCodSatb );
            }

            List lPesquisaGrupos = q.list(  );

            if ( lPesquisaGrupos != null )
            {
                return lPesquisaGrupos;
            } else
            {
                return null;
            }
        } catch ( Exception e )
        {
            this.logger.error( e );
            throw new ECARException( e );
        }
    }

    private void inicializaValoresNegativos( PesquisaGrpAcesso configPesquisaGrpAcesso )
    {
        configPesquisaGrpAcesso.setIndPodeVerGeral( Dominios.NAO );
        configPesquisaGrpAcesso.setIndPodeVerMinhaVisao( Dominios.NAO );
        configPesquisaGrpAcesso.setIndPodeVerPendencias( Dominios.NAO );
        configPesquisaGrpAcesso.setIndPodeVerPersonalizado( Dominios.NAO );
        configPesquisaGrpAcesso.setIndPodeCriarPesquisaSistema( Dominios.NAO );
        configPesquisaGrpAcesso.setIndPodeCriarPesquisaUsuario( Dominios.NAO );
    }

    /**
     * Devolve um objeto contendo as informa��o de quais tipo de Filtro o usu�rio
     * tem permiss�o de visualizar.
     *
     * Inicializa negando a visualiza��o dos filtro e a medida que os grupos de Acesso
     * tem a permiss�o vai liberando a sua visualiza��o.
     *
     * @param gruposAcesso
     * @return
     * @throws ECARException
     */
    public PesquisaGrpAcesso getConfiguracaoPesquisaGrupoAcesso( Set gruposAcesso )
        throws ECARException
    {
        PesquisaGrpAcesso configPesquisaGrpAcesso = new PesquisaGrpAcesso(  );
        List lPesquisaGrupos = this.getListPesquisaGrupos( gruposAcesso );
        Iterator itPesquisaGrupos = lPesquisaGrupos.iterator(  );

        this.inicializaValoresNegativos( configPesquisaGrpAcesso );

        while ( itPesquisaGrupos.hasNext(  ) )
        {
            PesquisaGrpAcesso configPesquisaAux = (PesquisaGrpAcesso) itPesquisaGrupos.next(  );

            if ( configPesquisaAux.getIndPodeVerGeral(  ).equals( "S" ) )
            {
                configPesquisaGrpAcesso.setIndPodeVerGeral( "S" );
            }

            if ( configPesquisaAux.getIndPodeVerMinhaVisao(  ).equals( "S" ) )
            {
                configPesquisaGrpAcesso.setIndPodeVerMinhaVisao( "S" );
            }

            if ( configPesquisaAux.getIndPodeVerPendencias(  ).equals( "S" ) )
            {
                configPesquisaGrpAcesso.setIndPodeVerPendencias( "S" );
            }

            if ( configPesquisaAux.getIndPodeVerPersonalizado(  ).equals( "S" ) )
            {
                configPesquisaGrpAcesso.setIndPodeVerPersonalizado( "S" );
            }

            if ( configPesquisaAux.getIndPodeCriarPesquisaSistema(  ).equals( "S" ) )
            {
                configPesquisaGrpAcesso.setIndPodeCriarPesquisaSistema( "S" );
            }

            if ( configPesquisaAux.getIndPodeCriarPesquisaUsuario(  ).equals( "S" ) )
            {
                configPesquisaGrpAcesso.setIndPodeCriarPesquisaUsuario( "S" );
            }
        }

        return configPesquisaGrpAcesso;
    }
}
TOP

Related Classes of ecar.dao.PesquisaGrpAcessoDao

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.