use of com.tomasio.projects.trainning.dao.DistribuicaoDAO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method calculateCustoPrevistoAdministrativo.
@Override
@Transactional(readOnly = true)
public BigDecimal calculateCustoPrevistoAdministrativo(TurmaEfetivaDTO[] turmas) {
BigDecimal result = new BigDecimal(0);
DistribuicaoDAO distribuicaoDAO = factory.getDistribuicaoDAO();
String parameterIcea = ConfigHelper.getValue("custos.icea");
BigDecimal custoIndividualIcea = new BigDecimal(parameterIcea);
OrganizacaoDAO organizacaoDAO = factory.getOrganizacaoDAO();
try {
for (TurmaEfetivaDTO turma : turmas) {
List<Distribuicao> vagas = distribuicaoDAO.findAll(turma.getId());
FaseDTO[] fases = turma.getFases();
for (FaseDTO fase : fases) {
if ("PRESENCIAL".equals(fase.getTipoFase())) {
int intervalo = 0;
if (fase.getDataInicio() != null && fase.getDataTermino() != null) {
DateTime dataInicio = new DateTime(fase.getDataInicio().getTime());
DateTime dataTermino = new DateTime(fase.getDataTermino().getTime());
Days d = Days.daysBetween(dataInicio, dataTermino);
intervalo = d.getDays() + 2;
}
if (intervalo <= 0) {
continue;
}
int countVagas = 0;
for (Distribuicao vaga : vagas) {
if (vaga.isReserva()) {
continue;
}
countVagas++;
}
BigDecimal custoTurma = custoIndividualIcea.multiply(new BigDecimal(intervalo)).multiply(new BigDecimal(countVagas));
result = result.add(custoTurma);
}
}
}
} catch (DAOException ex) {
Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
}
return result;
}
use of com.tomasio.projects.trainning.dao.DistribuicaoDAO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findAllDistribuicoes.
@Override
@Transactional(readOnly = true)
public DistribuicaoDTO[] findAllDistribuicoes() {
DistribuicaoDAO dao = factory.getDistribuicaoDAO();
DistribuicaoDTO[] distribuicoesArray = null;
try {
List<Distribuicao> distribuicoes = dao.findAll();
if (distribuicoes != null) {
distribuicoesArray = new DistribuicaoDTO[distribuicoes.size()];
for (int i = 0; i < distribuicoes.size(); i++) {
distribuicoesArray[i] = distribuicoes.get(i).createDTOWithoutDependencies();
}
}
} catch (DAOException ex) {
ex.printStackTrace();
throw new CoreException(ex.getMessage());
} catch (Exception ex) {
ex.printStackTrace();
throw new CoreException("Erro em tempo de execução: " + ex.getMessage());
}
return distribuicoesArray;
}
use of com.tomasio.projects.trainning.dao.DistribuicaoDAO 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.dao.DistribuicaoDAO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findAllDistribuicoes.
@Override
@Transactional(readOnly = true)
public DistribuicaoDTO[] findAllDistribuicoes(Long turmaId) {
DistribuicaoDAO dao = factory.getDistribuicaoDAO();
DistribuicaoDTO[] distribuicoesArray = null;
try {
List<Distribuicao> distribuicoes = dao.findAll(turmaId);
if (distribuicoes != null) {
distribuicoesArray = new DistribuicaoDTO[distribuicoes.size()];
for (int i = 0; i < distribuicoes.size(); i++) {
distribuicoesArray[i] = distribuicoes.get(i).createDTOWithoutDependencies();
}
}
} catch (DAOException ex) {
ex.printStackTrace();
throw new CoreException(ex.getMessage());
} catch (Exception ex) {
ex.printStackTrace();
throw new CoreException("Erro em tempo de execução: " + ex.getMessage());
}
return distribuicoesArray;
}
use of com.tomasio.projects.trainning.dao.DistribuicaoDAO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method calculateCustoPrevistoAlunos.
@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoPrevistoAlunos(TurmaEfetivaDTO[] turmas) {
Map<String, BigDecimal> result = new HashMap();
DistribuicaoDAO distribuicaoDAO = factory.getDistribuicaoDAO();
String parameterDiaria = ConfigHelper.getValue("custos.diaria");
String parameterPassagem = ConfigHelper.getValue("custos.passagem");
BigDecimal diaria = new BigDecimal(parameterDiaria);
BigDecimal passagem = new BigDecimal(parameterPassagem);
OrganizacaoDAO organizacaoDAO = factory.getOrganizacaoDAO();
BigDecimal transportePrevisto = new BigDecimal(0.00);
BigDecimal diariasPrevisto = new BigDecimal(0.00);
try {
for (TurmaEfetivaDTO turma : turmas) {
List<Distribuicao> vagas = distribuicaoDAO.findAll(turma.getId());
FaseDTO[] fases = turma.getFases();
for (FaseDTO fase : fases) {
if ("PRESENCIAL".equals(fase.getTipoFase())) {
int intervalo = 0;
if (fase.getDataInicio() != null && fase.getDataTermino() != null) {
DateTime dataInicio = new DateTime(fase.getDataInicio().getTime());
DateTime dataTermino = new DateTime(fase.getDataTermino().getTime());
Days d = Days.daysBetween(dataInicio, dataTermino);
intervalo = d.getDays() + 2;
}
if (intervalo <= 0) {
continue;
}
if (intervalo > 50) {
intervalo = 50;
}
for (Distribuicao vaga : vagas) {
if (vaga.isReserva()) {
continue;
}
Organizacao organizacaoAluno = organizacaoDAO.find(vaga.getOrganizacao().getId());
if (organizacaoAluno.createDTO() instanceof ExternoDTO) {
continue;
}
Organizacao organizacaoLocal = organizacaoDAO.find(fase.getLocal().getId());
if (!organizacaoAluno.getCidade().getId().equals(organizacaoLocal.getCidade().getId())) {
diariasPrevisto = diariasPrevisto.add(diaria.multiply(new BigDecimal(intervalo)).multiply(new BigDecimal(vaga.getQuantidadeVagas())));
transportePrevisto = transportePrevisto.add(passagem.multiply(new BigDecimal(vaga.getQuantidadeVagas())));
}
}
}
}
}
} catch (DAOException ex) {
Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
}
result.put("transporte", transportePrevisto);
result.put("diarias", diariasPrevisto);
result.put("total", diariasPrevisto.add(transportePrevisto));
return result;
}
Aggregations