fixed 3rd currency case

This commit is contained in:
Ralph Soika 2025-06-23 14:19:51 +02:00
parent 93c902ab4a
commit bd20c5cb5e

View file

@ -263,9 +263,14 @@ public class OPListExportAdapter extends POIFindReplaceAdapter {
for (ItemCollection invoice : invoices) { for (ItemCollection invoice : invoices) {
String currency = invoice.getItemValueString("invoice.currency"); String currency = invoice.getItemValueString("invoice.currency");
Double saldo = currencyCatSum.get(currency); Double saldo = currencyCatSum.get(currency);
if (saldo == null) {
logger.warning(
"Failed to resolve currency '" + currency + "' for invoice " + invoice.getUniqueID());
} else {
saldo = InvoiceUtil.round(saldo + invoice.getItemValueDouble("invoice.saldo")); saldo = InvoiceUtil.round(saldo + invoice.getItemValueDouble("invoice.saldo"));
currencyCatSum.put(currency, saldo); currencyCatSum.put(currency, saldo);
} }
}
int i = 0; int i = 0;
for (String cur : currencyList) { for (String cur : currencyList) {
i++; i++;
@ -303,8 +308,13 @@ public class OPListExportAdapter extends POIFindReplaceAdapter {
// calculate summary // calculate summary
String currency = invoice.getItemValueString("invoice.currency"); String currency = invoice.getItemValueString("invoice.currency");
Double saldo = currencySum.get(currency); Double saldo = currencySum.get(currency);
if (saldo == null) {
logger.warning(
"Failed to resolve currency '" + currency + "' for invoice " + invoice.getUniqueID());
} else {
saldo = InvoiceUtil.round(saldo + total); saldo = InvoiceUtil.round(saldo + total);
currencySum.put(currency, saldo); currencySum.put(currency, saldo);
}
// Saldo in richtige Spalte setzen... // Saldo in richtige Spalte setzen...
int currencyColIndex = currencyList.indexOf(currency); int currencyColIndex = currencyList.indexOf(currency);
@ -312,8 +322,14 @@ public class OPListExportAdapter extends POIFindReplaceAdapter {
// Gesamtsumme berechnen // Gesamtsumme berechnen
Double totalSaldo = currencyTotalSum.get(currency); Double totalSaldo = currencyTotalSum.get(currency);
if (totalSaldo == null) {
logger.warning(
"Failed to resolve totalSaldo for currency '" + currency + "' invoice "
+ invoice.getUniqueID());
} else {
totalSaldo = InvoiceUtil.round(totalSaldo + total); totalSaldo = InvoiceUtil.round(totalSaldo + total);
currencyTotalSum.put(currency, totalSaldo); currencyTotalSum.put(currency, totalSaldo);
}
row.getCell(5 + currencyList.size()).setCellValue(invoice.getItemValueString("$workflowstatus")); row.getCell(5 + currencyList.size()).setCellValue(invoice.getItemValueString("$workflowstatus"));