Search in sources :

Example 6 with ListItem

use of com.itextpdf.text.ListItem in project trainning by fernandotomasio.

the class DOC002PDF method buildTableUnidade.

private PdfPTable buildTableUnidade(UnidadeDidaticaDTO unidade) throws DocumentException {
    PdfPTable table = new PdfPTable(4);
    table.setWidths(new int[] { 2, 4, 1, 1 });
    table.setWidthPercentage(100);
    PdfPCell cellDescricao;
    Phrase phraseDescricao = new Phrase();
    phraseDescricao.add(new Chunk("UNIDADE DIDÁTICA " + unidade.getDisciplina().getNumeroDisciplina() + "." + unidade.getNumero() + ": ", fontManager.getBoldFont()));
    phraseDescricao.add(new Chunk(unidade.getDescricao().toUpperCase(), fontManager.getDefaultFont()));
    cellDescricao = new PdfPCell(phraseDescricao);
    cellDescricao.setColspan(2);
    cellDescricao.setPadding(10);
    table.addCell(cellDescricao);
    PdfPCell cellCHUnidade;
    Phrase phraseCHUnidade = new Phrase();
    phraseCHUnidade.add(new Chunk("CH: ", fontManager.getBoldFont()));
    phraseCHUnidade.add(new Chunk(unidade.getQuantidadeTemposAula() + " tempo(s)", fontManager.getDefaultFont()));
    cellCHUnidade = new PdfPCell(phraseCHUnidade);
    cellCHUnidade.setColspan(2);
    cellCHUnidade.setPadding(10);
    table.addCell(cellCHUnidade);
    PdfPCell cellObjetivosEspecificos;
    cellObjetivosEspecificos = new PdfPCell();
    ObjetivoUnidadeDidaticaDTO[] objetivosUnidade = teachingDocumentsService.findAllObjetivosUnidadesDidaticasByUnidade(unidade.getId());
    Paragraph objetivosHead = new Paragraph("OBJETIVOS ESPECÍFICOS: ", fontManager.getBoldFont());
    cellObjetivosEspecificos.addElement(objetivosHead);
    List objetivosList = new List(List.ORDERED, List.ALPHABETICAL);
    objetivosList.setLowercase(true);
    int count = 0;
    for (ObjetivoUnidadeDidaticaDTO objetivoUnidade : objetivosUnidade) {
        count++;
        String descricao;
        if (objetivosUnidade.length == count) {
            descricao = objetivoUnidade.getDescricao() + " (" + objetivoUnidade.getNivelAprendizagem().getCodigo() + ")" + ".";
        } else if (objetivosUnidade.length - 1 == count) {
            descricao = objetivoUnidade.getDescricao() + " (" + objetivoUnidade.getNivelAprendizagem().getCodigo() + ")" + "; e";
        } else {
            descricao = objetivoUnidade.getDescricao() + " (" + objetivoUnidade.getNivelAprendizagem().getCodigo() + ")" + ";";
        }
        ListItem item = new ListItem(descricao, fontManager.getDefaultFont());
        objetivosList.add(item);
    }
    cellObjetivosEspecificos.addElement(objetivosList);
    cellObjetivosEspecificos.setColspan(4);
    cellObjetivosEspecificos.setPadding(10);
    table.addCell(cellObjetivosEspecificos);
    PdfPCell cellSubunidadesHeader;
    cellSubunidadesHeader = new PdfPCell(new Phrase("SUBUNIDADES", fontManager.getBoldFont()));
    cellSubunidadesHeader.setPadding(10);
    table.addCell(cellSubunidadesHeader);
    PdfPCell cellObjetivosOperacionalizadosHeader;
    cellObjetivosOperacionalizadosHeader = new PdfPCell(new Phrase("OBJETIVOS OPERACIONALIZADOS", fontManager.getBoldFont()));
    cellObjetivosOperacionalizadosHeader.setPadding(10);
    table.addCell(cellObjetivosOperacionalizadosHeader);
    PdfPCell cellCHSubunidadeHeader;
    cellCHSubunidadeHeader = new PdfPCell(new Phrase("CH", fontManager.getBoldFont()));
    cellCHSubunidadeHeader.setPadding(10);
    table.addCell(cellCHSubunidadeHeader);
    PdfPCell cellTecnicaEnsinoHeader;
    cellTecnicaEnsinoHeader = new PdfPCell(new Phrase("TEC", fontManager.getBoldFont()));
    cellTecnicaEnsinoHeader.setPadding(10);
    table.addCell(cellTecnicaEnsinoHeader);
    SubunidadeDidaticaDTO[] subunidades = teachingDocumentsService.findAllSubunidadesDidaticas(unidade.getId());
    for (SubunidadeDidaticaDTO subunidade : subunidades) {
        PdfPCell cellSubunidades;
        cellSubunidades = new PdfPCell();
        cellSubunidades.addElement(new Paragraph(unidade.getDisciplina().getNumeroDisciplina() + "." + unidade.getNumero() + "." + subunidade.getNumero(), fontManager.getDefaultFont()));
        cellSubunidades.addElement(new Paragraph(subunidade.getDescricao().toUpperCase(), fontManager.getDefaultFont()));
        cellSubunidades.setPadding(10);
        cellSubunidades.setHorizontalAlignment(Element.ALIGN_CENTER);
        cellSubunidades.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cellSubunidades);
        PdfPCell cellObjetivosOperacionalizados;
        cellObjetivosOperacionalizados = new PdfPCell(new Phrase(""));
        cellObjetivosOperacionalizados.setPadding(10);
        ObjetivoOperacionalizadoDTO[] objetivosOperacionalizados = teachingDocumentsService.findAllObjetivosOperacionalizadosBySubunidade(subunidade.getId());
        List objetivosOperacionalizadosList = new List(List.ORDERED, List.ALPHABETICAL);
        objetivosOperacionalizadosList.setLowercase(true);
        int countOperacionalizados = 0;
        for (ObjetivoOperacionalizadoDTO objetivoOperacionalizado : objetivosOperacionalizados) {
            countOperacionalizados++;
            String descricao;
            if (objetivosOperacionalizados.length == countOperacionalizados) {
                descricao = objetivoOperacionalizado.getDescricao() + " (" + objetivoOperacionalizado.getNivelAprendizagem().getCodigo() + ")" + ".";
            } else if (objetivosOperacionalizados.length - 1 == countOperacionalizados) {
                descricao = objetivoOperacionalizado.getDescricao() + " (" + objetivoOperacionalizado.getNivelAprendizagem().getCodigo() + ")" + "; e";
            } else {
                descricao = objetivoOperacionalizado.getDescricao() + " (" + objetivoOperacionalizado.getNivelAprendizagem().getCodigo() + ")" + ";";
            }
            ListItem item = new ListItem(descricao, fontManager.getDefaultFont());
            objetivosOperacionalizadosList.add(item);
        }
        cellObjetivosOperacionalizados.addElement(objetivosOperacionalizadosList);
        table.addCell(cellObjetivosOperacionalizados);
        PdfPCell cellCHSubunidade;
        cellCHSubunidade = new PdfPCell(new Phrase(String.valueOf(subunidade.getQuantidadeTemposAula()), fontManager.getDefaultFont()));
        cellCHSubunidade.setPadding(10);
        table.addCell(cellCHSubunidade);
        PdfPCell cellTecnicaEnsino;
        cellTecnicaEnsino = new PdfPCell(new Phrase("AE", fontManager.getDefaultFont()));
        cellTecnicaEnsino.setPadding(10);
        table.addCell(cellTecnicaEnsino);
    }
    return table;
}
Also used : PdfPCell(com.itextpdf.text.pdf.PdfPCell) SubunidadeDidaticaDTO(com.tomasio.projects.trainning.dto.SubunidadeDidaticaDTO) Phrase(com.itextpdf.text.Phrase) Chunk(com.itextpdf.text.Chunk) ObjetivoOperacionalizadoDTO(com.tomasio.projects.trainning.dto.ObjetivoOperacionalizadoDTO) Paragraph(com.itextpdf.text.Paragraph) PdfPTable(com.itextpdf.text.pdf.PdfPTable) List(com.itextpdf.text.List) ArrayList(java.util.ArrayList) ListItem(com.itextpdf.text.ListItem) ObjetivoUnidadeDidaticaDTO(com.tomasio.projects.trainning.dto.ObjetivoUnidadeDidaticaDTO)

Example 7 with ListItem

use of com.itextpdf.text.ListItem 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

ListItem (com.itextpdf.text.ListItem)7 Paragraph (com.itextpdf.text.Paragraph)7 ArrayList (java.util.ArrayList)7 List (com.itextpdf.text.List)6 Chunk (com.itextpdf.text.Chunk)3 Phrase (com.itextpdf.text.Phrase)3 PdfPTable (com.itextpdf.text.pdf.PdfPTable)3 ObjetivoOperacionalizadoDTO (com.tomasio.projects.trainning.dto.ObjetivoOperacionalizadoDTO)3 SubunidadeDidaticaDTO (com.tomasio.projects.trainning.dto.SubunidadeDidaticaDTO)3 PdfPCell (com.itextpdf.text.pdf.PdfPCell)2 ObjetivoDisciplinaDTO (com.tomasio.projects.trainning.dto.ObjetivoDisciplinaDTO)2 ObjetivoUnidadeDidaticaDTO (com.tomasio.projects.trainning.dto.ObjetivoUnidadeDidaticaDTO)2 DocumentException (com.itextpdf.text.DocumentException)1 AnotacaoDTO (com.tomasio.projects.trainning.dto.AnotacaoDTO)1 CursoDTO (com.tomasio.projects.trainning.dto.CursoDTO)1 FaseDTO (com.tomasio.projects.trainning.dto.FaseDTO)1 FolhaRostoDTO (com.tomasio.projects.trainning.dto.FolhaRostoDTO)1 SecaoApostilaDTO (com.tomasio.projects.trainning.dto.SecaoApostilaDTO)1 TreinamentoPlanejadoDTO (com.tomasio.projects.trainning.dto.TreinamentoPlanejadoDTO)1 TurmaDTO (com.tomasio.projects.trainning.dto.TurmaDTO)1