use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method calculateCustoPrevistoInstrutores.
@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoPrevistoInstrutores(TurmaEfetivaDTO[] turmas) {
Map<String, BigDecimal> result = new HashMap();
SimpleDateFormat df = new SimpleDateFormat("yyyy");
TurmaDAO turmaDAO = factory.getTurmaDAO();
BigDecimal transportePrevisto = new BigDecimal(0.00);
BigDecimal diariasPrevisto = new BigDecimal(0.00);
for (TurmaEfetivaDTO turma : turmas) {
try {
int exercicio = Integer.parseInt(df.format(turma.getExercicio()));
Long cursoId = turma.getCurso().getId();
int totalTurmas = 0;
for (int i = exercicio - 2; i < exercicio; i++) {
List<TurmaEfetiva> turmasAnteriores = turmaDAO.findAllTurmasEfetivas(df.parse(String.valueOf(i)), null, cursoId, null, null, null);
Iterator<TurmaEfetiva> iterator = turmasAnteriores.iterator();
while (iterator.hasNext()) {
TurmaEfetiva t = iterator.next();
if (t.isAtivado() == false || t.isCancelado()) {
iterator.remove();
}
}
totalTurmas += turmasAnteriores.size();
TurmaEfetivaDTO[] turmasArray = new TurmaEfetivaDTO[turmasAnteriores.size()];
for (int j = 0; j < turmasArray.length; j++) {
turmasArray[j] = turmasAnteriores.get(j).createDTOWithoutDependencies();
}
Map<String, BigDecimal> mapCustos = calculateCustoRealizadoInstrutores(turmasArray);
if (totalTurmas > 0) {
diariasPrevisto = diariasPrevisto.add(mapCustos.get("diarias").divide(new BigDecimal(totalTurmas), BigDecimal.ROUND_UP));
transportePrevisto = transportePrevisto.add(mapCustos.get("transporte").divide(new BigDecimal(totalTurmas), BigDecimal.ROUND_UP));
}
}
} catch (DAOException | ParseException ex) {
Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
}
}
result.put("transporte", transportePrevisto);
result.put("diarias", diariasPrevisto);
result.put("total", transportePrevisto.add(diariasPrevisto));
return result;
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method calculateCustoRealizadoAlunos.
@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoRealizadoAlunos(TurmaEfetivaDTO[] turmas) {
Map<String, BigDecimal> result = new HashMap();
MatriculaDAO matriculaDAO = factory.getMatriculaDAO();
PessoaDAO pessoaDAO = factory.getPessoaDAO();
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 transporteRealizado = new BigDecimal(0.00);
BigDecimal diariasRealizado = new BigDecimal(0.00);
try {
for (TurmaEfetivaDTO turma : turmas) {
if (turma.isCancelado()) {
continue;
}
List<Matricula> alunos = matriculaDAO.findAllAlunos(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 (Matricula aluno : alunos) {
if (aluno.isCancelada()) {
continue;
}
Pessoa pessoa = pessoaDAO.find(aluno.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
Organizacao organizacaoAluno = organizacaoDAO.find(pessoa.getOrganizacao().getId());
if (organizacaoAluno.createDTO() instanceof ExternoDTO) {
continue;
}
Organizacao organizacaoLocal = organizacaoDAO.find(fase.getLocal().getId());
if (!organizacaoAluno.getCidade().getId().equals(organizacaoLocal.getCidade().getId())) {
diariasRealizado = diariasRealizado.add(diaria.multiply(new BigDecimal(intervalo)));
transporteRealizado = transporteRealizado.add(passagem);
}
}
}
}
}
}
} catch (DAOException ex) {
Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
}
result.put("transporte", transporteRealizado);
result.put("diarias", diariasRealizado);
result.put("total", transporteRealizado.add(diariasRealizado));
return result;
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class ExecucaoBPMServiceActivitiImpl method startExecucaoProcess.
@Override
public String startExecucaoProcess(Long turmaId) {
identityService.setAuthenticatedUserId("lincolnlsc");
ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("execucaoCISCEA").singleResult();
TurmaEfetivaDTO turma = atividadesEnsinoService.findTurmaEfetiva(turmaId);
if (turma.getProcessId() != null) {
return null;
}
Map<String, String> params = new HashMap();
params.put("turmaId", String.valueOf(turmaId));
params.put("codigoCurso", turma.getCurso().getCodigo());
params.put("numeroTurma", String.valueOf(turma.getNumeroTurma()));
ProcessInstance processInstance = formService.submitStartFormData(definition.getId(), params);
turma.setProcessId(processInstance.getId());
turma.setProcessStatus("AGUARDANDO DIVULGAÇÃO");
atividadesEnsinoService.updateTurmaEfetiva(turma);
return processInstance.getId();
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class TestMail method main.
public static void main(String[] args) throws FileNotFoundException, Exception {
ApplicationContext context = new ClassPathXmlApplicationContext("service-context.xml");
SimpleDateFormat df = new SimpleDateFormat("yyyy");
AtividadesEnsinoService service = (AtividadesEnsinoService) context.getBean("atividadesEnsinoService");
// service.updateWorkflowActors(821699L);
System.out.println("recuperando todas as turmas do sistema");
TurmaEfetivaDTO[] turmas = service.findAllTurmasEfetivas(df.parse("2015"), null, null, null, null, null);
for (TurmaEfetivaDTO turma : turmas) {
System.out.println("BUSCANDO INDICAÇÕES DA TURMA " + turma.getId());
IndicacaoAlunoDTO[] indicacoes = service.findAllIndicacoesAlunos(turma.getId());
for (IndicacaoAlunoDTO indicacao : indicacoes) {
System.out.println("ATUALIZANDO INDICAÇÃO");
service.updateWorkflowActors(indicacao.getId());
}
}
System.out.println("Finalizado");
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findTurmaEfetiva.
@Override
@Transactional(readOnly = true)
public TurmaEfetivaDTO findTurmaEfetiva(Long turmaId) {
TurmaDAO dao = factory.getTurmaDAO();
Turma turma = null;
try {
turma = dao.find(turmaId);
} 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());
}
if (turma != null) {
// proccessarPendencias((TurmaEfetiva) turma);
TurmaEfetivaDTO dto = (TurmaEfetivaDTO) turma.createDTO();
return dto;
} else {
return null;
}
}
Aggregations