private PdfPTable buildExpose(Fiche fiche) { PdfPCell cell; PdfPTable table = new PdfPTable(new float[] {1, 0.5f, 4.5f}); table.setWidthPercentage(100); cell = new PdfPCell(new Phrase("2_ Exposé des faits ", FONT_NORMAL)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Phrase("GDH Appel: ", FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(0); table.addCell(cell); Date gdhAppelDate = fiche.getGdhAppel(); String pattern = "dd/MM/yyyy HH:mm"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); String gdhAppel = dateFormat.format(gdhAppelDate); cell = new PdfPCell(new Phrase(gdhAppel, FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setColspan(2); table.addCell(cell); cell = new PdfPCell(new Phrase("GDH Arrivée: ", FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(0); table.addCell(cell); Date gdhArriveeDate = fiche.getGdhArrivee(); String gdhArrivee = ""; if (gdhArriveeDate != null) gdhArrivee = dateFormat.format(gdhArriveeDate); cell = new PdfPCell(new Phrase(gdhArrivee, FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setColspan(2); table.addCell(cell); cell = new PdfPCell(new Phrase("Lieu: ", FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(0); table.addCell(cell); String numeroRue = fiche.getAdresse().getNumeroVoie(); cell = new PdfPCell(new Phrase(numeroRue, FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); String libelleRue = fiche.getAdresse().getNomVoie().getLibelle(); cell = new PdfPCell(new Phrase(libelleRue, FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); cell = new PdfPCell(new Phrase("Précisions: ", FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(0); table.addCell(cell); String lieuPredefini = ""; if (fiche.getLieuPredefini() != null) lieuPredefini = fiche.getLieuPredefini().getLibelleLong().concat(" "); String adresseComplement = ""; if (fiche.getComplementAdresse() != null) adresseComplement = fiche.getComplementAdresse(); cell = new PdfPCell(new Phrase(lieuPredefini.concat(adresseComplement), FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setColspan(2); table.addCell(cell); cell = new PdfPCell(new Phrase("spacer", FONT_SPACER)); cell.setBorder(0); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Phrase("Titre: ", FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(0); table.addCell(cell); cell = new PdfPCell(new Phrase(fiche.getSituationInitialeTitre(), FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setColspan(2); table.addCell(cell); cell = new PdfPCell(new Phrase("spacer", FONT_SPACER)); cell.setBorder(0); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Phrase("Situation initiale: ", FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(0); table.addCell(cell); String situationInitiale = fiche.getSituationInitiale(); cell = new PdfPCell(new Paragraph(situationInitiale, FONT_NORMAL)); cell.setHorizontalAlignment(Element.ALIGN_JUSTIFIED); cell.setColspan(2); table.addCell(cell); cell = new PdfPCell(new Phrase("spacer", FONT_SPACER)); cell.setBorder(0); cell.setColspan(3); table.addCell(cell); table.setSpacingBefore(5); table.setSpacingAfter(5); return table; }
private PdfPTable buildTable(List<Fiche> fiches) throws DocumentException { PdfPTable table = new PdfPTable(9); table.setWidthPercentage(100); int[] widths = {14, 8, 28, 15, 20, 30, 30, 13, 33}; table.setWidths(widths); table.setHeaderRows(1); PdfPCell cell = new PdfPCell(new Phrase("N° Fiche", FONT_NORMAL)); cell.setFixedHeight(40); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Phrase("Heure", FONT_NORMAL)); cell.setFixedHeight(40); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Phrase("Nature des faits et nombre", FONT_NORMAL)); cell.setFixedHeight(40); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Phrase("Equipages", FONT_NORMAL)); cell.setFixedHeight(40); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Phrase("Quartier", FONT_NORMAL)); cell.setFixedHeight(40); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Phrase("Lieu", FONT_NORMAL)); cell.setFixedHeight(40); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Phrase("Personnes concernées", FONT_NORMAL)); cell.setFixedHeight(40); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Phrase("Procédures", FONT_NORMAL)); cell.setFixedHeight(40); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Phrase("Situation initiale", FONT_NORMAL)); cell.setFixedHeight(40); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); SimpleDateFormat hf = new SimpleDateFormat("HH:mm"); SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); DateTime currentDate = null; boolean addRowDate; for (Fiche f : fiches) { Historique creation = f.getHistoriques().iterator().next(); // Check if we need a new row to display the day addRowDate = false; if (currentDate == null) { currentDate = new DateTime(creation.getDateAction()); addRowDate = true; } else { DateTime lastDate = new DateTime(creation.getDateAction()); if (currentDate.getDayOfYear() != lastDate.getDayOfYear()) { currentDate = lastDate; addRowDate = true; } } if (addRowDate) { cell = new PdfPCell(new Phrase(df.format(currentDate.toDate()), FONT_NORMAL)); cell.setColspan(9); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); } // N° Fiche cell = new PdfPCell(new Phrase(f.getReference(), FONT_NORMAL)); table.addCell(cell); // Heure d'arrivée #31569 cell = f.getGdhAppel() != null ? new PdfPCell(new Phrase(hf.format(f.getGdhAppel()), FONT_NORMAL)) : new PdfPCell(); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); // Faits StringBuilder sb = new StringBuilder(); boolean first = true; for (Fait fa : f.getFaits()) { if (first) { first = false; } else { sb.append("\n"); } sb.append(fa.getNombre()).append(" ").append(fa.getNature().getLibelleLong()); } cell = new PdfPCell(new Phrase(sb.toString(), FONT_NORMAL)); table.addCell(cell); // Equipages sb = new StringBuilder(); first = true; for (Patrouille pa : f.getPatrouilles()) { if (first) { first = false; } else { sb.append("\n"); } sb.append(pa.getIndicatif().getLibelleLong()); } cell = new PdfPCell(new Phrase(sb.toString(), FONT_NORMAL)); table.addCell(cell); // Quartier cell = new PdfPCell(new Phrase(f.getAdresse().getQuartier().getLibelle(), FONT_NORMAL)); table.addCell(cell); // Lieu cell = new PdfPCell( new Phrase( f.getAdresse().getNumeroVoie() + " " + f.getAdresse().getNomVoie().getLibelle(), FONT_NORMAL)); table.addCell(cell); // Personnes sb = new StringBuilder(); first = true; for (Personne pe : f.getPersonnes()) { if (first) { first = false; } else { sb.append("\n"); } sb.append(pe.getCategorie().getLibelleLong()) .append(" : ") .append(StringUtils.isEmpty(pe.getNom()) ? "-" : pe.getNom()); } cell = new PdfPCell(new Phrase(sb.toString(), FONT_NORMAL)); table.addCell(cell); // Procedures sb = new StringBuilder(); first = true; for (Procedure pr : f.getProcedures()) { if (first) { first = false; } else { sb.append("\n"); } sb.append(pr.getCategorie().getLibelleCourt()).append(" - ").append(pr.getNumero()); } cell = new PdfPCell(new Phrase(sb.toString(), FONT_NORMAL)); table.addCell(cell); // Titre de la situation initiale cell = new PdfPCell( new Phrase(FicheEventReportHelper.construitLibelleSituationInitiale(f), FONT_NORMAL)); table.addCell(cell); } return table; }