use of com.tomasio.projects.trainning.dto.FaseDTO 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.FaseDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoMailAdvice method createParecerMethodInterceptor.
@Around("createParecer()")
public Object createParecerMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] args = joinPoint.getArgs();
ParecerDTO parecer = (ParecerDTO) args[0];
Object result = joinPoint.proceed();
if (parecer instanceof AprovacaoDTO) {
IndicacaoDTO indicacao = atividadesEnsinoService.findIndicacao(parecer.getIndicacao().getId());
TurmaEfetivaDTO turma = atividadesEnsinoService.findTurmaEfetiva(indicacao.getTurma().getId());
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
String to = indicacao.getEmail();
String subject = "SGC - APROVAÇÃO DE INDICAÇÃO PARA CURSO";
String textfase = "Fases:\n";
int countfases = 1;
for (FaseDTO fase : turma.getFases()) {
textfase += "" + countfases + " - Modalidade: " + fase.getTipoFase() + " - Descrição: " + fase.getDescricao() + " - Local: " + fase.getLocal().getSigla() + " - Início: " + fase.getDataInicioFormatted() + " - Término: " + fase.getDataTerminoFormatted() + "\n";
countfases++;
}
SimpleDateFormat dfExec = new SimpleDateFormat("yyyy");
SimpleDateFormat df = new SimpleDateFormat("dd-mm-yyyy");
String exercicio = dfExec.format(turma.getExercicio());
Date dtParecer = null;
try {
dtParecer = df.parse(df.format(parecer.getData()));
} catch (ParseException ex) {
Logger.getLogger(HibernateIndicacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
OrganizacaoDTO OMGEstor = organizationalService.findOrganizacao(turma.getOrganizacaoGestoraId());
OrganizacaoDTO OMResp = organizationalService.findOrganizacao(turma.getResponsavelId());
String text = "Prezado(a), " + pessoa.getTargetaCompletaOM() + "\n\n" + "Sua INDICAÇÃO para participar do " + turma.getCurso().getCodigo() + " foi APROVADA por " + parecer.getOrganizacao().getSigla() + ".\n\n" + "Informações do Curso: \n" + "Curso: " + turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao() + "\n" + "Turma: " + turma.getNumeroTurma() + " / " + exercicio + "\n" + "Organização Responsável: " + OMResp.getNome() + " (" + OMResp.getSigla() + ")\n" + "Quantidade de Vagas: " + turma.getQuantidadeVagas() + "\n" + "Data de Início: " + turma.getDataInicioFormatted() + "\n" + "Data de Término: " + turma.getDataTerminoFormatted() + "\n" + "Local: " + turma.getLocal() + "\n" + "Modalidade: " + turma.getTipoTurma() + "\n\n" + textfase + "\nSTATUS DA INDICAÇÃO: " + indicacao.getStatus() + "\n\n" + "Informações do Parecer de Aprovação da Indicação: \n" + "Organização: " + parecer.getOrganizacao().getSigla() + " - Data: " + dtParecer + " - Fundamentação: " + parecer.getTexto() + "\n\n" + "\n\n==> CABE RESSALTAR QUE ESTE E-MAIL POSSUI CARATER MERAMENTE INFORMATIVO. O DOCUMENTO QUE OFICIALIZA A MATRÍCULA NO CURSO É A PUBLICAÇÃO OFICIAL DA OM GESTORA DA CAPACITAÇÃO. <==\n" + "\nAcesse o Portal da Capacitação para mais informações.\n" + "\nEm caso de dúvidas entre em contato com o setor de capacitação de sua OM " + "ou com a Organização Gestora desta capacitação (" + OMGEstor.getSigla() + ") " + "para verificar a veracidade desta informação.\n\n" + "----------------------------------------------------\n" + "Esse e-mail foi enviado de forma automática para " + to + ", NÃO RESPONDA ESTE E-MAIL.\n" + "Este é um serviço prestado pelo SGC - Sistema de Gerenciamento da Capacitação.\n";
systemService.sendMail(to, subject, text);
}
return result;
}
use of com.tomasio.projects.trainning.dto.FaseDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoMailAdvice method createConclusaoMethodInterceptor.
@Around("createConclusao()")
public Object createConclusaoMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] args = joinPoint.getArgs();
ConclusaoDTO[] conclusoes = (ConclusaoDTO[]) args[0];
for (ConclusaoDTO conclusao : conclusoes) {
if (conclusao.getMatricula() != null) {
MatriculaDTO matricula = atividadesEnsinoService.findMatricula(conclusao.getMatricula().getId());
PessoaDTO pessoa = organizationalService.findPessoa(matricula.getPessoa().getId());
String to = matricula.getIndicacao().getEmail();
String subject = "SGC - CONCLUSÃO DE CURSO - " + conclusao.getPessoa().getTargetaSimples();
String textfase = "Fases:\n";
int countfases = 1;
for (FaseDTO fase : matricula.getTurma().getFases()) {
textfase += "" + countfases + " - Modalidade: " + fase.getTipoFase() + " - Descrição: " + fase.getDescricao() + " - Local: " + fase.getLocal().getSigla() + " - Início: " + fase.getDataInicioFormatted() + " - Término: " + fase.getDataTerminoFormatted() + "\n";
countfases++;
}
SimpleDateFormat dfExec = new SimpleDateFormat("yyyy");
String exercicio = dfExec.format(matricula.getTurma().getExercicio());
OrganizacaoDTO OMGEstor = organizationalService.findOrganizacao(matricula.getTurma().getOrganizacaoGestoraId());
OrganizacaoDTO OMResp = organizationalService.findOrganizacao(matricula.getTurma().getResponsavelId());
String text = "Prezado(a), " + pessoa.getTargetaCompletaOM() + "\n\n" + "Foi informada no SGC (Sistema de Gerenciamento do Capacitação) a CONCLUSÃO do seguinte Curso em seu nome:\n\n" + "Curso: " + matricula.getTurma().getCurso().getCodigo() + " - " + matricula.getTurma().getCurso().getDescricao() + "\n" + "Turma: " + matricula.getTurma().getNumeroTurma() + " / " + exercicio + "\n" + "Organização Responsável: " + OMResp.getNome() + " (" + OMResp.getSigla() + ")\n" + "Data de Início: " + matricula.getTurma().getDataInicioFormatted() + "\n" + "Data de Término: " + matricula.getTurma().getDataTerminoFormatted() + "\n" + "Local: " + matricula.getTurma().getLocal() + "\n" + "Modalidade: " + matricula.getTurma().getTipoTurma() + "\n\n" + textfase + "\nAcesse o Portal da Capacitação para mais informações.\n" + "\nEm caso de dúvidas entre em contato com o setor de capacitação de sua OM " + "ou com a Organização Gestora desta capacitação (" + OMGEstor.getSigla() + ") " + "para verificar a veracidade desta informação.\n\n" + "----------------------------------------------------\n" + "Esse e-mail foi enviado de forma automática para " + to + ", NÃO RESPONDA ESTE E-MAIL.\n" + "Este é um serviço prestado pelo SGC - Sistema de Gerenciamento da Capacitação.\n";
if (conclusao.isComAproveitamento()) {
systemService.sendMail(to, subject, text);
}
}
// //inserir notificação de matricula
// NotificacaoMatriculaDTO dto = new NotificacaoMatriculaDTO();
// dto.setDataNotificacao(new Date());
// dto.setMatricula(matricula);
// dto.setDescricao("CONCLUSÃO EMAIL");
// dto.setDestinatario(to);
//
// try {
// atividadesEnsinoService.createNotificacaoMatricula(dto);
// //redirectAttributes.addFlashAttribute("successMessage", "Email enviado com sucesso!");
// } catch (CoreException e) {
// //redirectAttributes.addFlashAttribute("errorMessage", e.getMessage());
// }
}
return joinPoint.proceed();
}
use of com.tomasio.projects.trainning.dto.FaseDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoMailAdvice method createIndicacaoMethodInterceptor.
@Around("createIndicacao()")
public Object createIndicacaoMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] args = joinPoint.getArgs();
IndicacaoDTO indicacao = (IndicacaoDTO) args[0];
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
TurmaEfetivaDTO turma = atividadesEnsinoService.findTurmaEfetiva(indicacao.getTurma().getId());
String to = indicacao.getEmail();
String subject = "SGC - INDICAÇÃO PARA CURSO - " + pessoa.getTargetaSimples();
String textfase = "Fases:\n";
int countfases = 1;
for (FaseDTO fase : turma.getFases()) {
textfase += "" + countfases + " - Modalidade: " + fase.getTipoFase() + " - Descrição: " + fase.getDescricao() + " - Local: " + fase.getLocal().getSigla() + " - Início: " + fase.getDataInicioFormatted() + " - Término: " + fase.getDataTerminoFormatted() + "\n";
countfases++;
}
SimpleDateFormat dfExec = new SimpleDateFormat("yyyy");
String exercicio = dfExec.format(turma.getExercicio());
String modalidadeIndicacao = "";
if (indicacao instanceof IndicacaoInstrutorDTO) {
modalidadeIndicacao = "como INSTRUTOR";
} else {
modalidadeIndicacao = "como ALUNO";
}
OrganizacaoDTO OMGEstor = organizationalService.findOrganizacao(turma.getOrganizacaoGestoraId());
OrganizacaoDTO OMResp = organizationalService.findOrganizacao(turma.getResponsavelId());
String text = "Prezado(a), " + pessoa.getTargetaCompletaOM() + "\n\n" + "Você foi INDICADO para participar " + modalidadeIndicacao + " do seguinte Curso:\n\n" + "Curso: " + turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao() + "\n" + "Turma: " + turma.getNumeroTurma() + " / " + exercicio + "\n" + "Organização Responsável: " + OMResp.getNome() + " (" + OMResp.getSigla() + ")\n" + "Quantidade de Vagas: " + turma.getQuantidadeVagas() + "\n" + "Data de Início: " + turma.getDataInicioFormatted() + "\n" + "Data de Término: " + turma.getDataTerminoFormatted() + "\n" + "Local: " + turma.getLocal() + "\n" + "Modalidade: " + turma.getTipoTurma() + "\n\n" + textfase + "\n\n==> CABE RESSALTAR QUE ESTE E-MAIL POSSUI CARATER MERAMENTE INFORMATIVO. O DOCUMENTO QUE OFICIALIZA A MATRÍCULA NO CURSO É A PUBLICAÇÃO OFICIAL DA OM GESTORA DA CAPACITAÇÃO. <==\n" + "\nAcesse o Portal da Capacitação para mais informações.\n" + "\nEm caso de dúvidas entre em contato com o setor de capacitação de sua OM " + "ou com a Organização Gestora desta capacitação (" + OMGEstor.getSigla() + ") " + "para verificar a veracidade desta informação.\n\n" + "----------------------------------------------------\n" + "Esse e-mail foi enviado de forma automática para " + to + ", NÃO RESPONDA ESTE E-MAIL.\n" + "Este é um serviço prestado pelo SGC - Sistema de Gerenciamento da Capacitação.\n";
systemService.sendMail(to, subject, text);
return joinPoint.proceed();
}
use of com.tomasio.projects.trainning.dto.FaseDTO in project trainning by fernandotomasio.
the class TCATrainningDocument method createAnexo2.
private void createAnexo2(List<TurmaPlanejadaDTO> turmasPlanejadas, Map<Long, CursoDTO> cursosMap) {
Map<Long, List<TurmaDTO>> turmasMap = // ReportUtil.buildTurmasMapByCurso(turmasPlanejadas);
null;
Map<Long, AnotacaoDTO[]> anotacoesMap = new HashMap<Long, AnotacaoDTO[]>();
// ReportUtil.arrangeAnotacoesMapByTurmas(turmasPlanejadas, anotacoesMap);
// ReportUtil.getCursos(cursosMap);
List<CursoDTO> cursos = null;
try {
for (CursoDTO curso : cursos) {
if (curso == null) {
continue;
}
List<String> listaEspecial = new ArrayList<String>();
listaEspecial.add("ATM021");
listaEspecial.add("CTP001");
listaEspecial.add("OPM004");
listaEspecial.add("RAD013");
listaEspecial.add("RAD021");
listaEspecial.add("RAD022");
listaEspecial.add("RAD024");
listaEspecial.add("RAD033");
listaEspecial.add("SAR003");
listaEspecial.add("SIV520");
listaEspecial.add("SIV538");
listaEspecial.add("SIV556");
listaEspecial.add("SIV560");
listaEspecial.add("TEL022");
listaEspecial.add("TEL025");
if (!listaEspecial.contains(curso.getCodigo())) {
document.newPage();
}
Paragraph p = null;
p = new Paragraph(ReportUtil.convertEncode(curso.getCodigo()) + " - " + ReportUtil.convertEncode(curso.getDescricao()), fontManager.getH1Font());
p.setAlignment(Element.ALIGN_LEFT);
document.add(p);
List<TurmaDTO> turmas = turmasMap.get(curso.getId());
document.add(Chunk.NEWLINE);
if (turmas.size() == 0) {
Paragraph pCod = null;
pCod = new Paragraph(ReportUtil.convertEncode("Não há turmas"), fontManager.getH2Font());
document.add(pCod);
}
FolhaRostoDTO folha = planningService.findFolhaRosto(curso.getCodigo());
if (folha == null) {
System.out.println("folha nula" + curso.getCodigo());
} else {
Paragraph folhasTitle = new Paragraph(ReportUtil.convertEncode("FOLHA DE ROSTO:"), fontManager.getBoldFont());
document.add(folhasTitle);
PdfPTable t = new PdfPTable(1);
t.setSpacingBefore(10f);
t.setSpacingAfter(20f);
// t.setTotalWidth(130);
t.setHorizontalAlignment(Element.ALIGN_LEFT);
t.setWidthPercentage(100);
// table.setWidths(new int[]{50, 30});
// t.addCell(tableManager.getPhraseCellCenterBold(curso.getCodigo() + " - " + curso.getDescricao()));
t.addCell(tableManager.getPhraseCellLeft("OBJETIVO: \n" + folha.getObjetivo()));
t.addCell(tableManager.getPhraseCellLeft("NVEL: " + folha.getNivel()));
String numero = "";
if (curso.getDuracao() == 1) {
numero = "dia útil";
} else {
numero = "dias úteis";
}
t.addCell(tableManager.getPhraseCellLeft("DURAO: " + NumberConverterHelper.convert(curso.getDuracao()) + " " + numero));
t.addCell(tableManager.getPhraseCellLeft("PR-REQUISITOS: \n" + folha.getPreRequisitos()));
t.addCell(tableManager.getPhraseCellLeft("DISCIPLINAS:\n" + folha.getDisciplinas()));
document.add(t);
}
Paragraph turmasTitle = new Paragraph(ReportUtil.convertEncode("TURMAS PLANEJADAS:"), fontManager.getBoldFont());
document.add(turmasTitle);
if (turmas != null) {
for (TurmaDTO turma : turmas) {
com.itextpdf.text.List turmaDetails = new com.itextpdf.text.List();
turmaDetails.setListSymbol("");
TurmaPlanejadaDTO turmaPlanejada = (TurmaPlanejadaDTO) turma;
String textTurma = "";
if (turmaPlanejada.getNumeroTurma() < 10) {
textTurma = " - TU 0";
} else {
textTurma = " - TU ";
}
Paragraph numeroTurmaParagraph = new Paragraph(ReportUtil.convertEncode("" + curso.getCodigo() + textTurma + String.valueOf(turmaPlanejada.getNumeroTurma())), fontManager.getH2Font());
ListItem itemNumeroTurma = new ListItem(numeroTurmaParagraph);
turmaDetails.add(itemNumeroTurma);
// document.add(numeroTurmaParagraph);
Paragraph localTurmaParagraph = new Paragraph(ReportUtil.convertEncode("Local de Realização: " + turmaPlanejada.getLocal()), fontManager.getDefaultFont());
ListItem itemLocalTurma = new ListItem(localTurmaParagraph);
turmaDetails.add(itemLocalTurma);
Calendar calendar = Calendar.getInstance();
calendar.setTime(turma.getDataInicio());
calendar.add(Calendar.DAY_OF_MONTH, -30);
Paragraph prazoTurmaParagraph = new Paragraph(ReportUtil.convertEncode("Prazo para Indicação: " + df.format(calendar.getTime())), fontManager.getDefaultFont());
ListItem prazoLocalTurma = new ListItem(prazoTurmaParagraph);
turmaDetails.add(prazoLocalTurma);
// document.add(localTurmaParagraph);
Paragraph vagasParagraph = new Paragraph(ReportUtil.convertEncode("Vagas: " + String.valueOf(turma.getQuantidadeVagas())), fontManager.getDefaultFont());
ListItem itemVagas = new ListItem(vagasParagraph);
turmaDetails.add(itemVagas);
// document.add(vagasParagraph);
document.add(turmaDetails);
Paragraph fasesParagraph = new Paragraph(ReportUtil.convertEncode("Período: "), fontManager.getDefaultFont());
document.add(fasesParagraph);
FaseDTO[] fases = turmaPlanejada.getFases();
PdfPTable tableFases = new PdfPTable(4);
tableFases.setSpacingBefore(10f);
tableFases.setSpacingAfter(10f);
// table.setTotalWidth(130);
tableFases.setHorizontalAlignment(Element.ALIGN_LEFT);
tableFases.setWidthPercentage(80);
// table.setWidths(new int[]{50, 30});
tableFases.addCell(tableManager.getHeaderCell("Modalidade"));
tableFases.addCell(tableManager.getHeaderCell("Local"));
tableFases.addCell(tableManager.getHeaderCell("Início"));
tableFases.addCell(tableManager.getHeaderCell("Término"));
tableFases.getDefaultCell().setBackgroundColor(null);
tableFases.setHeaderRows(1);
for (FaseDTO faseDTO : fases) {
String local = "A DEFINIR";
if (faseDTO.getLocal() != null) {
local = faseDTO.getLocal().getSigla();
}
String dataInicio = "A DEFINIR";
if (faseDTO.getDataInicio() != null) {
dataInicio = df.format(faseDTO.getDataInicio());
}
String dataTermino = "A DEFINIR";
if (faseDTO.getDataTermino() != null) {
dataTermino = df.format(faseDTO.getDataTermino());
}
tableFases.addCell(tableManager.getPhraseCellLeft(faseDTO.getDescricao()));
tableFases.addCell(tableManager.getPhraseCellCenter(local));
tableFases.addCell(tableManager.getPhraseCellCenter(dataInicio));
tableFases.addCell(tableManager.getPhraseCellCenter(dataTermino));
}
document.add(tableFases);
Paragraph distribuicaoParagraph = new Paragraph(ReportUtil.convertEncode("Distribuição de Vagas: "), fontManager.getDefaultFont());
document.add(distribuicaoParagraph);
PdfPTable table = new PdfPTable(2);
table.setSpacingBefore(10f);
table.setSpacingAfter(10f);
// table.setTotalWidth(130);
table.setHorizontalAlignment(Element.ALIGN_LEFT);
table.setWidthPercentage(80);
// table.setWidths(new int[]{50, 30});
table.addCell(tableManager.getHeaderCell("Unidade"));
table.addCell(tableManager.getHeaderCell("Vagas"));
table.getDefaultCell().setBackgroundColor(null);
table.setHeaderRows(1);
TreinamentoPlanejadoDTO[] treinamentosPlanejados = null;
// turmaPlanejada.getTreinamentosPlanejados();
Arrays.sort(treinamentosPlanejados, new Comparator<TreinamentoPlanejadoDTO>() {
@Override
public int compare(TreinamentoPlanejadoDTO o1, TreinamentoPlanejadoDTO o2) {
return o1.getOrganizacao().getSigla().compareTo(o2.getOrganizacao().getSigla());
}
});
for (TreinamentoPlanejadoDTO treinamentoDTO : treinamentosPlanejados) {
table.addCell(tableManager.getPhraseCellLeft(treinamentoDTO.getOrganizacao().getSigla()));
table.addCell(tableManager.getPhraseCellCenter(String.valueOf(treinamentoDTO.getQuantidade())));
}
document.add(table);
AnotacaoDTO[] listAnotacoes = anotacoesMap.get(turma.getId());
String anotacao = "";
if (anotacoesMap.get(turma.getId()) != null) {
for (AnotacaoDTO anotacaoDTO : listAnotacoes) {
if (!anotacaoDTO.isVisibleInTca()) {
anotacao += anotacaoDTO.getTexto() + "\n";
}
}
}
if (listAnotacoes != null && listAnotacoes.length > 0) {
Paragraph anotacoesParagraph = new Paragraph(ReportUtil.convertEncode("Observações: " + anotacao), fontManager.getDefaultFont());
document.add(anotacoesParagraph);
}
document.add(Chunk.NEWLINE);
}
document.add(Chunk.NEWLINE);
}
}
} catch (DocumentException ex) {
Logger.getLogger(TCATrainningDocument.class.getName()).log(Level.SEVERE, null, ex);
}
}
Aggregations