From 5a04a70a4db41275a9d49853f284375beebced62 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Sat, 17 Aug 2024 09:01:18 +0200 Subject: [PATCH] support list of atc.number items --- .../xml/CargosoftXMLInvoiceImportService.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/xml/CargosoftXMLInvoiceImportService.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/xml/CargosoftXMLInvoiceImportService.java index d5cc583..0fd6b37 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/xml/CargosoftXMLInvoiceImportService.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/xml/CargosoftXMLInvoiceImportService.java @@ -472,8 +472,8 @@ public class CargosoftXMLInvoiceImportService { // Row Positions lesen readXMLRows(doc, workitem); - // Suche die ATC Nummer.... - resolveATCNumber(doc, workitem); + // Suche die ATC Nummern.... + resolveATCNumbers(doc, workitem); // Jetzt noch das Space mapping mahnlaufService.mapInvoiceTextToSpace(workitem, spacePosMappings); @@ -566,26 +566,29 @@ public class CargosoftXMLInvoiceImportService { } /** - * Hilfsmethode die die ATC Nummer sucht. + * Hilfsmethode die die ATC Nummer sucht und in das workitem feld + * invoice.atc.number einträgt. * Wir gehen davon aus, das wir über die ChildItems diese aus dem billingtexts * schon ermittel haben. + * Es können mehrere ATC nummern existieren. Diese werden in einer Liste + * gespeichert * * @param doc * @param workitem */ - private void resolveATCNumber(Document doc, ItemCollection workitem) { - + private void resolveATCNumbers(Document doc, ItemCollection workitem) { String atcNumber = null; List childs = InvoiceUtil.explodeChildList(workitem); for (ItemCollection child : childs) { if (child.hasItem("atc.number")) { atcNumber = child.getItemValueString("atc.number"); - break; + workitem.appendItemValue("invoice.atc.number", atcNumber); + // break; } } - if (atcNumber != null && !atcNumber.isEmpty()) { - workitem.setItemValue("invoice.atc.number", atcNumber); - } + // if (atcNumber != null && !atcNumber.isEmpty()) { + // workitem.setItemValue("invoice.atc.number", atcNumber); + // } } /**