fix datumsberechnung fälligkeit und Sammelgutschrift Cargosoft

This commit is contained in:
Ralph Soika 2024-07-31 12:50:23 +02:00
parent 123c3a052c
commit 2ed89cbf45
2 changed files with 32 additions and 33 deletions

View file

@ -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 * dies wird über den Invoice.Type geprüft
* *
* @return * @return
*/ */
private boolean isGutschrift(ItemCollection workitem) { private boolean isGutschrift(ItemCollection workitem) {
String type = workitem.getItemValueString("invoice.type"); 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));
} }
/** /**

View file

@ -5,7 +5,7 @@
/** /**
* *
*/ */
$(document).ready(function() { $(document).ready(function () {
initFaelligkeit(); initFaelligkeit();
}); });
@ -15,28 +15,22 @@ $(document).ready(function() {
* ein neues Datum auf basis des Rechnungsdatum (date_invoice) * ein neues Datum auf basis des Rechnungsdatum (date_invoice)
*/ */
function initFaelligkeit(ajax_event) { function initFaelligkeit(ajax_event) {
$(".alexander-logistic-date-days").change(function(e) { $(".alexander-logistic-date-days").change(function (e) {
var days = $(this).val(); var days = $(this).val();
if (days=='') { if (days == '') {
return true; return true;
} }
// find the basis date 'date_invoice' // find the basis date 'date_invoice'
var basisDateString=$("input[id$='date_invoice']").val(); var basisDateString = $("input[id$='date_invoice']").val();
const parts = basisDateString.split("."); const parts = basisDateString.split(".");
var basisDay=parts[0]; var basisDay = parts[0];
var basisMonth=parts[1]; var basisMonth = (parts[1]) - 1;
var basisYear=parts[2]; var basisYear = parts[2];
var basisDate = new Date(basisYear, basisMonth, basisDay);
var newDate = new Date(basisYear, basisMonth, basisDay);
var basisDate = new Date(); let tageVerschiebung = 10;
basisDate.setFullYear(basisYear); newDate.setDate(newDate.getDate() + tageVerschiebung);
basisDate.setMonth(basisMonth-1);
basisDate.setDate(basisDay);
// get days,month,year from
var newDate = new Date(basisDate.getTime() + (days * 24 * 60 * 60 * 1000));
var day = '' + newDate.getDate(); var day = '' + newDate.getDate();
if (day.length == 1) { if (day.length == 1) {
@ -53,7 +47,7 @@ function initFaelligkeit(ajax_event) {
var dateFormated = day + month + year; var dateFormated = day + month + year;
//alert(dateFormated); //alert(dateFormated);
var dateInput=$(this).next(); var dateInput = $(this).next();
dateInput.val(dateFormated); dateInput.val(dateFormated);
validateBuchungsDatum(dateInput); validateBuchungsDatum(dateInput);
@ -110,9 +104,9 @@ function validateBuchungsDatum(item) {
// validate if year has more then 4 digits // validate if year has more then 4 digits
// TT.MM.YYYY is allowed // TT.MM.YYYY is allowed
if (text.length!=10) { if (text.length != 10) {
console.log("Invalid Date=" + text); console.log("Invalid Date=" + text);
text=""; text = "";
} }
// update field.... // update field....
@ -121,12 +115,12 @@ function validateBuchungsDatum(item) {
// hier aktualisiereh wir die Fälligkeit wenn das Rechnungsdatum sich ändert // hier aktualisiereh wir die Fälligkeit wenn das Rechnungsdatum sich ändert
// und wir ein Zahlungsziel kennen. // und wir ein Zahlungsziel kennen.
var inputElementZahlungszielCdtr=$("input[id$='cdtr_creditperiod']"); var inputElementZahlungszielCdtr = $("input[id$='cdtr_creditperiod']");
var itemID=item.id; var itemID = item.id;
if (itemID && itemID.endsWith('date_invoice')) { if (itemID && itemID.endsWith('date_invoice')) {
// update zahlungsziel // update zahlungsziel
if (inputElementZahlungszielCdtr && inputElementZahlungszielCdtr.val()!='') { if (inputElementZahlungszielCdtr && inputElementZahlungszielCdtr.val() != '') {
var inputElementZahlungsziel=$("input[data-item='cdtr.creditperiod']"); var inputElementZahlungsziel = $("input[data-item='cdtr.creditperiod']");
if (inputElementZahlungsziel) { if (inputElementZahlungsziel) {
inputElementZahlungsziel.val(inputElementZahlungszielCdtr.val()); inputElementZahlungsziel.val(inputElementZahlungszielCdtr.val());
inputElementZahlungsziel.change(); inputElementZahlungsziel.change();