Bugfixing: Clean up existing drafts in PremisesService and include annual repacking cost in CalculationExecutionService.

This commit is contained in:
Jan 2026-01-18 21:24:24 +01:00
parent 11d32a665e
commit b66ac66b54
2 changed files with 7 additions and 0 deletions

View file

@ -177,6 +177,12 @@ public class PremisesService {
premissIds.forEach(id -> { premissIds.forEach(id -> {
var old = premiseRepository.getPremiseById(id).orElseThrow(); 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); 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()); premiseRepository.updateMaterial(Collections.singletonList(newId), old.getHsCode(), old.getTariffRate(), old.getTariffUnlocked());

View file

@ -233,6 +233,7 @@ public class CalculationExecutionService {
var commonCost = destinationCalculationJob.getAnnualHandlingCost() var commonCost = destinationCalculationJob.getAnnualHandlingCost()
.add(destinationCalculationJob.getAnnualDisposalCost()) .add(destinationCalculationJob.getAnnualDisposalCost())
.add(destinationCalculationJob.getAnnualRepackingCost())
.add(destinationCalculationJob.getAnnualCapitalCost()) .add(destinationCalculationJob.getAnnualCapitalCost())
.add(destinationCalculationJob.getAnnualStorageCost()) .add(destinationCalculationJob.getAnnualStorageCost())
.add(materialCost.multiply(BigDecimal.valueOf(destination.getAnnualAmount()))) .add(materialCost.multiply(BigDecimal.valueOf(destination.getAnnualAmount())))