use of com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method calculateCustoRealizadoInstrutores.
@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoRealizadoInstrutores(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> instrucoes = matriculaDAO.findAllInstrutores(turma.getId());
for (Matricula matricula : instrucoes) {
if (matricula.isCancelada()) {
continue;
}
matricula.getIndicacao().getId();
IndicacaoInstrutorDTO indicacao = (IndicacaoInstrutorDTO) matricula.getIndicacao().createDTO();
int intervalo = 0;
Interval instrucaoInterval = null;
if (indicacao.getPeriodo() != null && indicacao.getPeriodo().getDataInicio() != null && indicacao.getPeriodo().getDataTermino() != null) {
DateTime dataInicioInstrucao = new DateTime(indicacao.getPeriodo().getDataInicio().getTime());
DateTime dataTerminoInstrucao = new DateTime(indicacao.getPeriodo().getDataTermino().getTime());
if (dataInicioInstrucao.isAfter(dataTerminoInstrucao)) {
continue;
}
instrucaoInterval = new Interval(dataInicioInstrucao, dataTerminoInstrucao);
Days d = Days.daysBetween(dataInicioInstrucao, dataTerminoInstrucao);
intervalo = d.getDays() + 2;
}
if (intervalo <= 0) {
continue;
}
if (intervalo > 50) {
intervalo = 50;
}
Pessoa pessoa = pessoaDAO.find(indicacao.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
Organizacao organizacaoInstrutor = organizacaoDAO.find(pessoa.getOrganizacao().getId());
if (organizacaoInstrutor.createDTO() instanceof ExternoDTO) {
continue;
}
FaseDTO[] fases = turma.getFases();
for (FaseDTO fase : fases) {
if (fase.getDataInicio() != null && fase.getDataTermino() != null) {
DateTime dataInicioFase = new DateTime(fase.getDataInicio().getTime());
DateTime dataTerminoFase = new DateTime(fase.getDataTermino().getTime());
if (dataTerminoFase.isBefore(dataInicioFase)) {
continue;
}
Interval faseInterval = new Interval(dataInicioFase, dataTerminoFase);
if (faseInterval.contains(instrucaoInterval) || instrucaoInterval.contains(faseInterval)) {
Organizacao organizacaoLocal = organizacaoDAO.find(fase.getLocal().getId());
if (!organizacaoInstrutor.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.IndicacaoInstrutorDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method createIndicacao.
@Override
@Transactional
public Long createIndicacao(IndicacaoDTO indicacao) {
IndicacaoDAO dao = factory.getIndicacaoDAO();
OrganizacaoDAO organizacaoDAO = factory.getOrganizacaoDAO();
TurmaDAO turmaDAO = factory.getTurmaDAO();
Indicacao _indicacao = null;
if (indicacao != null) {
if (indicacao instanceof IndicacaoAlunoDTO) {
_indicacao = new IndicacaoAluno((IndicacaoAlunoDTO) indicacao);
} else {
_indicacao = new IndicacaoInstrutor((IndicacaoInstrutorDTO) indicacao);
}
}
Long id = null;
try {
id = dao.create(_indicacao);
updateWorkflowActors(_indicacao.getId());
} catch (DAOException ex) {
throw new CoreException(ex.getMessage());
} catch (Exception ex) {
ex.printStackTrace();
throw new CoreException("Erro em tempo de execução: " + ex.getMessage());
}
return id;
}
use of com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO in project trainning by fernandotomasio.
the class EXC007ODF method makeReport.
@Override
public void makeReport() {
AtividadesEnsinoService service = (AtividadesEnsinoService) services.get("atividadesEnsinoService");
OrganizationalService organizationalService = (OrganizationalService) services.get("organizationalService");
try {
odt = OdfTextDocument.newTextDocument();
Long turmaId = (Long) params.get("turmaId");
TurmaEfetivaDTO turma = (TurmaEfetivaDTO) service.findTurmaEfetiva(turmaId);
IndicacaoDTO[] indicacoesAlunos = service.findAllIndicacoesAlunosSelecionados(turmaId);
IndicacaoInstrutorDTO[] indicacoesInstrutores = service.findAllIndicacoesInstrutoresSelecionados(turmaId);
FaseDTO[] periodos = turma.getFases();
List<OrganizacaoDTO> locaisRealizacao = new ArrayList<>();
String textoPeriodo = "";
boolean cursoEAD = false;
boolean ehGT = false;
ehGT = turma.getCurso().isEhGT();
for (FaseDTO faseDTO : periodos) {
if (turma.getFases() != null) {
locaisRealizacao.add(faseDTO.getLocal());
String local = "";
if (faseDTO.getLocal() != null) {
local = faseDTO.getLocal().getSigla();
}
textoPeriodo += local;
if (faseDTO.getPeriodoFormatted() != null) {
textoPeriodo += ", NO PERÍODO DE " + faseDTO.getPeriodoFormatted().replace("a", "A");
} else {
textoPeriodo += ", NO PERÍODO DE ...";
}
textoPeriodo += " (" + faseDTO.getDescricao() + ") ";
}
if (faseDTO.getTipoFase().equals("EAD")) {
cursoEAD = true;
}
}
String inicial = "";
inicial += "INFO VEX ATZD ATV E MTCL DO CURSO ";
inicial += turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao();
inicial += ", ";
inicial += "TURMA" + turma.getNumeroTurma();
inicial += ", A SER REALIZADO NO ";
inicial += textoPeriodo;
inicial += " COM OS PARTICIPANTES ABAIXO RELACIONADOS:";
Set<String> organizacoes = new HashSet<String>();
String enderecamento = "";
for (IndicacaoDTO indicacaoDTO : indicacoesAlunos) {
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(indicacaoDTO.getOrganizacao().getId());
organizacoes.add(organizacao.getSigla());
PessoaDTO pessoa = organizationalService.findPessoa(indicacaoDTO.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
organizacoes.add(pessoa.getOrganizacao().getSigla());
}
}
OrganizacaoDTO organizacaoResponsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
organizacoes.add(organizacaoResponsavel.getSigla());
for (IndicacaoDTO indicacaoDTO : indicacoesInstrutores) {
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(indicacaoDTO.getOrganizacao().getId());
organizacoes.add(organizacao.getSigla());
PessoaDTO pessoa = organizationalService.findPessoa(indicacaoDTO.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
organizacoes.add(pessoa.getOrganizacao().getSigla());
}
}
organizacaoResponsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
organizacoes.add(organizacaoResponsavel.getSigla());
for (String sigla : organizacoes) {
enderecamento += " " + sigla;
}
odt.newParagraph(enderecamento);
odt.newParagraph("");
odt.newParagraph(inicial);
odt.newParagraph("");
odt.newParagraph("INSTRUTORES:");
odt.newParagraph("");
for (IndicacaoInstrutorDTO indicacao : indicacoesInstrutores) {
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
indicacao = (IndicacaoInstrutorDTO) service.findIndicacao(indicacao.getId());
String indicado = pessoa.getTargetaCompleta();
indicado += ", ";
indicado += "CPF: " + pessoa.getCpf();
if (cursoEAD || ehGT) {
indicado += ", EMAIL: " + indicacao.getEmail();
}
if (pessoa.getOrganizacao() != null) {
indicado += " (" + pessoa.getOrganizacao().getSigla() + "), PERÍODO DE ";
} else {
indicado += " (), PERÍODO DE ";
}
if (indicacao.getPeriodo() != null) {
indicado += indicacao.getPeriodo().getPeriodoFormatted().replace("a", "A") + ";";
}
odt.newParagraph(indicado);
}
odt.newParagraph("ALUNOS:");
odt.newParagraph("");
for (IndicacaoDTO indicacao : indicacoesAlunos) {
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
indicacao = service.findIndicacao(indicacao.getId());
String indicado = pessoa.getTargetaCompleta();
indicado += ", ";
indicado += "CPF: " + pessoa.getCpf();
if (cursoEAD) {
indicado += ", EMAIL: " + indicacao.getEmail();
}
if (pessoa.getOrganizacao() != null) {
indicado += " (" + pessoa.getOrganizacao().getSigla() + ");";
}
odt.newParagraph(indicado);
}
String instrutores = "";
odt.newParagraph("");
OrganizacaoDTO gestora = organizationalService.findOrganizacao(turma.getOrganizacaoGestoraId());
if (gestora.getSigla().equals("CISCEA")) {
odt.newParagraph("INFO VEX AINDA, QUE: ");
}
for (OrganizacaoDTO local : locaisRealizacao) {
if (local instanceof ExternoDTO) {
if (local.getEnderecos() != null && local.getEnderecos().length > 0) {
EnderecoDTO endereco = local.getEnderecos()[0];
odt.newParagraph("A) ENDEREÇO DA EMPRESA " + local.getNome().toUpperCase());
if (endereco.getCidade() != null && endereco.getCidade().getEstado() != null) {
odt.newParagraph("- CIDADE: " + endereco.getCidade().getNome().toUpperCase() + "-" + endereco.getCidade().getEstado().getSigla());
}
if (endereco.getBairro() != null) {
odt.newParagraph("-BAIRRO: " + endereco.getBairro().toUpperCase());
}
if (endereco.getLogradouro() != null) {
odt.newParagraph("-RUA: " + endereco.getLogradouro().toUpperCase());
}
if (endereco.getNumero() != null) {
odt.newParagraph("-NÚMERO: " + endereco.getNumero().toUpperCase());
}
odt.newParagraph("-CEP: " + endereco.getCep());
odt.newParagraph("-TEL: +55 55 5555-5555 / FAX +55 55 5555-5555");
}
}
}
if (gestora.getSigla().equals("CISCEA")) {
odt.newParagraph("B) CADA SIAT DEVERÁ ENCAMINHAR À CISCEA, NO PRAZO MÁXIMO DE 10 DIAS APÓS O ENCERRAMENTO DO CURSO, DOCUMENTO INFORMANDO SE O MESMO FOI REALIZADO DE FORMA SATISFATÓRIA,");
odt.newParagraph(" CASO O CURSO TENHA SIDO INSATISFATÓRIO, ENCAMINHAR O DOCUMENTO COM UM RELATÓRIO CONCLUSIVO.");
}
odt.save(os);
} catch (Exception ex) {
Logger.getLogger(EXC007ODF.class.getName()).log(Level.SEVERE, null, ex);
}
}
use of com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO in project trainning by fernandotomasio.
the class EXC010ODF method makeReport.
@Override
public void makeReport() {
AtividadesEnsinoService service = (AtividadesEnsinoService) services.get("atividadesEnsinoService");
OrganizationalService organizationalService = (OrganizationalService) services.get("organizationalService");
TrainningService trainningService = (TrainningService) services.get("trainningService");
try {
odt = OdfTextDocument.newTextDocument();
Long turmaId = (Long) params.get("turmaId");
TurmaEfetivaDTO turma = service.findTurmaEfetiva(turmaId);
CursoDTO curso = trainningService.findCurso(turma.getCurso().getId());
IndicacaoDTO[] indicacoesAlunos = service.findAllIndicacoesAlunosSelecionados(turmaId);
IndicacaoInstrutorDTO[] indicacoesInstrutores = service.findAllIndicacoesInstrutoresSelecionados(turmaId);
FaseDTO[] periodos = turma.getFases();
String textoPeriodo = "";
for (FaseDTO faseDTO : periodos) {
if (turma.getFases() != null) {
String local = "";
if (faseDTO.getLocal() != null) {
local = faseDTO.getLocal().getSigla();
}
textoPeriodo += local;
if (faseDTO.getPeriodoFormatted() != null) {
textoPeriodo += ", NO PERIODO DE " + faseDTO.getPeriodoFormatted().replace("a", "A");
} else {
textoPeriodo += ", NO PERIODO DE ...";
}
textoPeriodo += " (" + faseDTO.getDescricao() + ") ";
}
}
String parte1 = "";
parte1 += "INFO VEX QUE ESTÁ PREVISTA A REALIZAÇÃO DO CURSO ";
parte1 += turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao();
parte1 += ", TURMA " + turma.getNumeroTurma();
parte1 += ", A SER REALIZADO NO ";
parte1 += textoPeriodo;
parte1 += " CONFORME SEGUINTES ORIENTAÇÕES:";
odt.newParagraph(parte1);
Set<String> organizacoes = new HashSet<String>();
String enderecamento = "";
for (IndicacaoDTO indicacaoDTO : indicacoesAlunos) {
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(indicacaoDTO.getOrganizacao().getId());
organizacoes.add(organizacao.getSigla());
PessoaDTO pessoa = organizationalService.findPessoa(indicacaoDTO.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
organizacoes.add(pessoa.getOrganizacao().getSigla());
}
}
if (curso.getFolhaRosto().getObjetivo() != null) {
odt.newParagraph("");
odt.newParagraph("OBJETIVO DO CURSO:");
odt.newParagraph(curso.getFolhaRosto().getObjetivo().toUpperCase());
}
if (curso.getFolhaRosto().getDisciplinas() != null) {
odt.newParagraph("");
odt.newParagraph("DISCIPLINAS:");
odt.newParagraph(curso.getFolhaRosto().getDisciplinas().toUpperCase());
}
if (curso.getFolhaRosto().getPreRequisitos() != null) {
odt.newParagraph("");
odt.newParagraph("PRÉ-REQUISITOS:");
odt.newParagraph(curso.getFolhaRosto().getPreRequisitos().toUpperCase());
}
DistribuicaoDTO[] distribuicoes = service.findAllDistribuicoes(turmaId);
if (distribuicoes.length > 0) {
odt.newParagraph("");
odt.newParagraph("DISTRIBUIÇÃO DE VAGAS:");
}
for (DistribuicaoDTO distribuicaoDTO : distribuicoes) {
organizacoes.add(distribuicaoDTO.getOrganizacao().getSigla());
String distribuicao = distribuicaoDTO.getOrganizacao().getSigla();
if (distribuicaoDTO.getQuantidadeVagas() > 1) {
distribuicao += " (" + distribuicaoDTO.getQuantidadeVagas() + " VAGAS)";
} else {
distribuicao += " (" + distribuicaoDTO.getQuantidadeVagas() + " VAGA)";
}
odt.newParagraph(distribuicao);
}
odt.newParagraph("");
if (turma.getPeriodoIndicacao().getDataInicio() != null && turma.getPeriodoIndicacao().getDataInicio() != null && turma.getPeriodoIndicacao().getDataTermino() != null) {
String parte2 = "INFORMO AINDA, VEX QUE AS INDICAÇÕES DEVEM SER FEITAS PELO REGIONAL, EXCLUSIVAMENTE " + "ATRAVÉS DO SISTEMA DE GERENCIAMENTO DA CAPACITAÇÃO - SGC, NO PERÍODO DE ";
parte2 += turma.getPeriodoIndicacao().getPeriodoFormatted().replace("a", "A");
parte2 += ".";
odt.newParagraph(parte2);
}
OrganizacaoDTO organizacaoResponsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
organizacoes.add(organizacaoResponsavel.getSigla());
for (IndicacaoDTO indicacaoDTO : indicacoesInstrutores) {
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(indicacaoDTO.getOrganizacao().getId());
organizacoes.add(organizacao.getSigla());
PessoaDTO pessoa = organizationalService.findPessoa(indicacaoDTO.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
organizacoes.add(pessoa.getOrganizacao().getSigla());
}
}
organizacaoResponsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
organizacoes.add(organizacaoResponsavel.getSigla());
for (String sigla : organizacoes) {
enderecamento += " " + sigla;
}
odt.newParagraph("");
odt.newParagraph("ENDEREÇAMENTO:");
odt.newParagraph(enderecamento);
odt.save(os);
} catch (Exception ex) {
Logger.getLogger(EXC010ODF.class.getName()).log(Level.SEVERE, null, ex);
}
}
use of com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO in project trainning by fernandotomasio.
the class EXC011ODF method makeReport.
@Override
public void makeReport() {
AtividadesEnsinoService service = (AtividadesEnsinoService) services.get("atividadesEnsinoService");
OrganizationalService organizationalService = (OrganizationalService) services.get("organizationalService");
try {
odt = OdfTextDocument.newTextDocument();
Long turmaId = (Long) params.get("turmaId");
TurmaDTO turma = service.findTurmaEfetiva(turmaId);
TurmaEfetivaDTO turmaEfetiva = service.findTurmaEfetiva(turmaId);
IndicacaoDTO[] indicacoesAlunos = service.findAllIndicacoesAlunos(turmaId);
IndicacaoInstrutorDTO[] indicacoesInstrutores = service.findAllIndicacoesInstrutores(turmaId);
OrganizacaoDTO gestora = organizationalService.findOrganizacao(turmaEfetiva.getOrganizacaoGestoraId());
FaseDTO[] periodos = turma.getFases();
String textoPeriodo = "";
for (FaseDTO faseDTO : periodos) {
if (turma.getFases() != null) {
String local = "";
if (faseDTO.getLocal() != null) {
local = faseDTO.getLocal().getSigla();
}
textoPeriodo += local;
if (faseDTO.getPeriodoFormatted() != null) {
textoPeriodo += ", NO PERÍODO DE " + faseDTO.getPeriodoFormatted().replace("a", "A");
} else {
textoPeriodo += ", NO PERÍODO DE ...";
}
textoPeriodo += " (" + faseDTO.getDescricao() + ") ";
}
}
String inicial = "";
inicial += "INFO (VEX) QUE FOI CANCELADO O CURSO ";
inicial += turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao();
inicial += ", ";
inicial += "TURMA" + turma.getNumeroTurma();
inicial += ", QUE SERIA REALIZADO NO ";
inicial += textoPeriodo;
inicial += " VIRTUDE {{MOTIVO DO CANCELAMENTO}}.";
Set<String> organizacoes = new HashSet<String>();
String enderecamento = "";
for (IndicacaoDTO indicacaoDTO : indicacoesAlunos) {
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(indicacaoDTO.getOrganizacao().getId());
organizacoes.add(organizacao.getSigla());
PessoaDTO pessoa = organizationalService.findPessoa(indicacaoDTO.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
organizacoes.add(pessoa.getOrganizacao().getSigla());
}
}
OrganizacaoDTO organizacaoResponsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
organizacoes.add(organizacaoResponsavel.getSigla());
for (IndicacaoDTO indicacaoDTO : indicacoesInstrutores) {
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(indicacaoDTO.getOrganizacao().getId());
organizacoes.add(organizacao.getSigla());
PessoaDTO pessoa = organizationalService.findPessoa(indicacaoDTO.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
organizacoes.add(pessoa.getOrganizacao().getSigla());
}
}
organizacaoResponsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
organizacoes.add(organizacaoResponsavel.getSigla());
DistribuicaoDTO[] distribuicoes = service.findAllDistribuicoes(turmaId);
for (DistribuicaoDTO distribuicaoDTO : distribuicoes) {
organizacoes.add(distribuicaoDTO.getOrganizacao().getSigla());
}
for (String sigla : organizacoes) {
enderecamento += " " + sigla;
}
odt.newParagraph(enderecamento);
odt.newParagraph("");
odt.newParagraph(inicial);
// VER O QUE O LINCOLN PEDIU, ACHO QUE É PRA INCLUIR ESTE TRECHO ABAIXO NO ITEM DE MATRICULA = EXC009ODF
// if (gestora.getSigla().equals("DECEA")) {
// String cancelamento = "";
//
// cancelamento += "INFO VEX ATZD ATV E MTCL DO CURSO ";
//
// cancelamento += turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao();
// cancelamento += ", ";
// cancelamento += "TURMA" + turma.getNumeroTurma();
// cancelamento += ", A SER REALIZADO NO ";
// cancelamento += textoPeriodo;
// cancelamento += " COM OS PARTICIPANTES ABAIXO RELACIONADOS:";
// odt.newParagraph("");
// odt.newParagraph("");
// odt.newParagraph("");
// odt.newParagraph("");
// odt.newParagraph(cancelamento);
//
// }
odt.save(os);
} catch (Exception ex) {
Logger.getLogger(EXC011ODF.class.getName()).log(Level.SEVERE, null, ex);
}
}
Aggregations