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