Search in sources :

Example 26 with FaseDTO

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;
}
Also used : HashMap(java.util.HashMap) PessoaDAO(com.tomasio.projects.trainning.dao.PessoaDAO) CancelamentoMatricula(com.tomasio.projects.trainning.model.CancelamentoMatricula) Matricula(com.tomasio.projects.trainning.model.Matricula) NotificacaoMatricula(com.tomasio.projects.trainning.model.NotificacaoMatricula) PreMatricula(com.tomasio.projects.trainning.model.PreMatricula) BigDecimal(java.math.BigDecimal) DateTime(org.joda.time.DateTime) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) Pessoa(com.tomasio.projects.trainning.model.Pessoa) DAOException(com.tomasio.projects.trainning.exception.DAOException) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) Organizacao(com.tomasio.projects.trainning.model.Organizacao) CancelamentoMatriculaDAO(com.tomasio.projects.trainning.dao.CancelamentoMatriculaDAO) MatriculaDAO(com.tomasio.projects.trainning.dao.MatriculaDAO) NotificacaoMatriculaDAO(com.tomasio.projects.trainning.dao.NotificacaoMatriculaDAO) PreMatriculaDAO(com.tomasio.projects.trainning.dao.PreMatriculaDAO) Days(org.joda.time.Days) ExternoDTO(com.tomasio.projects.trainning.dto.ExternoDTO) Transactional(org.springframework.transaction.annotation.Transactional)

Example 27 with FaseDTO

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;
}
Also used : ParecerDTO(com.tomasio.projects.trainning.dto.ParecerDTO) AprovacaoDTO(com.tomasio.projects.trainning.dto.AprovacaoDTO) ProceedingJoinPoint(org.aspectj.lang.ProceedingJoinPoint) Date(java.util.Date) IndicacaoDTO(com.tomasio.projects.trainning.dto.IndicacaoDTO) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) HibernateIndicacaoDAO(com.tomasio.projects.trainning.dao.HibernateIndicacaoDAO) ParseException(java.text.ParseException) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) SimpleDateFormat(java.text.SimpleDateFormat) Around(org.aspectj.lang.annotation.Around)

Example 28 with FaseDTO

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();
}
Also used : MatriculaDTO(com.tomasio.projects.trainning.dto.MatriculaDTO) CancelamentoMatriculaDTO(com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) ConclusaoDTO(com.tomasio.projects.trainning.dto.ConclusaoDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) SimpleDateFormat(java.text.SimpleDateFormat) ProceedingJoinPoint(org.aspectj.lang.ProceedingJoinPoint) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) Around(org.aspectj.lang.annotation.Around)

Example 29 with FaseDTO

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();
}
Also used : TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) SimpleDateFormat(java.text.SimpleDateFormat) ProceedingJoinPoint(org.aspectj.lang.ProceedingJoinPoint) IndicacaoInstrutorDTO(com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO) IndicacaoDTO(com.tomasio.projects.trainning.dto.IndicacaoDTO) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) Around(org.aspectj.lang.annotation.Around)

Example 30 with FaseDTO

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);
    }
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) TurmaDTO(com.tomasio.projects.trainning.dto.TurmaDTO) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) PdfPTable(com.itextpdf.text.pdf.PdfPTable) DocumentException(com.itextpdf.text.DocumentException) ArrayList(java.util.ArrayList) List(java.util.List) TreinamentoPlanejadoDTO(com.tomasio.projects.trainning.dto.TreinamentoPlanejadoDTO) TurmaPlanejadaDTO(com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO) Calendar(java.util.Calendar) FolhaRostoDTO(com.tomasio.projects.trainning.dto.FolhaRostoDTO) Paragraph(com.itextpdf.text.Paragraph) AnotacaoDTO(com.tomasio.projects.trainning.dto.AnotacaoDTO) CursoDTO(com.tomasio.projects.trainning.dto.CursoDTO) ListItem(com.itextpdf.text.ListItem)

Aggregations

FaseDTO (com.tomasio.projects.trainning.dto.FaseDTO)32 TurmaEfetivaDTO (com.tomasio.projects.trainning.dto.TurmaEfetivaDTO)16 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)14 SimpleDateFormat (java.text.SimpleDateFormat)14 PessoaDTO (com.tomasio.projects.trainning.dto.PessoaDTO)11 TurmaPlanejadaDTO (com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO)11 HashMap (java.util.HashMap)9 ProceedingJoinPoint (org.aspectj.lang.ProceedingJoinPoint)7 Around (org.aspectj.lang.annotation.Around)7 IndicacaoDTO (com.tomasio.projects.trainning.dto.IndicacaoDTO)6 Calendar (java.util.Calendar)6 CancelamentoMatriculaDTO (com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO)5 IndicacaoInstrutorDTO (com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO)5 DAOException (com.tomasio.projects.trainning.exception.DAOException)5 AtividadesEnsinoService (com.tomasio.projects.trainning.interfaces.AtividadesEnsinoService)5 BigDecimal (java.math.BigDecimal)5 HashSet (java.util.HashSet)5 DateTime (org.joda.time.DateTime)5 Days (org.joda.time.Days)5 Transactional (org.springframework.transaction.annotation.Transactional)5