Search in sources :

Example 21 with TurmaEfetiva

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

the class HibernateTurmaDAO method findAllTurmasEfetivasWithIndicacoesPendentes.

@Override
public List<TurmaEfetiva> findAllTurmasEfetivasWithIndicacoesPendentes(Date exercicio, Long organizacaoId) throws DAOException {
    Session session = sessionFactory.getCurrentSession();
    SimpleDateFormat df = new SimpleDateFormat("yyyy");
    try {
        exercicio = df.parse(df.format(exercicio));
    } catch (ParseException ex) {
        Logger.getLogger(HibernateTurmaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
    try {
        @SuppressWarnings("unchecked") List<TurmaEfetiva> turmas = session.createQuery("select distinct indicacao.turma from IndicacaoAluno indicacao " + "where indicacao.turma.exercicio >= :exercicio " + "and indicacao.nextWorkflowActor.id = :organizacaoId " + "and indicacao.turma.cancelado = false " + "and indicacao.matriculado = false " + "and indicacao.preMatriculado = false " + "and indicacao.turma.ativado = false " + "and indicacao.turma.preAtivado = false").setLong("organizacaoId", organizacaoId).setDate("exercicio", exercicio).list();
        // APÓS A COLOCAÇÃO DO CAMPO ATIVADO EM TURMA, OTMIZAR ESTA QUERY ADICIONANDO 'and indicacao.t.ativado = false and indicacao.t.preAtivado=false'
        // List<TurmaEfetiva> turmas = session.createQuery(
        // "select distinct t from TurmaEfetiva t join t.indicacoes i "
        // + "where t.exercicio >= :exercicio and i.organizacao.id in (:organizacoesIds) "
        // + "and t.id not in (select distinct t2.id from TurmaEfetiva t2 join t2.matriculas where t2.id=t.id) "
        // + "and t.cancelado = false "
        // + "and t.id not in (select distinct t3.id from TurmaEfetiva t3 join t3.preMatriculas where t3.id=t.id)")
        // .setParameterList("organizacoesIds", organizacoesIds)
        // .setDate("exercicio", exercicio)
        // .list();
        Collections.sort(turmas, new TurmaEfetivaSort());
        return turmas;
    } catch (HibernateException e) {
        Logger.getLogger(HibernateTurmaDAO.class.getName()).log(Level.SEVERE, null, e);
        throw new DAOException(MessageHelper.getMessage("turmas.find.list.error"));
    }
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) StatusTurmaEfetiva(com.tomasio.projects.trainning.model.StatusTurmaEfetiva) TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) TurmaEfetivaSort(com.tomasio.projects.trainning.sort.TurmaEfetivaSort) HibernateException(org.hibernate.HibernateException) ParseException(java.text.ParseException) SimpleDateFormat(java.text.SimpleDateFormat) Session(org.hibernate.Session)

Example 22 with TurmaEfetiva

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

the class HibernateTurmaDAO method countTurmasEfetivasAtivadas.

@Override
public int countTurmasEfetivasAtivadas(Long organizacaoGestoraId, Date exercicio) throws DAOException {
    sessionFactory.getCurrentSession();
    try {
        Map<Object, Object> params = new HashMap<Object, Object>();
        params.put("organizacaoGestoraId", organizacaoGestoraId);
        params.put("exercicio", exercicio);
        List<TurmaEfetiva> turmas = findAllTurmasEfetivas(params);
        int countTurmas = 0;
        for (TurmaEfetiva turmaEfetiva : turmas) {
            if (turmaEfetiva.isAtivado()) {
                countTurmas++;
            }
        }
        return countTurmas;
    } catch (HibernateException e) {
        Logger.getLogger(HibernateTurmaDAO.class.getName()).log(Level.SEVERE, null, e);
        throw new DAOException(MessageHelper.getMessage("turmas.find.list.error"));
    }
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) StatusTurmaEfetiva(com.tomasio.projects.trainning.model.StatusTurmaEfetiva) TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) HashMap(java.util.HashMap) HibernateException(org.hibernate.HibernateException)

Example 23 with TurmaEfetiva

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

the class PostgreSqlCapacitaDAO method exportData.

@SuppressWarnings("unchecked")
@Override
public void exportData(Map<Object, Object> dataMap, Long turmaId) throws DAOException {
    Session session = sessionFactory.getCurrentSession();
    TurmaEfetiva turma = (TurmaEfetiva) session.get(TurmaEfetiva.class, turmaId);
    Curso curso = (Curso) session.get(Curso.class, turma.getCurso().getId());
    List<IndicacaoAluno> indicacoes = session.createQuery("from IndicacaoAluno indicacao where indicacao.turma.id=:turmaId order by indicacao.dataCriacao, indicacao.organizacao.sigla, indicacao.prioridade").setLong("turmaId", turmaId).list();
    try {
        openTransaction();
        exportCurso(curso);
        exportTurma(turma);
        exportIndicacoes(indicacoes, turma);
        commit();
    } catch (SQLException ex) {
        Logger.getLogger(PostgreSqlCapacitaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : IndicacaoAluno(com.tomasio.projects.trainning.model.IndicacaoAluno) TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) SQLException(java.sql.SQLException) Curso(com.tomasio.projects.trainning.model.Curso) Session(org.hibernate.Session)

Example 24 with TurmaEfetiva

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

the class ImportTurmasImplEfetivasFromTabelao method execute.

@Override
public void execute() {
    try {
        TurmaDAO turmaDAO = new HibernateTurmaDAO();
        CursoDAO cursoDAO = null;
        PlanejamentoDAO planejamentoDAO = new HibernatePlanejamentoDAO();
        OrganizacaoDAO organizacaoDAO = new HibernateOrganizacaoDAO();
        Connection conn = DriverManager.getConnection("jdbc:mysql://10.32.63.29/dctp?user=dctp&password=112358");
        Statement stm = conn.createStatement();
        ResultSet rs = stm.executeQuery("SELECT * FROM tabelao where ano=2013");
        int i = 0;
        while (rs.next()) {
            // PlanejamentoDTO planejamento = planejamentoDAO.find(1L);
            TurmaEfetiva turma = new TurmaEfetiva();
            // turma.setPlanejamento(planejamento);
            Organizacao organizacaoGestora = organizacaoDAO.findBySigla("DECEA");
            if (organizacaoGestora != null) {
                turma.setOrganizacaoGestoraId(organizacaoGestora.getId());
            }
            turma.setExercicio(new Date());
            Date inicio = rs.getDate("inicio");
            Date fim = rs.getDate("fim");
            String local = rs.getString("local");
            Date inicio2 = rs.getDate("inicio2");
            Date fim2 = rs.getDate("fim2");
            String local2 = rs.getString("local2");
            Date inicio3 = rs.getDate("inicio3");
            Date fim3 = rs.getDate("fim3");
            String local3 = rs.getString("local3");
            String numTurma = rs.getString("turma");
            String codCurso = rs.getString("codcurso");
            int quantidadeVagas = rs.getInt("Vagas");
            turma.setQuantidadeVagas(quantidadeVagas);
            int codPlano = rs.getInt("codPlano");
            String ativado = rs.getString("ativado");
            int codTabelao = rs.getInt("codTabelao");
            // if (codCurso.equals("CNS014")) {
            // continue;
            // }
            // if (codCurso.equals("CNS005")) {
            // continue;
            // }
            // if (codCurso.equals("SAR005")) {
            // continue;
            // }
            // if (codCurso.equals("ASE007")) {
            // continue;
            // }
            // if (codCurso.equals("ASE009")) {
            // continue;
            // }
            Curso curso = cursoDAO.findByCodigo(codCurso);
            turma.setCurso(curso);
            if (codPlano != 11) {
                continue;
            }
            if (numTurma.contains("GT")) {
                System.out.println("GT NÃO IMPORTADO");
                continue;
            }
            String newNumTurma = numTurma;
            if (numTurma.contains("EP")) {
                newNumTurma = numTurma.replace("EP", "10");
            }
            try {
                turma.setNumeroTurma(Integer.parseInt(newNumTurma));
            } catch (NumberFormatException e) {
                System.out.println("INFO-ERROR   :  TURMA NÃO IMPORTADA " + codCurso + numTurma);
                continue;
            }
            if (inicio != null || fim != null) {
                local = corrigirLocal(local);
                Organizacao organizacao = organizacaoDAO.findBySigla(local);
                if (organizacao != null) {
                    turma.setResponsavelId(organizacao.getId());
                }
                Fase fase = new Fase();
                fase.setDataInicio(inicio);
                fase.setDataTermino(fim);
                fase.setDescricao("Presencial");
                if (organizacao != null) {
                    fase.setLocal(organizacao);
                }
                turma.addFase(fase);
            }
            if (inicio2 != null || fim2 != null) {
                local2 = corrigirLocal(local2);
                Organizacao organizacao2 = organizacaoDAO.findBySigla(local2);
                Fase fase2 = new Fase();
                fase2.setDataInicio(inicio2);
                fase2.setDataTermino(fim2);
                fase2.setDescricao("Prática");
                if (organizacao2 != null) {
                    fase2.setLocal(organizacao2);
                }
                turma.addFase(fase2);
            }
            if (inicio3 != null || fim3 != null) {
                local3 = corrigirLocal(local3);
                Organizacao organizacao3 = organizacaoDAO.findBySigla(local3);
                Fase fase3 = new Fase();
                fase3.setDataInicio(inicio3);
                fase3.setDataTermino(fim3);
                fase3.setDescricao("Prática");
                if (organizacao3 != null) {
                    fase3.setLocal(organizacao3);
                }
                turma.addFase(fase3);
            }
            SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
            Calendar calendar = Calendar.getInstance();
            Periodo periodoIndicacao = new Periodo();
            try {
                periodoIndicacao.setDataInicio(df.parse("01/01/2013"));
                calendar.setTime(turma.getDataInicio());
                calendar.add(Calendar.DAY_OF_YEAR, -30);
                periodoIndicacao.setDataTermino(calendar.getTime());
            } catch (ParseException ex) {
                Logger.getLogger(ImportTurmasImplEfetivasFromTabelao.class.getName()).log(Level.SEVERE, null, ex);
            }
            if (ativado.equals("C")) {
                turma.setCancelado(true);
            }
            turma.setPeriodoIndicacao(periodoIndicacao);
            if ((turma.getCurso() != null) && (turma.getExercicio() != null)) {
                Long turmaId = turmaDAO.create(turma);
                TurmaEfetiva turmaCriada = (TurmaEfetiva) turmaDAO.find(turmaId);
                // TurmaEfetiva turmaCriada = new TurmaEfetiva(); //retirar essa linha e descomentar as duas de cima
                distribuirVagas(codTabelao, turmaCriada, conn);
                recuperarIndicacoes(codTabelao, turmaCriada, conn);
                recuperarInstrutores(codTabelao, turmaCriada, conn);
                if (turma.isCancelado() == false) {
                // recuperarMatriculas(codTabelao, turmaCriada, conn);
                }
                recuperarAnotacoes(codTabelao, turmaCriada, conn);
                recuperarAnotacoesPagina(codTabelao, turmaCriada, conn);
                recuperarDocumentos(codCurso, numTurma, turmaCriada, conn);
                Long time = new Date().getTime();
                while (new Date().getTime() - time < 200) {
                }
                System.out.println(i++ + "-------------------------------------------------------------------------");
            } else {
                System.out.println("turma não cadastrada " + codCurso + " - " + codTabelao + " - " + numTurma);
            }
        }
        conn.close();
    } catch (SQLException ex) {
        Logger.getLogger(ImportTurmasImplEfetivasFromTabelao.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DAOException ex) {
        Logger.getLogger(ImportTurmasImplEfetivasFromTabelao.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : Fase(com.tomasio.projects.trainning.model.Fase) HibernateCursoDAO(com.tomasio.projects.trainning.dao.HibernateCursoDAO) CursoDAO(com.tomasio.projects.trainning.dao.CursoDAO) DAOException(com.tomasio.projects.trainning.exception.DAOException) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) HibernateOrganizacaoDAO(com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO) Organizacao(com.tomasio.projects.trainning.model.Organizacao) HibernatePlanejamentoDAO(com.tomasio.projects.trainning.dao.HibernatePlanejamentoDAO) HibernatePlanejamentoDAO(com.tomasio.projects.trainning.dao.HibernatePlanejamentoDAO) PlanejamentoDAO(com.tomasio.projects.trainning.dao.PlanejamentoDAO) Curso(com.tomasio.projects.trainning.model.Curso) HibernateTurmaDAO(com.tomasio.projects.trainning.dao.HibernateTurmaDAO) TurmaDAO(com.tomasio.projects.trainning.dao.TurmaDAO) TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) Calendar(java.util.Calendar) HibernateOrganizacaoDAO(com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO) Periodo(com.tomasio.projects.trainning.model.Periodo) Date(java.util.Date) HibernateTurmaDAO(com.tomasio.projects.trainning.dao.HibernateTurmaDAO) ParseException(java.text.ParseException) SimpleDateFormat(java.text.SimpleDateFormat)

Example 25 with TurmaEfetiva

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

the class TestesHibernate method main.

@SuppressWarnings("unchecked")
public static void main(String[] args) throws InterruptedException, ParseException {
    SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    SimpleDateFormat df = new SimpleDateFormat("yyyy");
    Date exercicio = df.parse(df.format(new Date()));
    session.createQuery("select o.id from Organizacao o where o.parent.id=414").list();
    // List<TurmaEfetiva> turmas2 = session.createQuery(
    // "select distinct t from TurmaEfetiva t join t.indicacoes i "
    // + "where t.exercicio = :exercicio and i.organizacao.id in (:organizacoesIds) "
    // + "and t.id not in (select distinct t2.id from TurmaEfetiva t2 join t2.matriculas where t2.id=t.id) "
    // + "and t.cancelado = false "
    // + "and t.id not in (select distinct t3.id from TurmaEfetiva t3 join t3.preMatriculas where t3.id=t.id)")
    // .setParameterList("organizacoesIds", organizacoesIds)
    // .setDate("exercicio", exercicio)
    // .list();
    List<Long> turmas = session.createQuery("select t, " + "(select count(*) from Conclusao c where c.matricula.turma.id = t.id)," + "(select count(*) from Matricula m where m.turma.id = t.id)," + "(select count(*) from PreMatricula p where p.turma.id = t.id) " + " from TurmaEfetiva t" + " where t.exercicio = :exercicio").setDate("exercicio", exercicio).list();
    for (Object object : turmas) {
        Object[] items = (Object[]) object;
        TurmaEfetiva turma = (TurmaEfetiva) items[0];
        Long totalConcluidos = (Long) items[1];
        Long totalMatriculado = (Long) items[2];
        Long totalPreMatriculado = (Long) items[3];
        System.out.println(turma.getCurso().getCodigo() + ", concluidos: " + totalConcluidos + ", matriculados: " + totalMatriculado + ", pre matriculados: " + totalPreMatriculado);
    }
    DetachedCriteria subquery = DetachedCriteria.forClass(PreMatricula.class, "m");
    subquery.add(Restrictions.eqProperty("m.turma.id", "t.id")).setProjection(Property.forName("m.id").count());
    Criteria criteria = session.createCriteria(TurmaEfetiva.class, "t").add(Subqueries.gt(0, subquery));
    criteria.list();
    session.close();
}
Also used : SessionFactory(org.hibernate.SessionFactory) TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) DetachedCriteria(org.hibernate.criterion.DetachedCriteria) Criteria(org.hibernate.Criteria) DetachedCriteria(org.hibernate.criterion.DetachedCriteria) SimpleDateFormat(java.text.SimpleDateFormat) Date(java.util.Date) Session(org.hibernate.Session)

Aggregations

TurmaEfetiva (com.tomasio.projects.trainning.model.TurmaEfetiva)37 DAOException (com.tomasio.projects.trainning.exception.DAOException)33 StatusTurmaEfetiva (com.tomasio.projects.trainning.model.StatusTurmaEfetiva)32 ParseException (java.text.ParseException)27 Transactional (org.springframework.transaction.annotation.Transactional)23 TurmaDAO (com.tomasio.projects.trainning.dao.TurmaDAO)22 CoreException (com.tomasio.projects.trainning.exeption.CoreException)16 SimpleDateFormat (java.text.SimpleDateFormat)14 IndicacaoDAO (com.tomasio.projects.trainning.dao.IndicacaoDAO)12 Session (org.hibernate.Session)11 Indicacao (com.tomasio.projects.trainning.model.Indicacao)10 PreMatriculaDAO (com.tomasio.projects.trainning.dao.PreMatriculaDAO)9 TurmaEfetivaDTO (com.tomasio.projects.trainning.dto.TurmaEfetivaDTO)9 PreMatricula (com.tomasio.projects.trainning.model.PreMatricula)9 Matricula (com.tomasio.projects.trainning.model.Matricula)8 HibernateException (org.hibernate.HibernateException)8 CancelamentoMatriculaDAO (com.tomasio.projects.trainning.dao.CancelamentoMatriculaDAO)7 MatriculaDAO (com.tomasio.projects.trainning.dao.MatriculaDAO)7 NotificacaoMatriculaDAO (com.tomasio.projects.trainning.dao.NotificacaoMatriculaDAO)7 CancelamentoMatricula (com.tomasio.projects.trainning.model.CancelamentoMatricula)7