From 15da44cf436f7bbee65922aeffe6724ddb825e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Thu, 19 Aug 2021 10:11:48 +0200 Subject: [PATCH] Fixed row shift problem --- .../ExcelTemplateReportGenerationService.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/ExcelTemplateReportGenerationService.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/ExcelTemplateReportGenerationService.java index fea6609..19c5114 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/ExcelTemplateReportGenerationService.java +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/ExcelTemplateReportGenerationService.java @@ -52,7 +52,9 @@ import com.iqser.red.service.redaction.report.v1.server.storage.ReportStorageSer import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Service @RequiredArgsConstructor public class ExcelTemplateReportGenerationService { @@ -79,7 +81,7 @@ public class ExcelTemplateReportGenerationService { if (dossierAttribute.getDossierAttributeId().equals(attribute.getId())) { if (attribute.getType().equals(DossierAttributeConfig.DossierAttributeType.IMAGE)) { - if(dossierAttribute.getValue() != null) { + if (dossierAttribute.getValue() != null) { if (dossierAttribute.getValue().startsWith("data:")) { imagePlaceholders.add(new ImagePlaceholder(attribute.getPlaceholder(), Base64.getDecoder() .decode(dossierAttribute.getValue().split(",")[1]))); @@ -145,8 +147,7 @@ public class ExcelTemplateReportGenerationService { private void addEntryRows(Sheet sheet, List reportEntries, String filename, boolean isLastFile) { - - if (reportEntries.isEmpty()){ + if (reportEntries.isEmpty()) { return; } @@ -177,11 +178,15 @@ public class ExcelTemplateReportGenerationService { AtomicInteger rowIndex = new AtomicInteger(placeholderRow); if (rowIndex.get() != -1) { + if (isLastFile) { - sheet.shiftRows(rowIndex.get(), rowIndex.get() + reportEntries.size() - 1, reportEntries.size() - 1, true, true); + if (reportEntries.size() > 1) { + sheet.shiftRows(rowIndex.get(), rowIndex.get() + reportEntries.size() - 1, reportEntries.size() - 1, true, true); + } } else { sheet.shiftRows(rowIndex.get(), rowIndex.get() + reportEntries.size(), reportEntries.size(), true, true); } + reportEntries.forEach(entry -> { sheet.createRow(rowIndex.get()); for (Map.Entry entry1 : placeholderCellPos.entrySet()) {