Search in sources :

Example 26 with Organizacao

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

the class HibernateIndicacaoDAO method alertaDeIndicacao.

@SuppressWarnings("unchecked")
@Override
public void alertaDeIndicacao(Indicacao indicacao, String chamada) throws DAOException {
    Session session = sessionFactory.getCurrentSession();
    TurmaEfetiva turma = (TurmaEfetiva) session.get(TurmaEfetiva.class, indicacao.getTurma().getId());
    SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
    SimpleDateFormat dfExec = new SimpleDateFormat("yyyy");
    Date exercicio = null;
    try {
        exercicio = dfExec.parse(dfExec.format(new Date()));
    } catch (ParseException ex) {
        Logger.getLogger(HibernateIndicacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
    String erroMessage = "<br>";
    boolean erro = false;
    // if (indicacao instanceof IndicacaoAluno) {
    // teste: se indicado no mesmo curso em edições diferentes
    // avisar ao usuário
    // VERIFICAR QUEM CHAMOU O MÉTODO
    Long countIndicacao = null;
    if (chamada.equals("CREATE")) {
        countIndicacao = (Long) session.createQuery("" + "select count(*) from IndicacaoAluno i " + "where i.pessoa.id = :pessoaId " + "and i.turma.exercicio=:exercicio " + "and i.turma.id <> :turmaId " + "and i.turma.curso.id = :cursoId").setLong("pessoaId", indicacao.getPessoa().getId()).setLong("cursoId", turma.getCurso().getId()).setDate("exercicio", exercicio).setLong("turmaId", indicacao.getTurma().getId()).uniqueResult();
    } else if (chamada.equals("UPDATE")) {
        countIndicacao = (Long) session.createQuery("" + "select count(*) from IndicacaoAluno i " + "where i.pessoa.id = :pessoaId " + "and i.turma.exercicio=:exercicio " + "and i.turma.curso.id = :cursoId " + "and i.turma.id <> :turmaId " + "and i.id <> :indicacaoId").setLong("indicacaoId", indicacao.getId()).setLong("pessoaId", indicacao.getPessoa().getId()).setLong("cursoId", turma.getCurso().getId()).setDate("exercicio", exercicio).setLong("turmaId", indicacao.getTurma().getId()).uniqueResult();
    }
    if (countIndicacao > 0) {
        List<IndicacaoAluno> indicacoes = null;
        if (chamada.equals("CREATE")) {
            indicacoes = session.createQuery("" + "from IndicacaoAluno i " + "where i.pessoa.id = :pessoaId " + "and i.turma.exercicio=:exercicio " + "and i.turma.id <> :turmaId " + "and i.turma.curso.id = :cursoId").setLong("pessoaId", indicacao.getPessoa().getId()).setLong("cursoId", turma.getCurso().getId()).setDate("exercicio", exercicio).setLong("turmaId", turma.getId()).list();
        } else if (chamada.equals("UPDATE")) {
            indicacoes = session.createQuery("" + "from IndicacaoAluno i " + "where i.pessoa.id = :pessoaId " + "and i.turma.exercicio=:exercicio " + "and i.turma.curso.id = :cursoId " + "and i.turma.id <> :turmaId " + "and i.id <> :indicacaoId").setLong("indicacaoId", indicacao.getId()).setLong("pessoaId", indicacao.getPessoa().getId()).setLong("cursoId", turma.getCurso().getId()).setDate("exercicio", exercicio).setLong("turmaId", indicacao.getTurma().getId()).list();
        }
        String message = "";
        if (indicacoes.size() > 0) {
            // vasculhar as indicacoes para coletar os detalhes das edições
            for (@SuppressWarnings("unused") IndicacaoAluno indic : indicacoes) {
                String ano;
                ano = dfExec.format(turma.getExercicio());
                Organizacao organizacaoGestora = (Organizacao) session.get(Organizacao.class, turma.getOrganizacaoGestoraId());
                message += "=> " + turma.getCurso().getCodigo() + " - " + turma.getNumeroTurma() + " / " + ano + " (" + organizacaoGestora.getSigla() + ") - Período de " + df.format(turma.getDataInicio()) + " a " + df.format(turma.getDataTermino()) + "<br>";
            }
            // loop varendo todas matriculas
            erroMessage += "O candidato já está indicado neste curso no ano vigente nas seguinte(s) edição(ões):<br>" + message + "<br>";
            erro = true;
        // throw new DAOException("O candidato já está indicado neste curso nas seguinte(s) edição(ões) " + message + " no ano vigente.");
        }
    }
    // }
    if (erro) {
        throw new DAOException(erroMessage);
    }
}
Also used : TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) Date(java.util.Date) DAOException(com.tomasio.projects.trainning.exception.DAOException) IndicacaoAluno(com.tomasio.projects.trainning.model.IndicacaoAluno) Organizacao(com.tomasio.projects.trainning.model.Organizacao) ParseException(java.text.ParseException) SimpleDateFormat(java.text.SimpleDateFormat) Session(org.hibernate.Session)

Example 27 with Organizacao

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

the class HibernatePlanoDAO method findAllOrganizacoesHasPlano.

@SuppressWarnings("unchecked")
@Override
public List<OrganizacaoDTO> findAllOrganizacoesHasPlano() throws DAOException {
    Session session = getSession();
    List<OrganizacaoDTO> dtoList = new ArrayList<OrganizacaoDTO>();
    try {
        // a comparação com 0 é para não trazer os vazios
        List<Long> organizacoesIds = session.createQuery("select distinct plano.OMResponsavelId " + "from Plano plano " + "where plano.OMResponsavelId<>0").list();
        for (Long organizacaoId : organizacoesIds) {
            if (organizacaoId != null) {
                Organizacao organizacao = (Organizacao) session.get(Organizacao.class, organizacaoId);
                dtoList.add(organizacao.createDTOWithoutDependencies());
            }
        }
    } catch (HibernateException e) {
        Logger.getLogger(HibernateTurmaDAO.class.getName()).log(Level.SEVERE, null, e);
        throw new DAOException(MessageHelper.getMessage("organizacoes.find.list.error"));
    }
    Collections.sort(dtoList, new Comparator<OrganizacaoDTO>() {

        @Override
        public int compare(OrganizacaoDTO o1, OrganizacaoDTO o2) {
            return o1.getSigla().compareTo(o2.getSigla());
        }
    });
    return dtoList;
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) Organizacao(com.tomasio.projects.trainning.model.Organizacao) HibernateException(org.hibernate.HibernateException) ArrayList(java.util.ArrayList) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) Session(org.hibernate.Session)

Example 28 with Organizacao

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

the class HibernateTurmaDAO method findAllOrganizacoesGestoras.

@SuppressWarnings("unchecked")
@Override
public List<OrganizacaoDTO> findAllOrganizacoesGestoras() throws DAOException {
    Session session = sessionFactory.getCurrentSession();
    List<OrganizacaoDTO> dtoList = new ArrayList<OrganizacaoDTO>();
    try {
        List<Long> organizacoesIds = session.createQuery("select distinct turma.organizacaoGestoraId from TurmaEfetiva turma").list();
        for (Long organizacaoId : organizacoesIds) {
            Organizacao organizacao = (Organizacao) session.get(Organizacao.class, organizacaoId);
            dtoList.add(organizacao.createDTOWithoutDependencies());
        }
    } catch (HibernateException e) {
        Logger.getLogger(HibernateTurmaDAO.class.getName()).log(Level.SEVERE, null, e);
        throw new DAOException(MessageHelper.getMessage("organizacoes.find.list.error"));
    }
    return dtoList;
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) Organizacao(com.tomasio.projects.trainning.model.Organizacao) HibernateException(org.hibernate.HibernateException) ArrayList(java.util.ArrayList) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) Session(org.hibernate.Session)

Example 29 with Organizacao

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

the class ImportTurmasImplEfetivasFromTabelao method distribuirVagas.

private void distribuirVagas(int codTabelao, TurmaEfetiva turmaCriada, Connection conn) {
    try {
        // DAOFactory factory = DAOUtil.getDAOFactory();
        DistribuicaoDAO distribuicaoDAO = new HibernateDistribuicaoDAO();
        OrganizacaoDAO organizacaoDAO = new HibernateOrganizacaoDAO();
        Statement stm = conn.createStatement();
        ResultSet rs = stm.executeQuery("select * from distribuicaovagas where codTabelao=" + codTabelao);
        while (rs.next()) {
            String local = rs.getString("local");
            int quantidadeVagas = rs.getInt("quantidade");
            boolean reserva = rs.getBoolean("reserva");
            local = corrigirLocal(local);
            Organizacao organizacao = organizacaoDAO.findBySigla(local);
            if (organizacao == null) {
                System.out.println("DISTRIBUIÇÃO NÃO IMPORTADA: " + turmaCriada.getCurso().getCodigo() + " - " + turmaCriada.getNumeroTurma() + " ->" + local);
                continue;
            }
            if (quantidadeVagas < 1) {
                System.out.println("DISTRIBUIÇÃO - DISTRIBUIÇÃO DE 0 VAGAS");
                continue;
            }
            if ((organizacao != null) && (quantidadeVagas > 0)) {
                Distribuicao distribuicao = new Distribuicao();
                if (organizacao != null) {
                    distribuicao.setOrganizacao(organizacao);
                }
                distribuicao.setTurma(turmaCriada);
                distribuicao.setQuantidadeVagas(quantidadeVagas);
                distribuicao.setReserva(false);
                distribuicaoDAO.create(distribuicao);
            } else {
                if (organizacao == null) {
                    System.out.println(turmaCriada.getCurso().getCodigo() + " - " + turmaCriada.getNumeroTurma() + "organização não encontrada: " + local);
                }
                if (quantidadeVagas <= 0) {
                    System.out.println(turmaCriada.getCurso().getCodigo() + " - " + turmaCriada.getNumeroTurma() + "quantidade de vagas inválida: " + local);
                }
            }
        }
    } 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 : HibernateOrganizacaoDAO(com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO) DistribuicaoDAO(com.tomasio.projects.trainning.dao.DistribuicaoDAO) HibernateDistribuicaoDAO(com.tomasio.projects.trainning.dao.HibernateDistribuicaoDAO) DAOException(com.tomasio.projects.trainning.exception.DAOException) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) HibernateOrganizacaoDAO(com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO) HibernateDistribuicaoDAO(com.tomasio.projects.trainning.dao.HibernateDistribuicaoDAO) Organizacao(com.tomasio.projects.trainning.model.Organizacao) Distribuicao(com.tomasio.projects.trainning.model.Distribuicao)

Example 30 with Organizacao

use of com.tomasio.projects.trainning.model.Organizacao 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)

Aggregations

Organizacao (com.tomasio.projects.trainning.model.Organizacao)80 DAOException (com.tomasio.projects.trainning.exception.DAOException)77 Transactional (org.springframework.transaction.annotation.Transactional)45 CoreException (com.tomasio.projects.trainning.exeption.CoreException)41 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)35 OrganizacaoDAO (com.tomasio.projects.trainning.dao.OrganizacaoDAO)19 Pessoa (com.tomasio.projects.trainning.model.Pessoa)19 PessoaDAO (com.tomasio.projects.trainning.dao.PessoaDAO)17 HibernatePessoaDAO (com.tomasio.projects.trainning.dao.HibernatePessoaDAO)15 ImportTurmasImplEfetivasFromTabelao (com.tomasio.projects.trainning.migration.ImportTurmasImplEfetivasFromTabelao)10 ResultSet (java.sql.ResultSet)10 SQLException (java.sql.SQLException)10 Statement (java.sql.Statement)10 HibernateOrganizacaoDAO (com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO)9 ArrayList (java.util.ArrayList)9 Date (java.sql.Date)8 NetworkUserDAO (com.tomasio.projects.trainning.dao.NetworkUserDAO)5 Session (org.hibernate.Session)5 MatriculaDAO (com.tomasio.projects.trainning.dao.MatriculaDAO)4 NetworkGroupDAO (com.tomasio.projects.trainning.dao.NetworkGroupDAO)4