diff --git a/RELEASENOTES.md b/RELEASENOTES.md index fd7128d..926c39a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,5 +1,10 @@ # Versionen + +### 1.2.6 (Development) + + Übernahme von IBAN BIC aus kreditoren verwaltung + ### 1.1.1 - Cargosoft Splitbuchungen - Es können zu einer Rechnung mehrere Cargosoft Exporte erzeugt werden. Die Sub Rechnungsnummern stehen im Feld numsequencenumber_sub diff --git a/office-alexander-logistics-app/pom.xml b/office-alexander-logistics-app/pom.xml index 93ac7a0..0bec467 100644 --- a/office-alexander-logistics-app/pom.xml +++ b/office-alexander-logistics-app/pom.xml @@ -5,7 +5,7 @@ office-alexander-logistics com.alexander-logistics - 1.2.5 + 1.2.6 office-alexander-logistics-app war diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/CargosoftController.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/CargosoftController.java index b83987a..718904a 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/CargosoftController.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/CargosoftController.java @@ -90,16 +90,15 @@ public class CargosoftController implements Serializable { if (result != null) { for (ItemCollection cdtr : result) { - String cdtrNo = cdtr.getItemValueString("_VENDOR_NUM"); // Aenderugn 22. Jun wir geben das K/D direkt witer - // if (cdtrNo.startsWith("K")) { - // wir entfernen das führende K - // cdtrNo=cdtrNo.substring(1); - // } - searchResult.add(cdtrNo + " - " + cdtr.getItemValueString("_VENDOR_Name") + " - " - + cdtr.getItemValueString("cdtr.creditperiod")); - // logger.finest("...add: " + cdtr.getItemValueString("_VENDOR_NUM") + " - - // "+cdtr.getItemValueString("_VENDOR_Name")); + String cdtrNo = cdtr.getItemValueString("_VENDOR_NUM"); + String data=cdtrNo + " - " + cdtr.getItemValueString("_VENDOR_Name"); + // Aenderung 11. Mai - wir geben nun creditperiod iban und bic mit | Zeichen getrennt weieter + data=data + " |"+cdtr.getItemValueString("cdtr.creditperiod"); + data=data + "|"+cdtr.getItemValueString("cdtr.iban"); + data=data + "|"+cdtr.getItemValueString("cdtr.bic"); + + searchResult.add(data); } } } catch (QueryException e) { @@ -131,11 +130,16 @@ public class CargosoftController implements Serializable { this.kreditor = kreditor; } + /** + * Diese Method überträgt die geänderten Daten in das Kreidtoren Objekt (cdtr.creditperiod,cdtr.iban,cdtr.bic) + */ public void updateZahlungsziel() { String cdtrNumber = kreditor.getItemValueString("cdtr.number"); String period = kreditor.getItemValueString("cdtr.creditperiod"); - logger.info("Zahlungsziel = " + cdtrNumber + " / " + period); + String iban = kreditor.getItemValueString("cdtr.iban"); + String bic = kreditor.getItemValueString("cdtr.bic"); + logger.fine("Zahlungsziel = " + cdtrNumber + " / " + period); // search workitem String query = "(type:" + TYPE_CARGOSOFTKREDITOR + ") AND (name:" + cdtrNumber + ")"; @@ -145,10 +149,16 @@ public class CargosoftController implements Serializable { result = documentService.find(query, 1, 0); if (result.size() == 1) { ItemCollection cargoCreditor = result.get(0); - cargoCreditor.setItemValue("cdtr.creditperiod", Integer.parseInt(period)); + try { + cargoCreditor.setItemValue("cdtr.creditperiod", Integer.parseInt(period)); + } catch (NumberFormatException nfe) { + // no op + } + cargoCreditor.setItemValue("cdtr.iban", iban); + cargoCreditor.setItemValue("cdtr.bic", bic); documentService.save(cargoCreditor); } - } catch (QueryException | NumberFormatException e) { + } catch (QueryException e) { logger.severe("Unable to find cargosoft kreditor "+e.getMessage()); } diff --git a/office-alexander-logistics-app/src/main/webapp/pages/admin/kreditor.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/admin/kreditor.xhtml index 8bf5140..62aa1e7 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/admin/kreditor.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/admin/kreditor.xhtml @@ -60,6 +60,28 @@ + + +
+ +
+
IBAN:
+
+ +
+
+
+
BIC:
+
+ +
+
+ +
+ + diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/cargsoft-creditor-search.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/cargsoft-creditor-search.xhtml index ef6656e..68956cb 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/cargsoft-creditor-search.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/cargsoft-creditor-search.xhtml @@ -53,20 +53,29 @@ function selectCdtrCallback(selection) { // extract the number between start and ' - ' var cdtrNo=selection.substring(0,selection.indexOf(' - ')); - var cdtrName=selection.substring(selection.indexOf(' - ')+3); + var cdtrName=selection.substring(selection.indexOf(' - ')+3,selection.indexOf('|') ); var inputElement=$("input[data-item='cdtr.number']"); - inputElement.val(cdtrNo); + inputElement.val(cdtrNo); // remove old cdtr.name $('#cdtr-name-id').remove(); // append span with cdtr.name.... inputElement.after( "" + cdtrName + "

" ); + // Data format + // K00000 - Kreditorenname |3|00000IBAN|000BIC // zahlungsziel - var cdtrPaymentPeriod=selection.substring(selection.lastIndexOf(' - ')+3); + var paramsData=selection.substring(selection.indexOf('|')+1); + var params=paramsData.split('|'); + var cdtrPaymentPeriod=params[0]; + var cdtrIBAN=params[1]; + var cdtrBIC=params[2]; + var inputElementZahlungsziel=$("input[data-item='cdtr.creditperiod']"); var inputElementZahlungszielCdtr=$("input[id$='cdtr_creditperiod']"); var inputElementInvoiceDate=$("input[id$='date_invoice']"); + var inputElementIban=$("input[data-item='cdtr.iban']"); + var inputElementBic=$("input[data-item='cdtr.bic']"); if (inputElementZahlungszielCdtr && cdtrPaymentPeriod!='') { inputElementZahlungszielCdtr.val(cdtrPaymentPeriod); } @@ -78,6 +87,13 @@ $("input[data-item='invoice.number']").focus().select(); } + // update iban/bic + if (inputElementIban && cdtrIBAN!='') { + inputElementIban.val(cdtrIBAN); + } + if (inputElementBic && cdtrBIC!='') { + inputElementBic.val(cdtrBIC); + } } /*]]>*/ diff --git a/pom.xml b/pom.xml index 7b3a5b5..25989f8 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.alexander-logistics office-alexander-logistics - 1.2.5 + 1.2.6 pom Imixs Office Workflow - Custom Build