From 8d236df37562046cd489f6800be0da1425bc09a4 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Tue, 10 Jun 2025 15:45:52 +0200 Subject: [PATCH] new ZOHO Invoice export with one invoice position only! --- .../zoho/ZohoAPIService.java | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/zoho/ZohoAPIService.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/zoho/ZohoAPIService.java index 40333c5..6c48462 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/zoho/ZohoAPIService.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/zoho/ZohoAPIService.java @@ -10,6 +10,7 @@ import java.nio.charset.StandardCharsets; import java.time.Duration; import java.time.LocalDate; import java.time.ZoneId; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Locale; @@ -419,17 +420,29 @@ public class ZohoAPIService { // convert total by rate zohoInvoice.setTotal(convertInvoiceTotalToAED(invoice, invoice.getItemValueDouble("invoice.total"))); - List positionen = InvoiceUtil.explodeChildList(invoice); - - List lineItems = positionen.stream().map(item -> { - ItemCollection itemCol = (ItemCollection) item; - ZohoInvoiceItem lineItem = new ZohoInvoiceItem(); - lineItem.setName(itemCol.getItemValueString("datev.text")); - lineItem.setDescription(itemCol.getItemValueString("billingtext")); - lineItem.setRate(convertInvoiceTotalToAED(invoice, itemCol.getItemValueDouble("datev.umsatz"))); - lineItem.setQuantity(1); - return lineItem; - }).collect(Collectors.toList()); + /* + * Das Cargosoft unlogische Positionen sendet, ZOHO diese aber erzwingt, + * erzeugen wir nur noch eine einzige Zeile mit dem tatsächlichen Betrag! + * + */ + // List positionen = InvoiceUtil.explodeChildList(invoice); + // List lineItems = positionen.stream().map(item -> { + // ItemCollection itemCol = (ItemCollection) item; + // ZohoInvoiceItem lineItem = new ZohoInvoiceItem(); + // lineItem.setName(itemCol.getItemValueString("datev.text")); + // lineItem.setDescription(itemCol.getItemValueString("billingtext")); + // lineItem.setRate(convertInvoiceTotalToAED(invoice, + // itemCol.getItemValueDouble("datev.umsatz"))); + // lineItem.setQuantity(1); + // return lineItem; + // }).collect(Collectors.toList()); + List lineItems = new ArrayList<>(); + ZohoInvoiceItem lineItem = new ZohoInvoiceItem(); + lineItem.setName(invoice.getItemValueString("invoice.text")); + lineItem.setDescription(""); + lineItem.setRate(convertInvoiceTotalToAED(invoice, invoice.getItemValueDouble("invoice.total"))); + lineItem.setQuantity(1); + lineItems.add(lineItem); zohoInvoice.setLineItems(lineItems); return zohoInvoice;