From eee7a96913dcabe9c9093f9e7fc13f6861abbc26 Mon Sep 17 00:00:00 2001
From: Ralph Soika
Date: Wed, 11 May 2022 16:20:59 +0200
Subject: [PATCH] =?UTF-8?q?neue=20KReditorenverwaltung=20mit=20IBAN=20BIC?=
=?UTF-8?q?=20unerst=C3=BCtzung?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
RELEASENOTES.md | 5 +++
office-alexander-logistics-app/pom.xml | 2 +-
.../CargosoftController.java | 34 ++++++++++++-------
.../main/webapp/pages/admin/kreditor.xhtml | 22 ++++++++++++
.../alexander/cargsoft-creditor-search.xhtml | 22 ++++++++++--
pom.xml | 2 +-
6 files changed, 70 insertions(+), 17 deletions(-)
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 @@
+
+
+
+
+
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