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"));
}
}
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"));
}
}
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);
}
}
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);
}
}
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();
}
Aggregations