diff --git a/src/main/java/de/muenchen/dave/domain/pdf/components/MessstelleninformationenPdfComponent.java b/src/main/java/de/muenchen/dave/domain/pdf/components/MessstelleninformationenPdfComponent.java index 71a919ce..6722703c 100644 --- a/src/main/java/de/muenchen/dave/domain/pdf/components/MessstelleninformationenPdfComponent.java +++ b/src/main/java/de/muenchen/dave/domain/pdf/components/MessstelleninformationenPdfComponent.java @@ -14,4 +14,6 @@ public class MessstelleninformationenPdfComponent { private String wochentag; private String kommentar; + + private boolean wochentagNeeded; } diff --git a/src/main/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanService.java b/src/main/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanService.java index 0a1ff07a..6de54896 100644 --- a/src/main/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanService.java +++ b/src/main/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanService.java @@ -160,12 +160,14 @@ static MessstelleninformationenPdfComponent fillMessstelleninformationen(final M optionsDTO.getZeitraum().sort(LocalDate::compareTo); messstelleninformationen.setMesszeitraum( String.format("%s - %s", optionsDTO.getZeitraum().get(0).format(DDMMYYYY), optionsDTO.getZeitraum().get(1).format(DDMMYYYY))); + messstelleninformationen.setWochentagNeeded(true); + messstelleninformationen + .setWochentag(StringUtils.defaultIfEmpty(tagesTyp, KEINE_DATEN_VORHANDEN)); } else { messstelleninformationen.setMesszeitraum(optionsDTO.getZeitraum().get(0).format(DDMMYYYY)); + messstelleninformationen.setWochentagNeeded(false); } messstelleninformationen.setKommentar(messstelle.getKommentar()); - messstelleninformationen - .setWochentag(StringUtils.defaultIfEmpty(tagesTyp, KEINE_DATEN_VORHANDEN)); return messstelleninformationen; } diff --git a/src/main/resources/pdf/templates/messstelle/parts/messstelleninformationen.mustache b/src/main/resources/pdf/templates/messstelle/parts/messstelleninformationen.mustache index 37c24022..c53cb3d5 100644 --- a/src/main/resources/pdf/templates/messstelle/parts/messstelleninformationen.mustache +++ b/src/main/resources/pdf/templates/messstelle/parts/messstelleninformationen.mustache @@ -10,10 +10,12 @@ Messzeitraum: {{messzeitraum}} + {{#wochentagNeeded}} Wochentag: {{wochentag}} + {{/wochentagNeeded}} Kommentar: diff --git a/src/test/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanServiceTest.java b/src/test/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanServiceTest.java index 69dadd23..0430a63e 100644 --- a/src/test/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanServiceTest.java +++ b/src/test/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanServiceTest.java @@ -2,6 +2,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.nullValue; import de.muenchen.dave.domain.dtos.OptionsDTO; import de.muenchen.dave.domain.dtos.messstelle.MessstelleOptionsDTO; @@ -20,6 +21,7 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -138,18 +140,34 @@ void fillBasicPdf_Messstelle() { @Test void fillMessstelleninformationen() { final DateTimeFormatter DDMMYYYY = DateTimeFormatter.ofPattern("dd.MM.yyyy"); - final MessstelleninformationenPdfComponent informationen = new MessstelleninformationenPdfComponent(); + MessstelleninformationenPdfComponent informationen = new MessstelleninformationenPdfComponent(); final Messstelle messstelle = MessstelleRandomFactory.getMessstelle(); final String tagesTyp = TagesTyp.SAMSTAG.name(); final MessstelleOptionsDTO optionsDTO = new MessstelleOptionsDTO(); - optionsDTO.setZeitraum(List.of(LocalDate.now())); + final ArrayList localDates = new ArrayList<>(); + localDates.add(LocalDate.now()); + localDates.add(LocalDate.now()); + optionsDTO.setZeitraum(localDates); FillPdfBeanService.fillMessstelleninformationen(informationen, messstelle, optionsDTO, tagesTyp); assertThat(informationen.getStandort(), is(messstelle.getStandort())); assertThat(informationen.getDetektierteFahrzeuge(), is(messstelle.getDetektierteVerkehrsarten())); - assertThat(informationen.getMesszeitraum(), is(optionsDTO.getZeitraum().get(0).format(DDMMYYYY))); + assertThat(informationen.getMesszeitraum(), + is(String.format("%s - %s", optionsDTO.getZeitraum().get(0).format(DDMMYYYY), optionsDTO.getZeitraum().get(0).format(DDMMYYYY)))); assertThat(informationen.getWochentag(), is(tagesTyp)); + assertThat(informationen.isWochentagNeeded(), is(true)); + assertThat(informationen.getKommentar(), is(messstelle.getKommentar())); + + informationen = new MessstelleninformationenPdfComponent(); + optionsDTO.setZeitraum(List.of(LocalDate.now())); + FillPdfBeanService.fillMessstelleninformationen(informationen, messstelle, optionsDTO, tagesTyp); + assertThat(informationen.getStandort(), is(messstelle.getStandort())); + assertThat(informationen.getDetektierteFahrzeuge(), is(messstelle.getDetektierteVerkehrsarten())); + assertThat(informationen.getMesszeitraum(), is(optionsDTO.getZeitraum().get(0).format(DDMMYYYY))); + assertThat(informationen.isWochentagNeeded(), is(false)); + assertThat(informationen.getWochentag(), is(nullValue())); assertThat(informationen.getKommentar(), is(messstelle.getKommentar())); + } @Test