Skip to content

Commit e190498

Browse files
Der-Alex-Kboal
andauthored
Bug/bug sammler (#359)
* DAVE-674 (#352) * Bug/dave 688 (#353) * add Fahrrichtung to Title * add Fahrrichtung to Title * add long version of Fahrrichtung * fix typo * add test * fix test * fix test * spotless * fix bug by adding context to mapper methods (#354) * DAVE-689 (#355) * fix charttitle --------- Co-authored-by: boal <[email protected]>
1 parent eb99c47 commit e190498

File tree

11 files changed

+76
-12
lines changed

11 files changed

+76
-12
lines changed

src/main/java/de/muenchen/dave/domain/mapper/SucheMapper.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import de.muenchen.dave.domain.dtos.messstelle.MessstelleTooltipDTO;
77
import de.muenchen.dave.domain.elasticsearch.Zaehlstelle;
88
import de.muenchen.dave.domain.elasticsearch.detektor.Messstelle;
9-
import de.muenchen.dave.domain.enums.MessstelleStatus;
109
import java.util.List;
1110
import java.util.Set;
1211
import org.apache.commons.lang3.ObjectUtils;
@@ -50,12 +49,12 @@ default void messstelleToMessstelleTooltipDTOAfterMapping(
5049

5150
final var realisierungsdatum = ObjectUtils.isNotEmpty(bean.getRealisierungsdatum())
5251
? bean.getRealisierungsdatum().toString()
53-
: UNBEKANNT;
52+
: StringUtils.EMPTY;
5453
dto.setRealisierungsdatum(realisierungsdatum);
5554

5655
final var abbaudatum = ObjectUtils.isNotEmpty(bean.getAbbaudatum())
5756
? bean.getAbbaudatum().toString()
58-
: (MessstelleStatus.ABGEBAUT.equals(bean.getStatus()) ? UNBEKANNT : StringUtils.EMPTY);
57+
: StringUtils.EMPTY;
5958
dto.setAbbaudatum(abbaudatum);
6059

6160
final var datumLetztePlausibleMessung = ObjectUtils.isNotEmpty(bean.getDatumLetztePlausibleMessung())

src/main/java/de/muenchen/dave/domain/mapper/detektor/MessstelleMapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,9 @@ default void toSucheMessstelleSuggestDto(@MappingTarget SucheMessstelleSuggestDT
132132
dto.setText(bean.getMstId() + StringUtils.SPACE + bean.getName());
133133
}
134134

135-
MessstelleOverviewDTO bean2overviewDto(Messstelle bean);
135+
MessstelleOverviewDTO bean2overviewDto(Messstelle bean, @Context StadtbezirkMapper stadtbezirkMapper);
136136

137-
List<MessstelleOverviewDTO> bean2overviewDto(List<Messstelle> bean);
137+
List<MessstelleOverviewDTO> bean2overviewDto(List<Messstelle> bean, @Context StadtbezirkMapper stadtbezirkMapper);
138138

139139
@AfterMapping
140140
default void bean2overviewDtoAftermapping(@MappingTarget MessstelleOverviewDTO dto, Messstelle bean, @Context StadtbezirkMapper stadtbezirkMapper) {

src/main/java/de/muenchen/dave/domain/pdf/components/MessstelleninformationenPdfComponent.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ public class MessstelleninformationenPdfComponent {
77

88
private boolean standortNeeded;
99
private String standort;
10+
private String verkehrsartText;
1011
private String selectedFahrzeuge;
1112
private String messzeitraum;
1213
private boolean zeitintervallNeeded;

src/main/java/de/muenchen/dave/services/messstelle/MessstelleService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public BackendIdDTO updateMessstelle(final EditMessstelleDTO dto) {
7777

7878
public List<MessstelleOverviewDTO> getAllMessstellenForOverview() {
7979
final List<Messstelle> messstellen = messstelleIndexService.findAllMessstellen();
80-
return messstelleMapper.bean2overviewDto(messstellen);
80+
return messstelleMapper.bean2overviewDto(messstellen, stadtbezirkMapper);
8181
}
8282

8383
public Set<String> getMessquerschnittIdsByMessstelleId(final String messstelleId) {

src/main/java/de/muenchen/dave/services/messstelle/auswertung/SpreadsheetService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import de.muenchen.dave.domain.elasticsearch.detektor.Messstelle;
1010
import de.muenchen.dave.domain.enums.AuswertungsZeitraum;
1111
import de.muenchen.dave.services.messstelle.MessstelleService;
12+
import de.muenchen.dave.util.messstelle.FahrtrichtungUtil;
1213
import java.io.ByteArrayOutputStream;
1314
import java.io.IOException;
1415
import java.math.BigDecimal;
@@ -368,7 +369,7 @@ protected void addStringToCell(final Cell cell, final String data) {
368369
* @return Messquerschnitt als String
369370
*/
370371
protected String getFormattedStringForMessquerschnitt(final Messquerschnitt messquerschnitt) {
371-
return String.format("%s - %s - %s", messquerschnitt.getMqId(), messquerschnitt.getFahrtrichtung(),
372+
return String.format("%s - %s - %s", messquerschnitt.getMqId(), FahrtrichtungUtil.getLongTextOfFahrtrichtung(messquerschnitt.getFahrtrichtung()),
372373
messquerschnitt.getStandort());
373374
}
374375

src/main/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanService.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@
5050
import de.muenchen.dave.services.messstelle.MessstelleService;
5151
import de.muenchen.dave.services.messstelle.MesswerteService;
5252
import de.muenchen.dave.util.DomainValues;
53+
import de.muenchen.dave.util.messstelle.FahrtrichtungUtil;
54+
import de.muenchen.dave.util.messstelle.MesswerteBaseUtil;
5355
import java.time.LocalDate;
5456
import java.time.format.DateTimeFormatter;
5557
import java.util.ArrayList;
@@ -104,6 +106,8 @@ public class FillPdfBeanService {
104106
protected static final int MAX_ELEMENTS_IN_GESAMTAUSWERTUNG_TABLE = 12;
105107
private static final String CELL_WIDTH_20_MM = "20mm";
106108
private static final String CELL_WIDTH_UNITS = "mm";
109+
public static final String VERKEHRSART_TEXT = "Verkehrsart";
110+
public static final String VERKEHRSART_TEXT_MEHRZAHL = "Verkehrsarten";
107111

108112
private final ZaehlstelleIndexService indexService;
109113
private final LadeZaehldatenService ladeZaehldatenService;
@@ -207,6 +211,7 @@ protected static MessstelleninformationenPdfComponent fillMessstelleninformation
207211
messstelleninformationen.setStandortNeeded(true);
208212
messstelleninformationen.setStandort(StringUtils.defaultIfEmpty(messstelle.getStandort(), KEINE_DATEN_VORHANDEN));
209213
messstelleninformationen.setSelectedFahrzeuge(StringUtils.defaultIfEmpty(messstelle.getDetektierteVerkehrsarten(), KEINE_DATEN_VORHANDEN));
214+
messstelleninformationen.setVerkehrsartText(VERKEHRSART_TEXT);
210215
if (!optionsDTO.getZeitraum().getFirst().isEqual(optionsDTO.getZeitraum().getLast())) {
211216
optionsDTO.getZeitraum().sort(LocalDate::compareTo);
212217
messstelleninformationen.setMesszeitraum(
@@ -245,6 +250,11 @@ protected static MessstelleninformationenPdfComponent fillMessstelleninformation
245250
}
246251
messstelleninformationen
247252
.setSelectedFahrzeuge(StringUtils.defaultIfEmpty(getSelectedFahrzeugeAsText(optionsDTO.getFahrzeuge()), KEINE_DATEN_VORHANDEN));
253+
if (messstelleninformationen.getSelectedFahrzeuge().contains(",")) {
254+
messstelleninformationen.setVerkehrsartText(VERKEHRSART_TEXT_MEHRZAHL);
255+
} else {
256+
messstelleninformationen.setVerkehrsartText(VERKEHRSART_TEXT);
257+
}
248258
messstelleninformationen
249259
.setMesszeitraum(ListUtils.emptyIfNull(optionsDTO.getJahre()).stream().sorted().map(String::valueOf).collect(Collectors.joining(", ")));
250260
messstelleninformationen.setZeitintervallNeeded(true);
@@ -389,6 +399,10 @@ protected static String createChartTitle(final MessstelleOptionsDTO options, fin
389399
chartTitle.append(StringUtils.SPACE);
390400
chartTitle.append("-");
391401
chartTitle.append(StringUtils.SPACE);
402+
chartTitle.append(FahrtrichtungUtil.getLongTextOfFahrtrichtung(messquerschnitt.getFahrtrichtung()));
403+
chartTitle.append(StringUtils.SPACE);
404+
chartTitle.append("-");
405+
chartTitle.append(StringUtils.SPACE);
392406
chartTitle.append(StringUtils.defaultIfEmpty(messquerschnitt.getStandort(), KEINE_DATEN_VORHANDEN));
393407
chartTitle.append(StringUtils.SPACE);
394408
});
@@ -413,7 +427,7 @@ protected static String createChartTitle(final MessstelleAuswertungOptionsDTO op
413427
chartTitle.append(StringUtils.SPACE);
414428
chartTitle.append("-");
415429
chartTitle.append(StringUtils.SPACE);
416-
chartTitle.append(StringUtils.defaultIfEmpty(messquerschnitt.getFahrtrichtung(), KEINE_DATEN_VORHANDEN));
430+
chartTitle.append(FahrtrichtungUtil.getLongTextOfFahrtrichtung(messquerschnitt.getFahrtrichtung()));
417431
chartTitle.append(StringUtils.SPACE);
418432
chartTitle.append("-");
419433
chartTitle.append(StringUtils.SPACE);
@@ -571,7 +585,7 @@ public String createChartTitleZeitauswahl(final String zaehlungId, final Options
571585
public String createChartTitleZeitauswahl(final MessstelleOptionsDTO optionsDTO, final List<LadeMesswerteDTO> zaehldaten) {
572586
final StringBuilder chartTitle = new StringBuilder();
573587
if (StringUtils.equals(optionsDTO.getZeitauswahl(), Zeitauswahl.TAGESWERT.getCapitalizedName())) {
574-
if (optionsDTO.getZeitraum().size() > 1) {
588+
if (MesswerteBaseUtil.isDateRange(optionsDTO.getZeitraum())) {
575589
chartTitle.append("Durchschnittlicher");
576590
chartTitle.append(StringUtils.SPACE);
577591
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package de.muenchen.dave.util.messstelle;
2+
3+
import lombok.AccessLevel;
4+
import lombok.NoArgsConstructor;
5+
6+
@NoArgsConstructor(access = AccessLevel.PRIVATE)
7+
public final class FahrtrichtungUtil {
8+
9+
public static String getLongTextOfFahrtrichtung(final String fahrtrichtung) {
10+
switch (fahrtrichtung) {
11+
case "N":
12+
return "Nord";
13+
case "O":
14+
return "Ost";
15+
case "S":
16+
return "Süd";
17+
case "W":
18+
return "West";
19+
default:
20+
return fahrtrichtung;
21+
}
22+
}
23+
}

src/main/resources/pdf/templates/messstelle/parts/messstelleninformationen.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<table class="format format-informationen" style="width:450px;word-wrap: normal">
66
<tr>
77
<!-- Alle weiteren ersten Spalten implizit die gleiche width -->
8-
<td style="width: 110px;">Verkehrsarten:</td>
8+
<td style="width: 110px;">{{verkehrsartText}}:</td>
99
<td style="width: 340px;">{{selectedFahrzeuge}}</td>
1010
</tr>
1111
<tr>

src/test/java/de/muenchen/dave/services/messstelle/auswertung/SpreadsheetServiceTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import de.muenchen.dave.geodateneai.gen.model.TagesaggregatDto;
1212
import de.muenchen.dave.services.messstelle.MessstelleService;
1313
import de.muenchen.dave.services.messstelle.Zeitraum;
14+
import de.muenchen.dave.util.messstelle.FahrtrichtungUtil;
1415
import java.math.BigDecimal;
1516
import java.time.YearMonth;
1617
import java.util.ArrayList;
@@ -127,7 +128,8 @@ void addMetaDataToRow() {
127128

128129
final List<String> cellValue = new ArrayList<>();
129130
mockedMessstelle.getMessquerschnitte()
130-
.forEach(messquerschnitt -> cellValue.add(String.format("%s - %s - %s", messquerschnitt.getMqId(), messquerschnitt.getFahrtrichtung(),
131+
.forEach(messquerschnitt -> cellValue.add(String.format("%s - %s - %s", messquerschnitt.getMqId(),
132+
FahrtrichtungUtil.getLongTextOfFahrtrichtung(messquerschnitt.getFahrtrichtung()),
131133
messquerschnitt.getStandort())));
132134
Assertions.assertThat(cell.getStringCellValue()).isEqualTo(String.join(", ", cellValue));
133135
}
@@ -379,7 +381,7 @@ void getFormattedStringForMessquerschnitt() {
379381
messquerschnitt.setFahrtrichtung("W");
380382
messquerschnitt.setStandort("Standort MQ");
381383

382-
final String expected = "12301 - W - Standort MQ";
384+
final String expected = "12301 - West - Standort MQ";
383385

384386
Assertions.assertThat(spreadsheetService.getFormattedStringForMessquerschnitt(messquerschnitt)).isEqualTo(expected);
385387
}

src/test/java/de/muenchen/dave/services/pdfgenerator/FillPdfBeanServiceTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ void fillMessstelleninformationen() {
169169
FillPdfBeanService.fillMessstelleninformationen(informationen, messstelle, optionsDTO, tagesTyp);
170170
assertThat(informationen.getStandort(), is(messstelle.getStandort()));
171171
assertThat(informationen.getSelectedFahrzeuge(), is(messstelle.getDetektierteVerkehrsarten()));
172+
assertThat(informationen.getVerkehrsartText(), is(FillPdfBeanService.VERKEHRSART_TEXT));
172173
assertThat(informationen.getMesszeitraum(),
173174
is(String.format("%s - %s", optionsDTO.getZeitraum().getFirst().format(DDMMYYYY), optionsDTO.getZeitraum().getLast().format(DDMMYYYY))));
174175
assertThat(informationen.getWochentag(), is(tagesTyp));
@@ -180,6 +181,7 @@ void fillMessstelleninformationen() {
180181
FillPdfBeanService.fillMessstelleninformationen(informationen, messstelle, optionsDTO, tagesTyp);
181182
assertThat(informationen.getStandort(), is(messstelle.getStandort()));
182183
assertThat(informationen.getSelectedFahrzeuge(), is(messstelle.getDetektierteVerkehrsarten()));
184+
assertThat(informationen.getVerkehrsartText(), is(FillPdfBeanService.VERKEHRSART_TEXT));
183185
assertThat(informationen.getMesszeitraum(), is(optionsDTO.getZeitraum().getFirst().format(DDMMYYYY)));
184186
assertThat(informationen.isWochentagNeeded(), is(false));
185187
assertThat(informationen.getWochentag(), is(nullValue()));
@@ -200,6 +202,10 @@ void createChartTitle() {
200202
final Messquerschnitt messquerschnitt = messstelle.getMessquerschnitte().getFirst();
201203
optionsDTO.setMessquerschnittIds(Set.of(messquerschnitt.getMqId()));
202204
String expectedChartTitle = messquerschnitt.getMqId() +
205+
StringUtils.SPACE +
206+
"-" +
207+
StringUtils.SPACE +
208+
messquerschnitt.getFahrtrichtung() +
203209
StringUtils.SPACE +
204210
"-" +
205211
StringUtils.SPACE +
@@ -238,6 +244,7 @@ void fillMessstelleninformationenGesamtauswertung() {
238244
assertThat(informationen.isKommentarNeeded(), is(isSingleMessstelle));
239245
assertThat(informationen.getKommentar(), is(nullValue()));
240246
assertThat(informationen.getSelectedFahrzeuge(), is(FillPdfBeanService.KEINE_DATEN_VORHANDEN));
247+
assertThat(informationen.getVerkehrsartText(), is(FillPdfBeanService.VERKEHRSART_TEXT));
241248
assertThat(informationen.getMesszeitraum(),
242249
is(optionsDTO.getJahre().stream().map(String::valueOf).collect(Collectors.joining(", "))));
243250
assertThat(informationen.isZeitintervallNeeded(), is(true));
@@ -254,6 +261,7 @@ void fillMessstelleninformationenGesamtauswertung() {
254261
assertThat(informationen.isKommentarNeeded(), is(isSingleMessstelle));
255262
assertThat(informationen.getKommentar(), is(messstelle.getKommentar()));
256263
assertThat(informationen.getSelectedFahrzeuge(), is(FillPdfBeanService.KEINE_DATEN_VORHANDEN));
264+
assertThat(informationen.getVerkehrsartText(), is(FillPdfBeanService.VERKEHRSART_TEXT));
257265
assertThat(informationen.getMesszeitraum(),
258266
is(optionsDTO.getJahre().stream().map(String::valueOf).collect(Collectors.joining(", "))));
259267
assertThat(informationen.isZeitintervallNeeded(), is(true));

0 commit comments

Comments
 (0)