From b66ac66b544afd44953dfffdb6d132cbbba80849 Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 18 Jan 2026 21:24:24 +0100 Subject: [PATCH] Bugfixing: Clean up existing drafts in `PremisesService` and include annual repacking cost in `CalculationExecutionService`. --- .../java/de/avatic/lcc/service/access/PremisesService.java | 6 ++++++ .../calculation/execution/CalculationExecutionService.java | 1 + 2 files changed, 7 insertions(+) diff --git a/src/main/java/de/avatic/lcc/service/access/PremisesService.java b/src/main/java/de/avatic/lcc/service/access/PremisesService.java index 9f7c009..bd5cb47 100644 --- a/src/main/java/de/avatic/lcc/service/access/PremisesService.java +++ b/src/main/java/de/avatic/lcc/service/access/PremisesService.java @@ -177,6 +177,12 @@ public class PremisesService { premissIds.forEach(id -> { var old = premiseRepository.getPremiseById(id).orElseThrow(); + + + var existingPremises = premiseRepository.findByMaterialIdAndSupplierId(old.getMaterialId(), old.getSupplierNodeId(), old.getUserSupplierNodeId(), userId); + var existingDrafts = existingPremises.stream().filter(p -> p.getState().equals(PremiseState.DRAFT)).toList(); + this.delete(existingDrafts.stream().map(Premise::getId).toList()); + var newId = premiseRepository.insert(old.getMaterialId(), old.getSupplierNodeId(), old.getUserSupplierNodeId(), BigDecimal.valueOf(old.getLocation().getLatitude()), BigDecimal.valueOf(old.getLocation().getLongitude()), old.getCountryId(), userId); premiseRepository.updateMaterial(Collections.singletonList(newId), old.getHsCode(), old.getTariffRate(), old.getTariffUnlocked()); diff --git a/src/main/java/de/avatic/lcc/service/calculation/execution/CalculationExecutionService.java b/src/main/java/de/avatic/lcc/service/calculation/execution/CalculationExecutionService.java index 46bbc2b..2e47586 100644 --- a/src/main/java/de/avatic/lcc/service/calculation/execution/CalculationExecutionService.java +++ b/src/main/java/de/avatic/lcc/service/calculation/execution/CalculationExecutionService.java @@ -233,6 +233,7 @@ public class CalculationExecutionService { var commonCost = destinationCalculationJob.getAnnualHandlingCost() .add(destinationCalculationJob.getAnnualDisposalCost()) + .add(destinationCalculationJob.getAnnualRepackingCost()) .add(destinationCalculationJob.getAnnualCapitalCost()) .add(destinationCalculationJob.getAnnualStorageCost()) .add(materialCost.multiply(BigDecimal.valueOf(destination.getAnnualAmount())))