update workflow ausgangsrechnung
This commit is contained in:
parent
11be0b97b1
commit
5f26b76464
12 changed files with 73678 additions and 334 deletions
|
|
@ -45,7 +45,6 @@ public class CargosoftController implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private static Logger logger = Logger.getLogger(CargosoftController.class.getName());
|
private static Logger logger = Logger.getLogger(CargosoftController.class.getName());
|
||||||
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
protected DocumentService documentService;
|
protected DocumentService documentService;
|
||||||
|
|
||||||
|
|
@ -53,7 +52,6 @@ public class CargosoftController implements Serializable {
|
||||||
|
|
||||||
private ItemCollection kreditor = null; // used for zahlungsziel (kreidtor.xhtml)
|
private ItemCollection kreditor = null; // used for zahlungsziel (kreidtor.xhtml)
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method searches a text phrase within the list of cargosoft kreditor
|
* This method searches a text phrase within the list of cargosoft kreditor
|
||||||
* objects (type=cargosoftkreditor).
|
* objects (type=cargosoftkreditor).
|
||||||
|
|
@ -96,8 +94,8 @@ public class CargosoftController implements Serializable {
|
||||||
|
|
||||||
// die cargosoft Kreditornummer beginnt seltsamerweise mit einem K
|
// die cargosoft Kreditornummer beginnt seltsamerweise mit einem K
|
||||||
// und die Debitoren mit einem D.....
|
// und die Debitoren mit einem D.....
|
||||||
String query = "(type:" + KreditorDebitorService.TYPE_CARGOSOFTKREDITOR + ") AND ( (name:K" + phrase + "*) OR (name:D" + phrase
|
String query = "(type:" + KreditorDebitorService.TYPE_CARGOSOFTKREDITOR + ") AND ( (name:K" + phrase
|
||||||
+ "*) OR (" + phrase.toLowerCase() + "*) )";
|
+ "*) OR (name:D" + phrase + "*) OR (" + phrase.toLowerCase() + "*) )";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
List<ItemCollection> result = documentService.find(query, 20, 0, "$modified", true);
|
List<ItemCollection> result = documentService.find(query, 20, 0, "$modified", true);
|
||||||
|
|
@ -121,7 +119,7 @@ public class CargosoftController implements Serializable {
|
||||||
searchResult.add(new KreditorSearchEntry(cdtrNo, display, buildJsonData(cdtr,
|
searchResult.add(new KreditorSearchEntry(cdtrNo, display, buildJsonData(cdtr,
|
||||||
cdtr.getItemValueString("cdtr.iban"), cdtr.getItemValueString("cdtr.bic"))));
|
cdtr.getItemValueString("cdtr.iban"), cdtr.getItemValueString("cdtr.bic"))));
|
||||||
// haben wir noch weitere IBAN/BIC kombis?
|
// haben wir noch weitere IBAN/BIC kombis?
|
||||||
for (int j = 1; j <=4 ; j++) {
|
for (int j = 1; j <= 4; j++) {
|
||||||
if (!cdtr.getItemValueString("cdtr.iban" + j).isEmpty()) {
|
if (!cdtr.getItemValueString("cdtr.iban" + j).isEmpty()) {
|
||||||
// Dublette mit alternativer IBAN erzeugen
|
// Dublette mit alternativer IBAN erzeugen
|
||||||
display = cdtrNo + " - " + cdtr.getItemValueString("_VENDOR_Name");
|
display = cdtrNo + " - " + cdtr.getItemValueString("_VENDOR_Name");
|
||||||
|
|
@ -188,8 +186,8 @@ public class CargosoftController implements Serializable {
|
||||||
|
|
||||||
// die cargosoft Kreditornummer beginnt seltsamerweise mit einem K
|
// die cargosoft Kreditornummer beginnt seltsamerweise mit einem K
|
||||||
// und die Debitoren mit einem D.....
|
// und die Debitoren mit einem D.....
|
||||||
String query = "(type:" + KreditorDebitorService.TYPE_CARGOSOFTKREDITOR + ") AND (name:D*) AND ((name:D" + phrase
|
String query = "(type:" + KreditorDebitorService.TYPE_CARGOSOFTKREDITOR + ") AND (name:D*) AND ((name:D"
|
||||||
+ "*) OR (" + phrase.toLowerCase() + "*) )";
|
+ phrase + "*) OR (" + phrase.toLowerCase() + "*) )";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
List<ItemCollection> result = documentService.find(query, 20, 0, "$modified", true);
|
List<ItemCollection> result = documentService.find(query, 20, 0, "$modified", true);
|
||||||
|
|
@ -199,8 +197,8 @@ public class CargosoftController implements Serializable {
|
||||||
// Aenderugn 22. Jun wir geben das K/D direkt witer
|
// Aenderugn 22. Jun wir geben das K/D direkt witer
|
||||||
String dbtrNo = dbtr.getItemValueString("_VENDOR_NUM");
|
String dbtrNo = dbtr.getItemValueString("_VENDOR_NUM");
|
||||||
String display = dbtrNo + " - " + dbtr.getItemValueString("_VENDOR_Name");
|
String display = dbtrNo + " - " + dbtr.getItemValueString("_VENDOR_Name");
|
||||||
display=display.replace("\"","");
|
display = display.replace("\"", "");
|
||||||
display=display.replace("'","");
|
display = display.replace("'", "");
|
||||||
searchResult.add(new KreditorSearchEntry(dbtrNo, display, buildJsonData(dbtr)));
|
searchResult.add(new KreditorSearchEntry(dbtrNo, display, buildJsonData(dbtr)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -208,6 +206,7 @@ public class CargosoftController implements Serializable {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hilfsmethode die eine JSON Struktur mit einer IBAN/BIC kombinatuion erzeugt.
|
* Hilfsmethode die eine JSON Struktur mit einer IBAN/BIC kombinatuion erzeugt.
|
||||||
* Diese JSON Struktur wird von der Rechnungserfassungs Maske benötigt
|
* Diese JSON Struktur wird von der Rechnungserfassungs Maske benötigt
|
||||||
|
|
@ -245,6 +244,7 @@ public class CargosoftController implements Serializable {
|
||||||
add("no", jsonVal(cdtr.getItemValueString("_VENDOR_NUM"))). //
|
add("no", jsonVal(cdtr.getItemValueString("_VENDOR_NUM"))). //
|
||||||
add("name", jsonVal(cdtr.getItemValueString("_VENDOR_Name"))). //
|
add("name", jsonVal(cdtr.getItemValueString("_VENDOR_Name"))). //
|
||||||
add("creditperiod", jsonVal(cdtr.getItemValueString("cdtr.creditperiod"))). //
|
add("creditperiod", jsonVal(cdtr.getItemValueString("cdtr.creditperiod"))). //
|
||||||
|
add("mail", jsonVal(cdtr.getItemValueString("cdtr.mail"))). //
|
||||||
add("iban", jsonVal(cdtr.getItemValueString("cdtr.iban"))). //
|
add("iban", jsonVal(cdtr.getItemValueString("cdtr.iban"))). //
|
||||||
add("bic", jsonVal(cdtr.getItemValueString("cdtr.bic"))). //
|
add("bic", jsonVal(cdtr.getItemValueString("cdtr.bic"))). //
|
||||||
// add ibans für kreditoren verwaltung
|
// add ibans für kreditoren verwaltung
|
||||||
|
|
@ -269,12 +269,13 @@ public class CargosoftController implements Serializable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper method to remove " and ' characters - causing problems
|
* Helper method to remove " and ' characters - causing problems
|
||||||
|
*
|
||||||
* @param val
|
* @param val
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String jsonVal(String val) {
|
public static String jsonVal(String val) {
|
||||||
val=val.replace("\"", "");
|
val = val.replace("\"", "");
|
||||||
val=val.replace("'", "");
|
val = val.replace("'", "");
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -308,8 +309,8 @@ public class CargosoftController implements Serializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Diese Method überträgt die geänderten Daten in das Kreidtoren Objekt
|
* Diese Method überträgt die geänderten Daten in das Kreidtoren/Debitoren
|
||||||
* (cdtr.creditperiod,cdtr.iban,cdtr.bic)
|
* Objekt (cdtr.creditperiod,cdtr.iban,cdtr.bic)
|
||||||
*/
|
*/
|
||||||
public void updateZahlungsziel() {
|
public void updateZahlungsziel() {
|
||||||
|
|
||||||
|
|
@ -330,6 +331,7 @@ public class CargosoftController implements Serializable {
|
||||||
} catch (NumberFormatException nfe) {
|
} catch (NumberFormatException nfe) {
|
||||||
// no op
|
// no op
|
||||||
}
|
}
|
||||||
|
cargoCreditor.setItemValue("cdtr.mail", kreditor.getItemValueString("cdtr.mail"));
|
||||||
cargoCreditor.setItemValue("cdtr.iban", kreditor.getItemValueString("cdtr.iban"));
|
cargoCreditor.setItemValue("cdtr.iban", kreditor.getItemValueString("cdtr.iban"));
|
||||||
cargoCreditor.setItemValue("cdtr.bic", kreditor.getItemValueString("cdtr.bic"));
|
cargoCreditor.setItemValue("cdtr.bic", kreditor.getItemValueString("cdtr.bic"));
|
||||||
cargoCreditor.setItemValue("cdtr.iban2", kreditor.getItemValueString("cdtr.iban2"));
|
cargoCreditor.setItemValue("cdtr.iban2", kreditor.getItemValueString("cdtr.iban2"));
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package com.alexanderlogistics;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import org.imixs.workflow.ItemCollection;
|
||||||
|
import org.imixs.workflow.engine.plugins.AbstractPlugin;
|
||||||
|
import org.imixs.workflow.exceptions.PluginException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Das InvoiceOutgoingPlugin aktualisiert die Debitor E-Mail Adresse
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @author rsoika
|
||||||
|
* @version 1.0
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class InvoiceOutgoingPlugin extends AbstractPlugin {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
KreditorDebitorService kreditorService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @throws PluginException - if data is missing
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public ItemCollection run(ItemCollection workitem, ItemCollection event) throws PluginException {
|
||||||
|
String dbtrNumber = workitem.getItemValueString("dbtr.number");
|
||||||
|
ItemCollection debitor = kreditorService.findDebitor(dbtrNumber);
|
||||||
|
// update mail
|
||||||
|
workitem.setItemValue("dbtr.mail", debitor.getItemValueString("cdtr.mail"));
|
||||||
|
|
||||||
|
return workitem;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -63,6 +63,11 @@ public class ZahlungseingangSaldoAdapter implements SignalAdapter {
|
||||||
|
|
||||||
List<ItemCollection> paymentDetails = zahlungseingangService.loadPaymentDetails(document);
|
List<ItemCollection> paymentDetails = zahlungseingangService.loadPaymentDetails(document);
|
||||||
|
|
||||||
|
if (paymentDetails.size()==0) {
|
||||||
|
throw new PluginException(PluginException.class.getName(),ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED,
|
||||||
|
"Bitte wählen Sie die zugeordneten Rechnungen aus.");
|
||||||
|
}
|
||||||
|
|
||||||
logger.info("......Updating " + paymentDetails.size() + " outgoing invoices....");
|
logger.info("......Updating " + paymentDetails.size() + " outgoing invoices....");
|
||||||
for (ItemCollection payment : paymentDetails) {
|
for (ItemCollection payment : paymentDetails) {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<li><h:link outcome="/pages/admin/sepa_config">SEPA</h:link></li>
|
<li><h:link outcome="/pages/admin/sepa_config">SEPA</h:link></li>
|
||||||
<li><h:link outcome="/pages/admin/cargosoft_export">Cargosoft Export</h:link></li>
|
<li><h:link outcome="/pages/admin/cargosoft_export">Cargosoft Export</h:link></li>
|
||||||
<li><h:link outcome="/pages/admin/analyse_invoicing">Analyse Rechnungseingang</h:link></li>
|
<li><h:link outcome="/pages/admin/analyse_invoicing">Analyse Rechnungseingang</h:link></li>
|
||||||
<li><h:link outcome="/pages/admin/kreditor">Kreditoren Zahlungsziele</h:link></li>
|
<li><h:link outcome="/pages/admin/kreditor">Kreditoren/Debitoren</h:link></li>
|
||||||
</ul>
|
</ul>
|
||||||
</f:subview>
|
</f:subview>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
<div class="imixs-form">
|
<div class="imixs-form">
|
||||||
<div class="imixs-header">
|
<div class="imixs-header">
|
||||||
<h1>
|
<h1>
|
||||||
<h:outputText value="Kreditoren Zahlungsziele " />
|
<h:outputText value="Kreditoren / Debitoren " />
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
<div class="imixs-form-section-2">
|
<div class="imixs-form-section-2">
|
||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
<dt>Kreditor:</dt>
|
<dt>Kreditor/Debitor:</dt>
|
||||||
|
|
||||||
<dd>
|
<dd>
|
||||||
<h:inputText
|
<h:inputText
|
||||||
|
|
@ -50,8 +50,16 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h:panelGroup layout="block" styleClass="imixs-form-section"
|
<h:panelGroup layout="block" styleClass="imixs-form-section-2"
|
||||||
id="contentIputID">
|
id="contentIputID">
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt>E-Mail:</dt>
|
||||||
|
<dd><h:inputText pt:data-item="cdtr.mail"
|
||||||
|
value="#{cargosoftController.kreditor.item['cdtr.mail']}" /></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
<dt>Zahlungsziel:</dt>
|
<dt>Zahlungsziel:</dt>
|
||||||
<dd><h:inputText style="width:5em;"
|
<dd><h:inputText style="width:5em;"
|
||||||
|
|
@ -60,6 +68,7 @@
|
||||||
/> Tage</dd>
|
/> Tage</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
</h:panelGroup>
|
</h:panelGroup>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -60,9 +60,10 @@
|
||||||
var inputElementZahlungsziel=$("input[data-item='cdtr.creditperiod']");
|
var inputElementZahlungsziel=$("input[data-item='cdtr.creditperiod']");
|
||||||
var inputElementZahlungszielCdtr=$("input[id$='cdtr_creditperiod']");
|
var inputElementZahlungszielCdtr=$("input[id$='cdtr_creditperiod']");
|
||||||
var inputElementInvoiceDate=$("input[id$='date_invoice']");
|
var inputElementInvoiceDate=$("input[id$='date_invoice']");
|
||||||
|
var inputElementMail=$("input[data-item='cdtr.mail']");
|
||||||
var inputElementIban=$("input[data-item='cdtr.iban']");
|
var inputElementIban=$("input[data-item='cdtr.iban']");
|
||||||
var inputElementBic=$("input[data-item='cdtr.bic']");
|
var inputElementBic=$("input[data-item='cdtr.bic']");
|
||||||
if (inputElementZahlungszielCdtr && cdtrData.creditperiod!='') {
|
if (inputElementZahlungszielCdtr) {
|
||||||
inputElementZahlungszielCdtr.val(cdtrData.creditperiod);
|
inputElementZahlungszielCdtr.val(cdtrData.creditperiod);
|
||||||
}
|
}
|
||||||
// nur wenn ein Rechnugnsdatum eingegeben wurde
|
// nur wenn ein Rechnugnsdatum eingegeben wurde
|
||||||
|
|
@ -74,12 +75,15 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
// update iban/bic
|
// update iban/bic
|
||||||
if (inputElementIban && cdtrData.iban!='') {
|
if (inputElementIban) {
|
||||||
inputElementIban.val(cdtrData.iban);
|
inputElementIban.val(cdtrData.iban);
|
||||||
}
|
}
|
||||||
if (inputElementBic && cdtrData.bic!='') {
|
if (inputElementBic) {
|
||||||
inputElementBic.val(cdtrData.bic);
|
inputElementBic.val(cdtrData.bic);
|
||||||
}
|
}
|
||||||
|
if (inputElementMail) {
|
||||||
|
inputElementMail.val(cdtrData.mail);
|
||||||
|
}
|
||||||
|
|
||||||
// update all possible data fields von kredorenverwaltung
|
// update all possible data fields von kredorenverwaltung
|
||||||
if ($("input[data-item='cdtr.iban']")) {
|
if ($("input[data-item='cdtr.iban']")) {
|
||||||
|
|
|
||||||
14615
templates/mail/2. Reminder - Englisch.rtf
Normal file
14615
templates/mail/2. Reminder - Englisch.rtf
Normal file
File diff suppressed because it is too large
Load diff
14628
templates/mail/Last Reminder - Englisch.rtf
Normal file
14628
templates/mail/Last Reminder - Englisch.rtf
Normal file
File diff suppressed because it is too large
Load diff
14645
templates/mail/Letzte Mahnung- Deutsch.rtf
Normal file
14645
templates/mail/Letzte Mahnung- Deutsch.rtf
Normal file
File diff suppressed because it is too large
Load diff
14628
templates/mail/Mahnung 1 - Deutsch.rtf
Normal file
14628
templates/mail/Mahnung 1 - Deutsch.rtf
Normal file
File diff suppressed because it is too large
Load diff
14640
templates/mail/Mahnung 2- Deutsch.rtf
Normal file
14640
templates/mail/Mahnung 2- Deutsch.rtf
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue