new ZOHO Invoice export with one invoice position only!

This commit is contained in:
Ralph Soika 2025-06-10 15:45:52 +02:00
parent f294d64e8c
commit 8d236df375

View file

@ -10,6 +10,7 @@ import java.nio.charset.StandardCharsets;
import java.time.Duration; import java.time.Duration;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@ -419,17 +420,29 @@ public class ZohoAPIService {
// convert total by rate // convert total by rate
zohoInvoice.setTotal(convertInvoiceTotalToAED(invoice, invoice.getItemValueDouble("invoice.total"))); zohoInvoice.setTotal(convertInvoiceTotalToAED(invoice, invoice.getItemValueDouble("invoice.total")));
List<ItemCollection> positionen = InvoiceUtil.explodeChildList(invoice); /*
* Das Cargosoft unlogische Positionen sendet, ZOHO diese aber erzwingt,
List<ZohoInvoiceItem> lineItems = positionen.stream().map(item -> { * erzeugen wir nur noch eine einzige Zeile mit dem tatsächlichen Betrag!
ItemCollection itemCol = (ItemCollection) item; *
*/
// List<ItemCollection> positionen = InvoiceUtil.explodeChildList(invoice);
// List<ZohoInvoiceItem> 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<ZohoInvoiceItem> lineItems = new ArrayList<>();
ZohoInvoiceItem lineItem = new ZohoInvoiceItem(); ZohoInvoiceItem lineItem = new ZohoInvoiceItem();
lineItem.setName(itemCol.getItemValueString("datev.text")); lineItem.setName(invoice.getItemValueString("invoice.text"));
lineItem.setDescription(itemCol.getItemValueString("billingtext")); lineItem.setDescription("");
lineItem.setRate(convertInvoiceTotalToAED(invoice, itemCol.getItemValueDouble("datev.umsatz"))); lineItem.setRate(convertInvoiceTotalToAED(invoice, invoice.getItemValueDouble("invoice.total")));
lineItem.setQuantity(1); lineItem.setQuantity(1);
return lineItem; lineItems.add(lineItem);
}).collect(Collectors.toList());
zohoInvoice.setLineItems(lineItems); zohoInvoice.setLineItems(lineItems);
return zohoInvoice; return zohoInvoice;