use of com.tomasio.projects.trainning.model.Matricula 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.model.Matricula in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findAllMatriculas.
@Override
@Transactional(readOnly = true)
public MatriculaDTO[] findAllMatriculas() {
MatriculaDAO dao = factory.getMatriculaDAO();
MatriculaDTO[] matriculasArray = null;
try {
List<Matricula> matriculas = dao.findAll();
if (matriculas != null) {
matriculasArray = new MatriculaDTO[matriculas.size()];
for (int i = 0; i < matriculas.size(); i++) {
matriculasArray[i] = matriculas.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 matriculasArray;
}
use of com.tomasio.projects.trainning.model.Matricula in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findMatricula.
@Override
@Transactional(readOnly = true)
public MatriculaDTO findMatricula(Long matriculaId) {
MatriculaDAO dao = factory.getMatriculaDAO();
Matricula matricula = null;
try {
matricula = dao.find(matriculaId);
} 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 (matricula != null) {
return matricula.createDTO();
} else {
return null;
}
}
use of com.tomasio.projects.trainning.model.Matricula in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findAllMatriculasInstrutoresByPessoaId.
@Override
@Transactional(readOnly = true)
public MatriculaDTO[] findAllMatriculasInstrutoresByPessoaId(Long pessoaId) {
MatriculaDAO dao = factory.getMatriculaDAO();
MatriculaDTO[] matriculasArray = null;
try {
List<Matricula> matriculas = dao.findAllInstrutoresByPessoa(pessoaId);
if (matriculas != null) {
matriculasArray = new MatriculaDTO[matriculas.size()];
for (int i = 0; i < matriculas.size(); i++) {
matriculasArray[i] = matriculas.get(i).createDTOWithoutDependencies();
}
}
} catch (DAOException ex) {
throw new CoreException(ex.getMessage());
} catch (Exception ex) {
throw new CoreException("Erro em tempo de execução: " + ex.getMessage());
}
return matriculasArray;
}
use of com.tomasio.projects.trainning.model.Matricula in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method createCancelamentoMatricula.
@Override
@Transactional
public Long createCancelamentoMatricula(CancelamentoMatriculaDTO cancelamentoMatricula) {
CancelamentoMatriculaDAO cancelamentoMatriculaDAO = factory.getCancelamentoMatriculaDAO();
IndicacaoDAO indicacaoDAO = factory.getIndicacaoDAO();
MatriculaDAO matriculaDAO = factory.getMatriculaDAO();
TurmaDAO turmaDAO = factory.getTurmaDAO();
Long id = null;
CancelamentoMatricula _cancelamentoMatricula = null;
// cria um registro na tabela CancelamentoMatricula
if (cancelamentoMatricula != null) {
_cancelamentoMatricula = new CancelamentoMatricula(cancelamentoMatricula);
}
try {
// verificar se já existe uma apresentação realizada desta matricula
ApresentacaoDAO daoApre = factory.getApresentacaoDAO();
boolean apresentacao = daoApre.hasApresentacaoComparecimento(cancelamentoMatricula.getMatricula().getId());
if (apresentacao) {
throw new CoreException("Não é possível cancelar a matricula pois o aluno já se apresentou para o início do curso");
}
Matricula matricula = matriculaDAO.find(_cancelamentoMatricula.getMatricula().getId());
Indicacao indicacao = matricula.getIndicacao();
TurmaEfetiva turma = matricula.getTurma();
id = cancelamentoMatriculaDAO.create(_cancelamentoMatricula);
indicacao.setMatriculado(false);
indicacaoDAO.update(indicacao);
if (hasMatriculas(turma.getId())) {
turma.setAtivado(true);
} else {
turma.setAtivado(false);
}
turmaDAO.update(turma);
} 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());
throw new CoreException(ex.getMessage());
}
return id;
}
Aggregations