improvements mahnlauf
This commit is contained in:
parent
5bc6225765
commit
146ad9a17b
5 changed files with 37 additions and 48 deletions
|
|
@ -64,7 +64,7 @@ public class OPListController implements Serializable {
|
||||||
/**
|
/**
|
||||||
* Diese Methode wird für Zahlungseingänge und Mahnläufe verwendet.
|
* Diese Methode wird für Zahlungseingänge und Mahnläufe verwendet.
|
||||||
* <p>
|
* <p>
|
||||||
* Die Metho liefert die Rechnungen zur gegebenen dbtrNumber. Die Methode nutzt
|
* Die Methoe liefert die Rechnungen zur gegebenen dbtrNumber. Die Methode nutzt
|
||||||
* einen lokalen cache um die Zugriffe zu beschleunigen.
|
* einen lokalen cache um die Zugriffe zu beschleunigen.
|
||||||
* <p>
|
* <p>
|
||||||
* Befindet sich ein Zahlungseingang in Erstellung (Task=1000) werden alle
|
* Befindet sich ein Zahlungseingang in Erstellung (Task=1000) werden alle
|
||||||
|
|
@ -75,8 +75,9 @@ public class OPListController implements Serializable {
|
||||||
* <p>
|
* <p>
|
||||||
* Bei verwendung im Mahnlauf werden zusätzlich auch alle diese Rechnungen
|
* Bei verwendung im Mahnlauf werden zusätzlich auch alle diese Rechnungen
|
||||||
* vorselektiert (Anforderung von Mary Mwangi). D.h. es werden alle Checkboxen
|
* vorselektiert (Anforderung von Mary Mwangi). D.h. es werden alle Checkboxen
|
||||||
* in der Maske 'selection_opliste_Mahnluaf' angewählt. D.h auch man muss ggf.
|
* in der Maske 'selection_opliste_Mahnluaf' angewählt. D.h auch, dass man ggf.
|
||||||
* Rechnungen manuell delselktieren wenn man diese nicht im Mahnlauf haben will.
|
* Rechnungen manuell delselktieren muss, wenn man diese nicht im Mahnlauf haben
|
||||||
|
* will.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param _dbtrNumber
|
* @param _dbtrNumber
|
||||||
|
|
@ -121,7 +122,11 @@ public class OPListController implements Serializable {
|
||||||
logger.severe("Failed to get op liste:" + e.getMessage());
|
logger.severe("Failed to get op liste:" + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Zahlugnseingang?
|
/*
|
||||||
|
* Zahlugnseingang?
|
||||||
|
*
|
||||||
|
* Wir berechnen den saldo.
|
||||||
|
*/
|
||||||
if (workflowController.getWorkitem().getModelVersion().startsWith("zahlungseingang")) {
|
if (workflowController.getWorkitem().getModelVersion().startsWith("zahlungseingang")) {
|
||||||
// berechnung des Basisumsatzes bei Fremdwährungen
|
// berechnung des Basisumsatzes bei Fremdwährungen
|
||||||
for (ItemCollection invoice : invoiceList) {
|
for (ItemCollection invoice : invoiceList) {
|
||||||
|
|
@ -131,18 +136,24 @@ public class OPListController implements Serializable {
|
||||||
maxSaldo = maxSaldo / rate;
|
maxSaldo = maxSaldo / rate;
|
||||||
invoice.setItemValue("invoice.saldo.byrate", maxSaldo);
|
invoice.setItemValue("invoice.saldo.byrate", maxSaldo);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mahnlauf ?
|
/*
|
||||||
|
* Mahnlauf ?
|
||||||
|
*
|
||||||
|
* Bei einem Mahnlauf selektieren wir alle Rechnungne immer vor. Das ist eine
|
||||||
|
* Anforderung von AGL Der Benutzer kann dann einzelne Rechnungen wieder
|
||||||
|
* abwählen.
|
||||||
|
*
|
||||||
|
* Eine Ausnahme ist hier nur wenn jemand auf Speichern oder mahnen drückt
|
||||||
|
* (Event = 10|20). Dann ändern wir die Liste nicht!
|
||||||
|
*/
|
||||||
if (workflowController.getWorkitem().getModelVersion().startsWith("mahnlauf")) {
|
if (workflowController.getWorkitem().getModelVersion().startsWith("mahnlauf")) {
|
||||||
// wir selektieren hier alle fälligen Rechnungen vor, falls der Mahnlauf gerade
|
// wir selektieren hier immer alle fälligen Rechnungen vor falls wir aus
|
||||||
// erstellt wird.
|
// dem Event 100 (Mahnlauf erstellen) kommen.
|
||||||
if (workflowController.getWorkitem().getItemValueInteger("$version") == 0
|
// Falls aber
|
||||||
|| (workflowController.getWorkitem().getItemValueInteger("$version") == 1
|
if (workflowController.getWorkitem().getItemValueInteger("$lastevent") == 100) {
|
||||||
&& workflowController.getWorkitem().getItemValueInteger("$lastevent") == 100)) {
|
|
||||||
List<String> intialSelection = new ArrayList<String>();
|
List<String> intialSelection = new ArrayList<String>();
|
||||||
for (ItemCollection invoice : invoiceList) {
|
for (ItemCollection invoice : invoiceList) {
|
||||||
// ist die Rechnung fällig?
|
// ist die Rechnung fällig?
|
||||||
|
|
@ -187,28 +198,6 @@ public class OPListController implements Serializable {
|
||||||
return invoiceList;
|
return invoiceList;
|
||||||
}
|
}
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Liefert die Payments die mit diesem workitem verbunden sind...
|
|
||||||
// * @return
|
|
||||||
// */
|
|
||||||
// public List<ItemCollection> getPayments() {
|
|
||||||
// List<ItemCollection> result=new ArrayList();
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// result=workitemLinkController.getExternalReferences("($WorkflowGroup:Zahlungseingang");
|
|
||||||
//// if (workflowController.getWorkitem()!=null) {
|
|
||||||
//// List<ItemCollection> liste = workflowService.getWorkListByRef(workflowController.getWorkitem().getUniqueID());
|
|
||||||
////
|
|
||||||
//// for (ItemCollection refWorkitem: liste) {
|
|
||||||
//// if (refWorkitem.getItemValueString(WorkflowKernel.WORKFLOWGROUP).startsWith("Zahlungseingang")) {
|
|
||||||
//// result.add(refWorkitem);
|
|
||||||
//// }
|
|
||||||
//// }
|
|
||||||
//// }
|
|
||||||
////
|
|
||||||
// return result;
|
|
||||||
// }
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On Before Process we store the selected invoices in $worktiemRef
|
* On Before Process we store the selected invoices in $worktiemRef
|
||||||
*
|
*
|
||||||
|
|
@ -327,10 +316,10 @@ public class OPListController implements Serializable {
|
||||||
public double calculatePaymentDifference() {
|
public double calculatePaymentDifference() {
|
||||||
double paymentAmount = workflowController.getWorkitem().getItemValueDouble("payment.amount");
|
double paymentAmount = workflowController.getWorkitem().getItemValueDouble("payment.amount");
|
||||||
double paymentDifference = workflowController.getWorkitem().getItemValueDouble("payment.difference");
|
double paymentDifference = workflowController.getWorkitem().getItemValueDouble("payment.difference");
|
||||||
|
|
||||||
double paymentTotal = workflowController.getWorkitem().getItemValueDouble("payment.total");
|
double paymentTotal = workflowController.getWorkitem().getItemValueDouble("payment.total");
|
||||||
// paymentAmount - calculateInvoiceSaldo();
|
// paymentAmount - calculateInvoiceSaldo();
|
||||||
double result = (paymentAmount+paymentDifference) - paymentTotal;
|
double result = (paymentAmount + paymentDifference) - paymentTotal;
|
||||||
|
|
||||||
logger.fine("...new PaymentDifference=" + result);
|
logger.fine("...new PaymentDifference=" + result);
|
||||||
// rond with 2 digits
|
// rond with 2 digits
|
||||||
|
|
@ -352,13 +341,11 @@ public class OPListController implements Serializable {
|
||||||
result = result + pay / rate;
|
result = result + pay / rate;
|
||||||
} else {
|
} else {
|
||||||
result = result + pay;
|
result = result + pay;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// rond with 2 digits
|
// rond with 2 digits
|
||||||
return Math.round(result * 100.0) / 100.0;
|
return Math.round(result * 100.0) / 100.0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,13 @@
|
||||||
<h:panelGroup layout="block" styleClass="imixs-form-section"
|
<h:panelGroup layout="block" styleClass="imixs-form-section"
|
||||||
id="paymentlist">
|
id="paymentlist">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<table class="imixsdatatable ">
|
<table class="imixsdatatable ">
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th style="">Mahnungen</th>
|
<th style="">Mahnung</th>
|
||||||
|
<th style="width: 100px;">Status</th>
|
||||||
|
<th style="">#{message.modified}</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<ui:param name="dunnings"
|
<ui:param name="dunnings"
|
||||||
|
|
@ -32,8 +30,12 @@
|
||||||
#{dunning.item['$workflowsummary']}
|
#{dunning.item['$workflowsummary']}
|
||||||
<f:param name="id" value="#{dunning.item['$uniqueid']}" />
|
<f:param name="id" value="#{dunning.item['$uniqueid']}" />
|
||||||
</h:link></td>
|
</h:link></td>
|
||||||
|
<td>#{dunning.item['$workflowstatus']}</td>
|
||||||
|
|
||||||
|
<td><h:outputText value="#{dunning.item['$lastEventDate']}">
|
||||||
|
<f:convertDateTime pattern="#{message.datePatternShort}"
|
||||||
|
timeZone="#{message.timeZone}" />
|
||||||
|
</h:outputText> #{message.by} #{userController.getUserName(dunning.item['$editor'])}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</ui:repeat>
|
</ui:repeat>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.alexanderlogistics;
|
package com.alexanderlogistics.migration;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.alexanderlogistics;
|
package com.alexanderlogistics.migration;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
|
|
@ -589,7 +589,7 @@ Debitor: <itemvalue>dbtr.name</itemvalue> (<itemvalue>dbtr.number</itemvalue>)
|
||||||
<imixs:value><![CDATA[0]]></imixs:value>
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="rtfresultlog" type="xs:string">
|
<imixs:item name="rtfresultlog" type="xs:string">
|
||||||
<imixs:value><![CDATA[Rechnung hinzugefügt]]></imixs:value>
|
<imixs:value><![CDATA[]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
<imixs:value>false</imixs:value>
|
<imixs:value>false</imixs:value>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue