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