Search in sources :

Example 6 with Indicador

use of com.tomasio.projects.trainning.model.Indicador in project trainning by fernandotomasio.

the class ImportIndicadoresImpl method execute.

@Override
public void execute() {
    try {
        CursoDAO cursoDAO = null;
        OrganizacaoDAO organizacaoDAO = new HibernateOrganizacaoDAO();
        IndicadorDAO indicadorDAO = null;
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/dctp?user=root&password=roland");
        Statement stm = conn.createStatement();
        ResultSet rs = stm.executeQuery("SELECT * FROM tdpcursos");
        int i = 0;
        while (rs.next()) {
            String codigo = rs.getString("codcurso");
            String local = rs.getString("local");
            int minimo = rs.getInt("minimo");
            int ideal = rs.getInt("ideal");
            local = corrigirLocal(local);
            Curso curso = cursoDAO.findByCodigo(codigo);
            Organizacao organizacao = organizacaoDAO.findBySigla(local);
            if (curso == null) {
                System.out.println(codigo);
            }
            if (organizacao == null) {
                System.out.println(local);
            }
            Indicador indicador = new Indicador();
            indicador.setCurso(curso);
            indicador.setOrganizacao(organizacao);
            indicador.setMinimo(minimo);
            indicador.setIdeal(ideal);
            indicadorDAO.create(indicador);
        }
        conn.close();
    } catch (SQLException ex) {
        Logger.getLogger(ImportIndicadoresImpl.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DAOException ex) {
        Logger.getLogger(ImportIndicadoresImpl.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : HibernateIndicadorDAO(com.tomasio.projects.trainning.dao.HibernateIndicadorDAO) IndicadorDAO(com.tomasio.projects.trainning.dao.IndicadorDAO) HibernateOrganizacaoDAO(com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO) HibernateCursoDAO(com.tomasio.projects.trainning.dao.HibernateCursoDAO) CursoDAO(com.tomasio.projects.trainning.dao.CursoDAO) DAOException(com.tomasio.projects.trainning.exception.DAOException) HibernateOrganizacaoDAO(com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) Organizacao(com.tomasio.projects.trainning.model.Organizacao) Curso(com.tomasio.projects.trainning.model.Curso) Indicador(com.tomasio.projects.trainning.model.Indicador)

Example 7 with Indicador

use of com.tomasio.projects.trainning.model.Indicador in project trainning by fernandotomasio.

the class HibernateIndicadorDAO method find.

@Override
public Indicador find(Long cursoId, Long organizacaoId) throws DAOException {
    Session session = getSession();
    Indicador indicador = null;
    try {
        Criteria criteria = session.createCriteria(Indicador.class);
        if (cursoId != null && cursoId > 0L) {
            criteria.add(Restrictions.eq("curso.id", cursoId));
        }
        if (organizacaoId != null && organizacaoId > 0L) {
            criteria.add(Restrictions.eq("organizacao.id", organizacaoId));
        }
        indicador = (Indicador) criteria.uniqueResult();
        if (indicador == null) {
            indicador = new Indicador();
        }
        Long countExistente = (Long) session.createQuery("select count(*) from Conclusao conclusao " + "where conclusao.capacitacao.id = :capacitacaoId " + "and conclusao.pessoa.organizacao.id = :organizacaoId " + "and conclusao.pessoa.ativo = true").setLong("capacitacaoId", cursoId).setLong("organizacaoId", organizacaoId).uniqueResult();
        indicador.setExistente(countExistente.intValue());
        return indicador;
    } catch (HibernateException e) {
        Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, e);
        throw new DAOException(MessageHelper.getMessage("indicadores.find.unique.error"));
    }
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) HibernateException(org.hibernate.HibernateException) Criteria(org.hibernate.Criteria) Indicador(com.tomasio.projects.trainning.model.Indicador) Session(org.hibernate.Session)

Example 8 with Indicador

use of com.tomasio.projects.trainning.model.Indicador in project trainning by fernandotomasio.

the class HibernateIndicadorDAO method findAllByOrganizacao.

@SuppressWarnings("unchecked")
@Override
public List<Indicador> findAllByOrganizacao(Long organizacaoId) throws DAOException {
    Session session = getSession();
    List<Indicador> indicadores = new ArrayList<Indicador>();
    try {
        Criteria criteria = session.createCriteria(Indicador.class);
        if (organizacaoId != null && organizacaoId > 0L) {
            criteria.add(Restrictions.eq("organizacao.id", organizacaoId));
        }
        indicadores = criteria.list();
        return indicadores;
    } catch (HibernateException e) {
        Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, e);
        throw new DAOException(MessageHelper.getMessage("indicadores.find.unique.error"));
    }
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) HibernateException(org.hibernate.HibernateException) ArrayList(java.util.ArrayList) Criteria(org.hibernate.Criteria) Indicador(com.tomasio.projects.trainning.model.Indicador) Session(org.hibernate.Session)

Example 9 with Indicador

use of com.tomasio.projects.trainning.model.Indicador in project trainning by fernandotomasio.

the class HibernateIndicadorDAO method findAllByCurso.

@SuppressWarnings("unchecked")
@Override
public List<Indicador> findAllByCurso(Long cursoId) throws DAOException {
    Session session = getSession();
    List<Indicador> indicadores = new ArrayList<Indicador>();
    try {
        Criteria criteria = session.createCriteria(Indicador.class);
        if (cursoId != null && cursoId > 0L) {
            criteria.add(Restrictions.eq("curso.id", cursoId));
        }
        indicadores = criteria.list();
        for (Indicador indicador : indicadores) {
            if (indicador != null) {
                Long countExistente = (Long) session.createQuery("select count(*) from Conclusao conclusao " + "where conclusao.capacitacao.id = :capacitacaoId " + "and conclusao.pessoa.organizacao.id = :organizacaoId " + "and conclusao.pessoa.ativo = true").setLong("capacitacaoId", cursoId).setLong("organizacaoId", indicador.getOrganizacao().getId()).uniqueResult();
                indicador.setExistente(countExistente.intValue());
            }
        }
        return indicadores;
    } catch (HibernateException e) {
        Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, e);
        throw new DAOException(MessageHelper.getMessage("indicadores.find.unique.error"));
    }
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) HibernateException(org.hibernate.HibernateException) ArrayList(java.util.ArrayList) Criteria(org.hibernate.Criteria) Indicador(com.tomasio.projects.trainning.model.Indicador) Session(org.hibernate.Session)

Example 10 with Indicador

use of com.tomasio.projects.trainning.model.Indicador in project trainning by fernandotomasio.

the class HibernateIndicadorDAO method findAllByCursoAndOrganizacao.

@SuppressWarnings("unchecked")
@Override
public List<Indicador> findAllByCursoAndOrganizacao(Long cursoId, Long organizacaoId) throws DAOException {
    Session session = getSession();
    List<Indicador> indicadores = new ArrayList<Indicador>();
    try {
        Criteria criteria = session.createCriteria(Indicador.class);
        String queryStrConclusoes = "SELECT conclusao.capacitacao.id as capacitacaoId, " + "conclusao.pessoa.organizacao.id as organizacaoId, " + "COUNT(*) as count " + "FROM Conclusao conclusao " + "WHERE conclusao.pessoa.ativo = true ";
        if (cursoId != null && cursoId > 0L) {
            criteria.add(Restrictions.eq("curso.id", cursoId));
            queryStrConclusoes = queryStrConclusoes + " AND conclusao.capacitacao.id = :capacitacaoId ";
        }
        if (organizacaoId != null && organizacaoId > 0L) {
            criteria.add(Restrictions.eq("organizacao.id", organizacaoId));
            queryStrConclusoes = queryStrConclusoes + " AND conclusao.pessoa.organizacao.id = :organizacaoId ";
        }
        queryStrConclusoes = queryStrConclusoes + " AND EXISTS (FROM Indicador indicador WHERE indicador.curso.id = conclusao.capacitacao.id AND indicador.organizacao.id = conclusao.pessoa.organizacao.id)" + " GROUP BY conclusao.capacitacao.id, conclusao.pessoa.organizacao.id";
        Query conclusoesQuery = session.createQuery(queryStrConclusoes);
        if (cursoId != null && cursoId > 0L) {
            conclusoesQuery.setLong("capacitacaoId", cursoId);
        }
        if (organizacaoId != null && organizacaoId > 0L) {
            conclusoesQuery.setLong("organizacaoId", organizacaoId);
        }
        indicadores = criteria.list();
        Map<Long, Map<Long, Long>> mapConclusoes = new HashMap<Long, Map<Long, Long>>();
        List<Object[]> conclusoes = conclusoesQuery.list();
        for (Object[] conclusao : conclusoes) {
            Map<Long, Long> mapCurso = mapConclusoes.get((Long) conclusao[0]);
            if (mapCurso == null) {
                mapCurso = new HashMap<Long, Long>();
            }
            mapCurso.put((Long) conclusao[1], (Long) conclusao[2]);
            mapConclusoes.put((Long) conclusao[0], mapCurso);
        }
        for (Indicador indicador : indicadores) {
            if (indicador != null) {
                Map<Long, Long> mapCurso = mapConclusoes.get(indicador.getCurso().getId());
                if (mapCurso != null) {
                    Long existente = mapCurso.get(indicador.getOrganizacao().getId());
                    if (existente != null) {
                        indicador.setExistente(existente.intValue());
                    }
                }
            }
        }
        // Sort do LambdaJ
        indicadores = sort(indicadores, on(Indicador.class).getCurso().getCodigo());
        return indicadores;
    } catch (HibernateException e) {
        Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, e);
        throw new DAOException(MessageHelper.getMessage("indicadores.find.unique.error"));
    }
}
Also used : Query(org.hibernate.Query) HashMap(java.util.HashMap) HibernateException(org.hibernate.HibernateException) ArrayList(java.util.ArrayList) Criteria(org.hibernate.Criteria) DAOException(com.tomasio.projects.trainning.exception.DAOException) HashMap(java.util.HashMap) Map(java.util.Map) Indicador(com.tomasio.projects.trainning.model.Indicador) Session(org.hibernate.Session)

Aggregations

DAOException (com.tomasio.projects.trainning.exception.DAOException)10 Indicador (com.tomasio.projects.trainning.model.Indicador)10 CoreException (com.tomasio.projects.trainning.exeption.CoreException)5 Transactional (org.springframework.transaction.annotation.Transactional)5 Criteria (org.hibernate.Criteria)4 HibernateException (org.hibernate.HibernateException)4 Session (org.hibernate.Session)4 ArrayList (java.util.ArrayList)3 CursoDAO (com.tomasio.projects.trainning.dao.CursoDAO)1 HibernateCursoDAO (com.tomasio.projects.trainning.dao.HibernateCursoDAO)1 HibernateIndicadorDAO (com.tomasio.projects.trainning.dao.HibernateIndicadorDAO)1 HibernateOrganizacaoDAO (com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO)1 IndicadorDAO (com.tomasio.projects.trainning.dao.IndicadorDAO)1 OrganizacaoDAO (com.tomasio.projects.trainning.dao.OrganizacaoDAO)1 Curso (com.tomasio.projects.trainning.model.Curso)1 Organizacao (com.tomasio.projects.trainning.model.Organizacao)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 Query (org.hibernate.Query)1