Search in sources :

Example 21 with TurmaDTO

use of com.tomasio.projects.trainning.dto.TurmaDTO in project trainning by fernandotomasio.

the class EXC018ODF method makeReport.

@Override
public void makeReport() {
    AtividadesEnsinoService atividadesEnsinoService = (AtividadesEnsinoService) services.get("atividadesEnsinoService");
    OrganizationalService organizationalService = (OrganizationalService) services.get("organizationalService");
    Long turmaId = (Long) params.get("turmaId");
    TurmaDTO turma = atividadesEnsinoService.findTurmaEfetiva(turmaId);
    System.out.println(turma.getCurso().getCodigo() + " - " + TEMPLATE_PATH);
    try {
        ClassLoader classLoader = getClass().getClassLoader();
        File file = new File(classLoader.getResource(TEMPLATE_PATH).getFile());
        odt = OdfTextDocument.loadDocument(file);
        TextNavigation slot = new TextNavigation("_NOME_", odt);
        while (slot.hasNext()) {
            TextSelection item = (TextSelection) slot.getCurrentItem();
            item.replaceWith("FERNANDO DE OLIVEIRA TOMASIO");
        }
        odt.save(os);
    } catch (Exception ex) {
        Logger.getLogger(EXC018ODF.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : OrganizationalService(com.tomasio.projects.trainning.interfaces.OrganizationalService) TextSelection(org.odftoolkit.odfdom.incubator.search.TextSelection) TextNavigation(org.odftoolkit.odfdom.incubator.search.TextNavigation) TurmaDTO(com.tomasio.projects.trainning.dto.TurmaDTO) File(java.io.File) AtividadesEnsinoService(com.tomasio.projects.trainning.interfaces.AtividadesEnsinoService)

Example 22 with TurmaDTO

use of com.tomasio.projects.trainning.dto.TurmaDTO 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)

Example 23 with TurmaDTO

use of com.tomasio.projects.trainning.dto.TurmaDTO in project trainning by fernandotomasio.

the class ReportUtil method buildTurmasMapByCurso.

public Map<Long, List<TurmaDTO>> buildTurmasMapByCurso(List<TurmaPlanejadaDTO> turmas) {
    Map<Long, List<TurmaDTO>> resultMap = new HashMap<Long, List<TurmaDTO>>();
    for (TurmaDTO turma : turmas) {
        List<TurmaDTO> list = resultMap.get(turma.getCurso().getId());
        if (list == null) {
            List<TurmaDTO> newList = new ArrayList<TurmaDTO>();
            newList.add(turma);
            resultMap.put(turma.getCurso().getId(), newList);
        } else {
            list.add(turma);
        }
    }
    return resultMap;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) TurmaDTO(com.tomasio.projects.trainning.dto.TurmaDTO)

Aggregations

TurmaDTO (com.tomasio.projects.trainning.dto.TurmaDTO)23 IndicacaoDTO (com.tomasio.projects.trainning.dto.IndicacaoDTO)8 HashMap (java.util.HashMap)8 PessoaDTO (com.tomasio.projects.trainning.dto.PessoaDTO)7 AtividadesEnsinoService (com.tomasio.projects.trainning.interfaces.AtividadesEnsinoService)7 OrganizationalService (com.tomasio.projects.trainning.interfaces.OrganizationalService)7 ArrayList (java.util.ArrayList)6 List (java.util.List)6 FaseDTO (com.tomasio.projects.trainning.dto.FaseDTO)5 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)5 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)4 AnotacaoDTO (com.tomasio.projects.trainning.dto.AnotacaoDTO)3 CursoDTO (com.tomasio.projects.trainning.dto.CursoDTO)3 FolhaRostoDTO (com.tomasio.projects.trainning.dto.FolhaRostoDTO)3 IndicacaoAlunoDTO (com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO)3 IndicacaoInstrutorDTO (com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO)3 MatriculaDTO (com.tomasio.projects.trainning.dto.MatriculaDTO)3 TurmaPlanejadaDTO (com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO)3 IOException (java.io.IOException)3 SimpleDateFormat (java.text.SimpleDateFormat)3