From 2ed89cbf45c79b873c92f0e38c9e267ccdd15d7e Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Wed, 31 Jul 2024 12:50:23 +0200 Subject: [PATCH] =?UTF-8?q?fix=20datumsberechnung=20f=C3=A4lligkeit=20und?= =?UTF-8?q?=20Sammelgutschrift=20Cargosoft?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xml/CargosoftXMLInvoiceImportService.java | 9 ++- .../webapp/js/imixs-office.workitem.custom.js | 56 +++++++++---------- 2 files changed, 32 insertions(+), 33 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 b4f4feb..3a6835b 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 @@ -673,14 +673,19 @@ public class CargosoftXMLInvoiceImportService { } /** - * Bei G = Gutschrift oder SR = Stornorechnung müssen wir das vorzeichen ändern + * G = Gutschrift + * SR = Stornorechnung + * GK = Sammelgutschrift + * SS = Sammelrechnung Storno + * + * müssen wir das vorzeichen ändern * dies wird über den Invoice.Type geprüft * * @return */ private boolean isGutschrift(ItemCollection workitem) { String type = workitem.getItemValueString("invoice.type"); - return ("G".equals(type) || "SR".equals(type)); + return ("G".equals(type) || "SR".equals(type) || "GK".equals(type) || "SS".equals(type)); } /** diff --git a/office-alexander-logistics-app/src/main/webapp/js/imixs-office.workitem.custom.js b/office-alexander-logistics-app/src/main/webapp/js/imixs-office.workitem.custom.js index 5864b2d..ba5eb52 100644 --- a/office-alexander-logistics-app/src/main/webapp/js/imixs-office.workitem.custom.js +++ b/office-alexander-logistics-app/src/main/webapp/js/imixs-office.workitem.custom.js @@ -5,7 +5,7 @@ /** * */ -$(document).ready(function() { +$(document).ready(function () { initFaelligkeit(); }); @@ -15,28 +15,22 @@ $(document).ready(function() { * ein neues Datum auf basis des Rechnungsdatum (date_invoice) */ function initFaelligkeit(ajax_event) { - $(".alexander-logistic-date-days").change(function(e) { + $(".alexander-logistic-date-days").change(function (e) { var days = $(this).val(); - if (days=='') { + if (days == '') { return true; } - + // find the basis date 'date_invoice' - var basisDateString=$("input[id$='date_invoice']").val(); + var basisDateString = $("input[id$='date_invoice']").val(); const parts = basisDateString.split("."); - var basisDay=parts[0]; - var basisMonth=parts[1]; - var basisYear=parts[2]; - - - var basisDate = new Date(); - basisDate.setFullYear(basisYear); - basisDate.setMonth(basisMonth-1); - basisDate.setDate(basisDay); - - - // get days,month,year from - var newDate = new Date(basisDate.getTime() + (days * 24 * 60 * 60 * 1000)); + var basisDay = parts[0]; + var basisMonth = (parts[1]) - 1; + var basisYear = parts[2]; + var basisDate = new Date(basisYear, basisMonth, basisDay); + var newDate = new Date(basisYear, basisMonth, basisDay); + let tageVerschiebung = 10; + newDate.setDate(newDate.getDate() + tageVerschiebung); var day = '' + newDate.getDate(); if (day.length == 1) { @@ -53,13 +47,13 @@ function initFaelligkeit(ajax_event) { var dateFormated = day + month + year; //alert(dateFormated); - var dateInput=$(this).next(); + var dateInput = $(this).next(); dateInput.val(dateFormated); validateBuchungsDatum(dateInput); // clear input $(this).val(''); - + }); } @@ -91,7 +85,7 @@ function validateBuchungsDatum(item) { text = text.substring(0, 2) + "." + text.substring(2, 4) + "." + text.substring(4); } - + // check for TTMM if (text.length == 4 && text.indexOf('.') == -1) { text = text.substring(0, 2) + "." + text.substring(2); @@ -106,27 +100,27 @@ function validateBuchungsDatum(item) { var right = text.substring(n + 1); text = left + "20" + right; } - - + + // validate if year has more then 4 digits // TT.MM.YYYY is allowed - if (text.length!=10) { + if (text.length != 10) { console.log("Invalid Date=" + text); - text=""; + text = ""; } // update field.... $(mhd).val(text); - - + + // hier aktualisiereh wir die Fälligkeit wenn das Rechnungsdatum sich ändert // und wir ein Zahlungsziel kennen. - var inputElementZahlungszielCdtr=$("input[id$='cdtr_creditperiod']"); - var itemID=item.id; + var inputElementZahlungszielCdtr = $("input[id$='cdtr_creditperiod']"); + var itemID = item.id; if (itemID && itemID.endsWith('date_invoice')) { // update zahlungsziel - if (inputElementZahlungszielCdtr && inputElementZahlungszielCdtr.val()!='') { - var inputElementZahlungsziel=$("input[data-item='cdtr.creditperiod']"); + if (inputElementZahlungszielCdtr && inputElementZahlungszielCdtr.val() != '') { + var inputElementZahlungsziel = $("input[data-item='cdtr.creditperiod']"); if (inputElementZahlungsziel) { inputElementZahlungsziel.val(inputElementZahlungszielCdtr.val()); inputElementZahlungsziel.change();