This commit is contained in:
Ralph Soika 2022-10-13 14:27:58 +02:00
parent 7bc51dd69b
commit 75867abf64
5 changed files with 638 additions and 142 deletions

View file

@ -29,82 +29,102 @@ import org.imixs.workflow.exceptions.PluginException;
*/ */
public class ZahlungseingangSaldoAdapter implements SignalAdapter { public class ZahlungseingangSaldoAdapter implements SignalAdapter {
private static Logger logger = Logger.getLogger(ZahlungseingangSaldoAdapter.class.getName()); private static Logger logger = Logger.getLogger(ZahlungseingangSaldoAdapter.class.getName());
@Inject
ZahlungseingangService zahlungseingangService;
@Inject /**
ZahlungseingangService zahlungseingangService; * This method finds the outgoing invoicdes and updates the saldo
* (payment.total).
*
* @throws PluginException
*/
@Override
public ItemCollection execute(ItemCollection document, ItemCollection event)
throws AdapterException, PluginException {
/** updateSaldo(document);
* This method finds the outgoing invoicdes and updates the saldo
* (payment.total).
*
* @throws PluginException
*/
@Override
public ItemCollection execute(ItemCollection document, ItemCollection event)
throws AdapterException, PluginException {
updateSaldo(document); return document;
}
return document; /**
} * Diese method hängt eine referenz der aktuellen Rechnung an den Zahlungsavis
*
* @param document
* @throws PluginException
*/
private void updateSaldo(ItemCollection document) throws PluginException {
/** // payment currency
* Diese method hängt eine referenz der aktuellen Rechnung an den Zahlungsavis String paymentCurrency = document.getItemValueString("payment.currency");
* double masterPaymentAmount = document.getItemValueDouble("payment.amount");
* @param document String paymentWarning = document.getItemValueString("payment.warning");
* @throws PluginException
*/
private void updateSaldo(ItemCollection document) throws PluginException {
// payment currency List<ItemCollection> paymentDetails = zahlungseingangService.loadPaymentDetails(document);
String paymentCurrency = document.getItemValueString("payment.currency");
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.");
}
if (paymentDetails.size()==0) { logger.info("......Updating " + paymentDetails.size() + " outgoing invoices....");
throw new PluginException(PluginException.class.getName(),ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED, double einzelPayments = 0;
"Bitte wählen Sie die zugeordneten Rechnungen aus."); for (ItemCollection payment : paymentDetails) {
}
logger.info("......Updating " + paymentDetails.size() + " outgoing invoices....");
for (ItemCollection payment : paymentDetails) {
ItemCollection invoice = zahlungseingangService.findInvoice(payment.getUniqueID()); ItemCollection invoice = zahlungseingangService.findInvoice(payment.getUniqueID());
if (invoice != null) { if (invoice != null) {
String invoiceNumber = invoice.getItemValueString("invoice.number"); String invoiceNumber = invoice.getItemValueString("invoice.number");
String invoiceCurrency = invoice.getItemValueString("invoice.currency"); String invoiceCurrency = invoice.getItemValueString("invoice.currency");
if (!invoiceCurrency.equals(paymentCurrency)) { if (!invoiceCurrency.equals(paymentCurrency)) {
throw new PluginException(PluginException.class.getName(),ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED, throw new PluginException(PluginException.class.getName(),
"Der Zahlungseingang kann nicht verbucht werden, da die Währung " + paymentCurrency ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED,
+ " nicht mit der Währung der Rechnung " + invoiceNumber + " übereinstimmt!"); "Der Zahlungseingang kann nicht verbucht werden, da die Währung " + paymentCurrency
} + " nicht mit der Währung der Rechnung " + invoiceNumber + " übereinstimmt!");
}
float invoiceSaldo = invoice.getItemValueFloat("invoice.saldo"); float invoiceSaldo = invoice.getItemValueFloat("invoice.saldo");
float paymentAmount = payment.getItemValueFloat("payment.amount"); float paymentAmount = payment.getItemValueFloat("payment.amount");
einzelPayments = einzelPayments + paymentAmount;
if (Math.abs(paymentAmount) > Math.abs(invoiceSaldo)) {
throw new PluginException(PluginException.class.getName(), ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED, // vergeiche Beträge
"Der Zahlungseingang kann nicht verbucht werden, da der Restsaldo der Rechnung " if (Math.abs(paymentAmount) > Math.abs(invoiceSaldo)) {
+ invoiceNumber + " kleiner als der Zahlbetrag ist!"); throw new PluginException(PluginException.class.getName(),
} ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED,
"Der Zahlungseingang kann nicht verbucht werden, da der Restsaldo der Rechnung "
+ invoiceNumber + " kleiner als der Zahlbetrag ist!");
invoiceSaldo=invoiceSaldo-paymentAmount; }
invoice.setItemValue("invoice.saldo", invoiceSaldo);
invoice.event(ZahlungseingangService.EVENT_UPDATE_INVOICE);
zahlungseingangService.processInvoice(invoice); // Prüfe auf Plausisbilität
if (paymentWarning.isEmpty()) {
// falls mehr einzelsummen eingeben wurden als der oben angegeben Total Pamyment
// dann soll eine Warnung ausgegen werden.
if (masterPaymentAmount > einzelPayments) {
document.setItemValue("payment.warning", "invalid saldo");
throw new PluginException(PluginException.class.getName(),
ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED,
"Der Zahlungseingang ist größer als die ausgebuchten Rechnungssalden. Sollte die Eingabe korrekt sein, wiederholen Sie die Aktion.");
}
} else { }
throw new PluginException(PluginException.class.getName(), ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED,
"Rechnung konnte nicht gefunden werden!");
}
}
} invoiceSaldo = invoiceSaldo - paymentAmount;
invoice.setItemValue("invoice.saldo", invoiceSaldo);
invoice.event(ZahlungseingangService.EVENT_UPDATE_INVOICE);
zahlungseingangService.processInvoice(invoice);
} else {
throw new PluginException(PluginException.class.getName(),
ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED, "Rechnung konnte nicht gefunden werden!");
}
}
}
} }

View file

@ -1,21 +1,31 @@
package com.alexanderlogistics.mahnlauf; package com.alexanderlogistics.mahnlauf;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.inject.Inject; import javax.inject.Inject;
import org.imixs.workflow.ItemCollection; import org.imixs.workflow.ItemCollection;
import org.imixs.workflow.Model;
import org.imixs.workflow.SignalAdapter; import org.imixs.workflow.SignalAdapter;
import org.imixs.workflow.engine.ModelService; import org.imixs.workflow.engine.ModelService;
import org.imixs.workflow.engine.WorkflowService; import org.imixs.workflow.engine.WorkflowService;
import org.imixs.workflow.exceptions.AdapterException; import org.imixs.workflow.exceptions.AdapterException;
import org.imixs.workflow.exceptions.ModelException;
import org.imixs.workflow.exceptions.PluginException; import org.imixs.workflow.exceptions.PluginException;
/** /**
* The MahnlaufExecuteAdapter triggers the event 300 for all linked invoices * The MahnlaufExecuteAdapter triggers the event 300 for all linked invoices
* <p> * <p>
* The Adapter also creates a child item '_invoices' with the details of the
* processed invoices. This item is used in the Workflow Model to construct a
* HTML Table wen sending the mail.
*
* *
* @version 1.0 * @version 1.0
* @author rsoika * @author rsoika
@ -50,17 +60,53 @@ public class MahnlaufExecuteAdapter implements SignalAdapter {
} }
// get all Invoices of this Mahnlauf // get all Invoices of this Mahnlauf
List<Map<String, List<Object>>> invoiceList = new ArrayList<Map<String, List<Object>>>();
List<String> refList = mahnLaufWorkitem.getItemValue("$workitemref"); List<String> refList = mahnLaufWorkitem.getItemValue("$workitemref");
for (String uniqueId : refList) { for (String uniqueId : refList) {
ItemCollection invoice = workflowService.getWorkItem(uniqueId); ItemCollection invoice = workflowService.getWorkItem(uniqueId);
if (invoice != null && (invoice.getTaskID() >= MahnlaufService.TASK_MAHNLAUF_START if (invoice != null && (invoice.getTaskID() >= MahnlaufService.TASK_MAHNLAUF_START
&& invoice.getTaskID() <= MahnlaufService.TASK_MAHNLAUF_END)) { && invoice.getTaskID() <= MahnlaufService.TASK_MAHNLAUF_END)) {
// set new invoice.reminder date
// first fetch the event of the invoice to be processed
try {
Model invoiceModel;
invoiceModel = this.modelService.getModel(invoice.getModelVersion());
ItemCollection invoiceEvent = invoiceModel.getEvent(invoice.getTaskID(),
MahnlaufService.EVENT_MAHNLAUF_EXECUTE);
if (invoiceEvent != null) {
ItemCollection eventDunningConfig = this.workflowService.evalWorkflowResult(invoiceEvent,
"dunning", invoice);
int period = eventDunningConfig.getItemValueInteger("period");
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DATE, period);
invoice.setItemValue("invoice.reminder", cal.getTime());
}
} catch (ModelException e) {
e.printStackTrace();
}
mahnlaufService.processInvoice(invoice.event(MahnlaufService.EVENT_MAHNLAUF_EXECUTE)); mahnlaufService.processInvoice(invoice.event(MahnlaufService.EVENT_MAHNLAUF_EXECUTE));
// create a workitem stub for the mail message
ItemCollection invoiceStub = new ItemCollection();
invoiceStub.setItemValue("invoice.number", invoice.getItemValue("invoice.number"));
invoiceStub.setItemValue("invoice.total", invoice.getItemValue("invoice.total"));
invoiceStub.setItemValue("invoice.saldo", invoice.getItemValue("invoice.saldo"));
invoiceStub.setItemValue("invoice.currency", invoice.getItemValue("invoice.currency"));
invoiceStub.setItemValue("invoice.date", invoice.getItemValue("invoice.date"));
invoiceStub.setItemValue("invoice.duedate", invoice.getItemValue("invoice.duedate"));
invoiceStub.setItemValue("$workflowstatus", invoice.getItemValue("$workflowstatus"));
invoiceList.add(invoiceStub.getAllItems());
} }
} }
mahnLaufWorkitem.setItemValue("dunning.details", invoiceList);
return mahnLaufWorkitem; return mahnLaufWorkitem;
} }
} }

View file

@ -22,6 +22,7 @@
<th style="text-align: left;">#{message['form.date']}</th> <th style="text-align: left;">#{message['form.date']}</th>
<th style="text-align: left;">#{message['form.deadline']}</th> <th style="text-align: left;">#{message['form.deadline']}</th>
<th style="text-align: left;">#{message['form.reminder']}</th>
<th style="text-align: left;">Status</th> <th style="text-align: left;">Status</th>
<th style="text-align: right;">S/H</th> <th style="text-align: right;">S/H</th>
<th style="width: 40px;"></th> <th style="width: 40px;"></th>
@ -48,6 +49,11 @@
<f:convertDateTime pattern="#{message.datePatternShort}" <f:convertDateTime pattern="#{message.datePatternShort}"
timeZone="#{message.timeZone}" /> timeZone="#{message.timeZone}" />
</h:outputText></td> </h:outputText></td>
<td><h:outputText value="#{invoice.item['invoice.reminder']}">
<f:convertDateTime pattern="#{message.datePatternShort}"
timeZone="#{message.timeZone}" />
</h:outputText></td>
<td><h:outputText value="#{invoice.item['$workflowstatus']}" /></td> <td><h:outputText value="#{invoice.item['$workflowstatus']}" /></td>

View file

@ -37,7 +37,7 @@
<bpmn2:documentation id="Documentation_22"><![CDATA[<html> <bpmn2:documentation id="Documentation_22"><![CDATA[<html>
<head> <head>
<style type="text/css"> <style type="text/css">
html, body, div, p, h1, h2, h3, ul, ol, span, a, table, td, form, img, html, body, div, p, pre, h1, h2, h3, ul, ol, span, a, table, td, form, img,
li { li {
font-family: Arial; font-family: Arial;
font-style: normal; font-style: normal;
@ -68,15 +68,10 @@ th { font-weight: bold;}
</head> </head>
<body>]]></bpmn2:documentation> <body>]]></bpmn2:documentation>
</bpmn2:message> </bpmn2:message>
<bpmn2:message id="Message_4" name="Html-Footer-EN"> <bpmn2:message id="Message_7" name="Html-Footer">
<bpmn2:documentation id="Documentation_23"><![CDATA[<p>In case you have already made the payment, please disregard this notice. If you require any information regarding your account, please do not hesitate to contact us.</p> <bpmn2:documentation id="Documentation_15"><![CDATA[</body>
<p>Thank you for your cooperation.</p>
<p>&nbsp;</p>
<p>Kind regards<br />Alexander Global Logistics GmbH</p>
</body>
</html>]]></bpmn2:documentation> </html>]]></bpmn2:documentation>
</bpmn2:message> </bpmn2:message>
<bpmn2:message id="Message_7" name="Html-Footer-DE"/>
<bpmn2:collaboration id="Collaboration_1" name="Zahlungseingang"> <bpmn2:collaboration id="Collaboration_1" name="Zahlungseingang">
<bpmn2:participant id="Participant_1" name="Mahnlauf" processRef="Process_1"/> <bpmn2:participant id="Participant_1" name="Mahnlauf" processRef="Process_1"/>
<bpmn2:participant id="Participant_2" name="SEPA-Export Pool" processRef="eingangsrechnung-de"/> <bpmn2:participant id="Participant_2" name="SEPA-Export Pool" processRef="eingangsrechnung-de"/>
@ -91,13 +86,15 @@ th { font-weight: bold;}
<bpmn2:flowNodeRef>EndEvent_3</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>EndEvent_3</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_1</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_5</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_5</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_7</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>ExclusiveGateway_2</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>ExclusiveGateway_2</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_4</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_4</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>Task_2</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>Task_2</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>ExclusiveGateway_1</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>ExclusiveGateway_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_2</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_2</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_6</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_6</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>Task_3</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_8</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_7</bpmn2:flowNodeRef>
</bpmn2:lane> </bpmn2:lane>
</bpmn2:laneSet> </bpmn2:laneSet>
<bpmn2:startEvent id="StartEvent_1" name="Start"> <bpmn2:startEvent id="StartEvent_1" name="Start">
@ -106,7 +103,7 @@ th { font-weight: bold;}
<bpmn2:task id="Task_2" imixs:processid="1900" name="Versendet"> <bpmn2:task id="Task_2" imixs:processid="1900" name="Versendet">
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="txtworkflowsummary" type="xs:string"> <imixs:item name="txtworkflowsummary" type="xs:string">
<imixs:value><![CDATA[<itemvalue format="dd. MM.yyyy">$lasteventdate</itemvalue> - <itemvalue>payment.total</itemvalue> <itemvalue>payment.currency</itemvalue> (<itemvalue>dbtr.number</itemvalue> - <itemvalue>dbtr.name</itemvalue>)]]></imixs:value> <imixs:value><![CDATA[<itemvalue format="dd.MM.yyyy">$lasteventdate</itemvalue> - <itemvalue>dbtr.name</itemvalue> (<itemvalue>dbtr.number</itemvalue>)]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean"> <imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value> <imixs:value>true</imixs:value>
@ -134,6 +131,7 @@ th { font-weight: bold;}
<bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_15</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_15</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
</bpmn2:task> </bpmn2:task>
<bpmn2:sequenceFlow id="SequenceFlow_10" sourceRef="Task_2" targetRef="EndEvent_3"/> <bpmn2:sequenceFlow id="SequenceFlow_10" sourceRef="Task_2" targetRef="EndEvent_3"/>
<bpmn2:endEvent id="EndEvent_3" name="End"> <bpmn2:endEvent id="EndEvent_3" name="End">
@ -143,7 +141,7 @@ th { font-weight: bold;}
<bpmn2:task id="Task_1" imixs:processid="1000" name="Erfassung"> <bpmn2:task id="Task_1" imixs:processid="1000" name="Erfassung">
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="txtworkflowsummary" type="xs:string"> <imixs:item name="txtworkflowsummary" type="xs:string">
<imixs:value><![CDATA[<itemvalue format="dd. MM.yyyy">$lasteventdate</itemvalue> - <itemvalue>payment.total</itemvalue> <itemvalue>payment.currency</itemvalue> (<itemvalue>dbtr.number</itemvalue> - <itemvalue>dbtr.name</itemvalue>)]]></imixs:value> <imixs:value><![CDATA[<itemvalue format="dd.MM.yyyy">$lasteventdate</itemvalue> - <itemvalue>dbtr.name</itemvalue> (<itemvalue>dbtr.number</itemvalue>)]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txteditorid" type="xs:string"> <imixs:item name="txteditorid" type="xs:string">
<imixs:value><![CDATA[alexander/form_basic]]></imixs:value> <imixs:value><![CDATA[alexander/form_basic]]></imixs:value>
@ -176,6 +174,7 @@ th { font-weight: bold;}
<bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
</bpmn2:task> </bpmn2:task>
@ -317,7 +316,7 @@ th { font-weight: bold;}
<imixs-form-section columns="1"> <imixs-form-section columns="1">
<item name="description" type="textarea" label="Bemerkung:" /> <item name="description" type="textarea" label="Bemerkung für E-Mail an Debitor:" />
</imixs-form-section> </imixs-form-section>
<imixs-form-section label="Offene Posten" path="alexander/section_opliste_mahnlauf" readonly="false" /> <imixs-form-section label="Offene Posten" path="alexander/section_opliste_mahnlauf" readonly="false" />
@ -407,8 +406,10 @@ th { font-weight: bold;}
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="rtfmailbody" type="CDATA"> <imixs:item name="rtfmailbody" type="CDATA">
<imixs:value><![CDATA[<bpmn2:message>Html-Header</bpmn2:message> <imixs:value><![CDATA[<bpmn2:message>Html-Header</bpmn2:message>
<textblock>E-Mail - Erinnerung (DE)</textblock> <textblock>E-Mail - Mahnlauf (DE)</textblock>
<p> <pre>
<itemvalue>description</itemvalue>
</pre>
<table> <table>
<theader> <theader>
<tr> <tr>
@ -417,22 +418,26 @@ th { font-weight: bold;}
<th>Fälligkeit</th> <th>Fälligkeit</th>
<th>Rechnungsbetrag</th> <th>Rechnungsbetrag</th>
<th>Saldo</th> <th>Saldo</th>
<th>Mahnstufe</th>
</tr> </tr>
</theader> </theader>
<tbody> <tbody>
<for-each item="dunning.details">
<td><itemvalue>invoice.number</itemvalue></td> <tr>
<td style="text-align:center;"><itemvalue format="dd.MM.yyyy">invoice.date</itemvalue></td> <td><itemvalue>invoice.number</itemvalue></td>
<td style="text-align:center;"><itemvalue format="dd.MM.yyyy">invoice.duedate</itemvalue></td> <td style="text-align:center;"><itemvalue format="dd.MM.yyyy">invoice.date</itemvalue></td>
<td style="text-align:right;"><itemvalue format="#,###,##0.00" locale="de_DE">invoice.total</itemvalue> <itemvalue>invoice.currency</itemvalue></td> <td style="text-align:center;"><itemvalue format="dd.MM.yyyy">invoice.duedate</itemvalue></td>
<td style="text-align:right;"><itemvalue format="#,###,##0.00" locale="de_DE">invoice.saldo</itemvalue> <itemvalue>invoice.currency</itemvalue></td> <td style="text-align:right;"><itemvalue format="#,###,##0.00" locale="de_DE">invoice.total</itemvalue> <itemvalue>invoice.currency</itemvalue></td>
<td style="text-align:right;"><itemvalue format="#,###,##0.00" locale="de_DE">invoice.saldo</itemvalue> <itemvalue>invoice.currency</itemvalue></td>
<td style="text-align:center;"><itemvalue>$workflowstatus</itemvalue></td>
</tr> </tr>
</for-each>
</tbody> </tbody>
</table> </table>
</p>
<bpmn2:message>Html-Footer-DE</bpmn2:message> <textblock>E-Mail - Mahnlauf Footer (DE)</textblock>
<bpmn2:message>Html-Footer</bpmn2:message>
]]></imixs:value> ]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtmailsubject" type="xs:string"> <imixs:item name="txtmailsubject" type="xs:string">
@ -454,36 +459,41 @@ th { font-weight: bold;}
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="rtfmailbody" type="CDATA"> <imixs:item name="rtfmailbody" type="CDATA">
<imixs:value><![CDATA[<bpmn2:message>Html-Header</bpmn2:message> <imixs:value><![CDATA[<bpmn2:message>Html-Header</bpmn2:message>
<textblock>E-Mail - Erinnerung (EN)</textblock> <textblock>E-Mail - Mahnlauf (EN)</textblock>
<p> <p>
<itemvalue>description</itemvalue>
</p>
<table> <table>
<theader> <theader>
<tr> <tr>
<th>Invoice Number</th> <th>Invoice No.</th>
<th>Date</th> <th>Date</th>
<th>Due Date</th> <th>Expiry Date</th>
<th>Invoice Amount</th> <th>Invoice Amount</th>
<th>Balance</th> <th>Balance</th>
<th>Dunning Level</th>
</tr> </tr>
</theader> </theader>
<tbody> <tbody>
<for-each item="dunning.details">
<td><itemvalue>invoice.number</itemvalue></td> <tr>
<td style="text-align:center;"><itemvalue format="dd.MM.yyyy">invoice.date</itemvalue></td> <td><itemvalue>invoice.number</itemvalue></td>
<td style="text-align:center;"><itemvalue format="dd.MM.yyyy">invoice.duedate</itemvalue></td> <td style="text-align:center;"><itemvalue format="dd.MM.yyyy">invoice.date</itemvalue></td>
<td style="text-align:right;"><itemvalue format="#,###,##0.00" locale="de_DE">invoice.total</itemvalue> <itemvalue>invoice.currency</itemvalue></td> <td style="text-align:center;"><itemvalue format="dd.MM.yyyy">invoice.duedate</itemvalue></td>
<td style="text-align:right;"><itemvalue format="#,###,##0.00" locale="de_DE">invoice.saldo</itemvalue> <itemvalue>invoice.currency</itemvalue></td> <td style="text-align:right;"><itemvalue format="#,###,##0.00" locale="de_DE">invoice.total</itemvalue> <itemvalue>invoice.currency</itemvalue></td>
<td style="text-align:right;"><itemvalue format="#,###,##0.00" locale="de_DE">invoice.saldo</itemvalue> <itemvalue>invoice.currency</itemvalue></td>
<td style="text-align:center;"><itemvalue>$workflowstatus</itemvalue></td>
</tr> </tr>
</for-each>
</tbody> </tbody>
</table> </table>
</p> <textblock>E-Mail - Mahnlauf Footer (EN)</textblock>
<bpmn2:message>Html-Footer</bpmn2:message>
<bpmn2:message>Html-Footer-EN</bpmn2:message>
]]></imixs:value> ]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtmailsubject" type="xs:string"> <imixs:item name="txtmailsubject" type="xs:string">
<imixs:value><![CDATA[Mahnung]]></imixs:value> <imixs:value><![CDATA[Dunning]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="nammailreceiver" type="xs:string"> <imixs:item name="nammailreceiver" type="xs:string">
<imixs:value><![CDATA[ralph.soika@imixs.com]]></imixs:value> <imixs:value><![CDATA[ralph.soika@imixs.com]]></imixs:value>
@ -577,7 +587,7 @@ th { font-weight: bold;}
<bpmn2:task id="Task_3" imixs:processid="1800" name="Storniert"> <bpmn2:task id="Task_3" imixs:processid="1800" name="Storniert">
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="txtworkflowsummary" type="xs:string"> <imixs:item name="txtworkflowsummary" type="xs:string">
<imixs:value><![CDATA[<itemvalue format="dd. MM.yyyy">$lasteventdate</itemvalue> - <itemvalue>payment.total</itemvalue> <itemvalue>payment.currency</itemvalue> (<itemvalue>dbtr.number</itemvalue> - <itemvalue>dbtr.name</itemvalue>)]]></imixs:value> <imixs:value><![CDATA[<itemvalue format="dd.MM.yyyy">$lasteventdate</itemvalue> - <itemvalue>dbtr.name</itemvalue> (<itemvalue>dbtr.number</itemvalue>)]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean"> <imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value> <imixs:value>true</imixs:value>
@ -658,7 +668,7 @@ th { font-weight: bold;}
<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[Zahlungseingang abgeschlossen und Rechnungen abgeglichen.]]></imixs:value> <imixs:value><![CDATA[Mahnlauf abgebrochen.]]></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>
@ -682,6 +692,12 @@ result.isValid=true;
<bpmn2:sequenceFlow id="SequenceFlow_3" sourceRef="Task_1" targetRef="IntermediateCatchEvent_7"/> <bpmn2:sequenceFlow id="SequenceFlow_3" sourceRef="Task_1" targetRef="IntermediateCatchEvent_7"/>
<bpmn2:sequenceFlow id="SequenceFlow_5" sourceRef="IntermediateCatchEvent_7" targetRef="Task_3"/> <bpmn2:sequenceFlow id="SequenceFlow_5" sourceRef="IntermediateCatchEvent_7" targetRef="Task_3"/>
<bpmn2:sequenceFlow id="SequenceFlow_13" sourceRef="Task_3" targetRef="EndEvent_3"/> <bpmn2:sequenceFlow id="SequenceFlow_13" sourceRef="Task_3" targetRef="EndEvent_3"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_8" imixs:activityid="162" name="Intermediate Catch Event 8">
<bpmn2:incoming>SequenceFlow_16</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_16" sourceRef="Task_2" targetRef="IntermediateCatchEvent_8"/>
<bpmn2:sequenceFlow id="SequenceFlow_17" sourceRef="IntermediateCatchEvent_8" targetRef="Task_1"/>
<bpmn2:association id="Association_2" sourceRef="DataObject_1" targetRef="Task_1"/> <bpmn2:association id="Association_2" sourceRef="DataObject_1" targetRef="Task_1"/>
</bpmn2:process> </bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Process Diagram"> <bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Process Diagram">
@ -772,16 +788,10 @@ result.isValid=true;
<dc:Bounds height="14.0" width="70.0" x="99.0" y="79.0"/> <dc:Bounds height="14.0" width="70.0" x="99.0" y="79.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_Message_2" bpmnElement="Message_4">
<dc:Bounds height="20.0" width="30.0" x="230.0" y="59.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_39">
<dc:Bounds height="28.0" width="69.0" x="211.0" y="79.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_Message_4" bpmnElement="Message_7"> <bpmndi:BPMNShape id="BPMNShape_Message_4" bpmnElement="Message_7">
<dc:Bounds height="20.0" width="30.0" x="344.0" y="59.0"/> <dc:Bounds height="20.0" width="30.0" x="220.0" y="59.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_40"> <bpmndi:BPMNLabel id="BPMNLabel_40">
<dc:Bounds height="28.0" width="69.0" x="325.0" y="79.0"/> <dc:Bounds height="14.0" width="64.0" x="203.0" y="79.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_5" bpmnElement="IntermediateCatchEvent_5"> <bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_5" bpmnElement="IntermediateCatchEvent_5">
@ -797,9 +807,15 @@ result.isValid=true;
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_7" bpmnElement="IntermediateCatchEvent_7"> <bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_7" bpmnElement="IntermediateCatchEvent_7">
<dc:Bounds height="36.0" width="36.0" x="619.0" y="440.0"/> <dc:Bounds height="36.0" width="36.0" x="632.0" y="417.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_8"> <bpmndi:BPMNLabel id="BPMNLabel_8">
<dc:Bounds height="14.0" width="57.0" x="609.0" y="476.0"/> <dc:Bounds height="14.0" width="57.0" x="622.0" y="453.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_8" bpmnElement="IntermediateCatchEvent_8">
<dc:Bounds height="36.0" width="36.0" x="692.0" y="162.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_24">
<dc:Bounds height="28.0" width="79.0" x="671.0" y="198.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_EndEvent_2"> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_EndEvent_2">
@ -883,13 +899,14 @@ result.isValid=true;
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_IntermediateCatchEvent_7"> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_IntermediateCatchEvent_7">
<di:waypoint xsi:type="dc:Point" x="363.0" y="344.0"/> <di:waypoint xsi:type="dc:Point" x="363.0" y="344.0"/>
<di:waypoint xsi:type="dc:Point" x="363.0" y="458.0"/> <di:waypoint xsi:type="dc:Point" x="363.0" y="435.0"/>
<di:waypoint xsi:type="dc:Point" x="619.0" y="458.0"/> <di:waypoint xsi:type="dc:Point" x="632.0" y="435.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_9"/> <bpmndi:BPMNLabel id="BPMNLabel_9"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="BPMNShape_IntermediateCatchEvent_7" targetElement="BPMNShape_Task_3"> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="BPMNShape_IntermediateCatchEvent_7" targetElement="BPMNShape_Task_3">
<di:waypoint xsi:type="dc:Point" x="637.0" y="440.0"/> <di:waypoint xsi:type="dc:Point" x="668.0" y="435.0"/>
<di:waypoint xsi:type="dc:Point" x="637.0" y="438.0"/> <di:waypoint xsi:type="dc:Point" x="801.0" y="435.0"/>
<di:waypoint xsi:type="dc:Point" x="801.0" y="438.0"/>
<di:waypoint xsi:type="dc:Point" x="935.0" y="438.0"/> <di:waypoint xsi:type="dc:Point" x="935.0" y="438.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_12"/> <bpmndi:BPMNLabel id="BPMNLabel_12"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
@ -899,6 +916,18 @@ result.isValid=true;
<di:waypoint xsi:type="dc:Point" x="956.0" y="319.0"/> <di:waypoint xsi:type="dc:Point" x="956.0" y="319.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_15"/> <bpmndi:BPMNLabel id="BPMNLabel_15"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_16" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_IntermediateCatchEvent_8">
<di:waypoint xsi:type="dc:Point" x="798.0" y="294.0"/>
<di:waypoint xsi:type="dc:Point" x="798.0" y="180.0"/>
<di:waypoint xsi:type="dc:Point" x="728.0" y="180.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_27"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="BPMNShape_IntermediateCatchEvent_8" targetElement="BPMNShape_Task_1">
<di:waypoint xsi:type="dc:Point" x="692.0" y="180.0"/>
<di:waypoint xsi:type="dc:Point" x="363.0" y="180.0"/>
<di:waypoint xsi:type="dc:Point" x="363.0" y="294.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_31"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane> </bpmndi:BPMNPlane>
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1"> <bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
<dc:Font name="arial" size="9.0"/> <dc:Font name="arial" size="9.0"/>

View file

@ -130,7 +130,6 @@ th { font-weight: bold;}
<bpmn2:flowNodeRef>IntermediateCatchEvent_5005-10</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_5005-10</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>Task_5005</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>Task_5005</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateThrowEvent_5</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateThrowEvent_5</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_25</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>Task_3</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>Task_3</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateThrowEvent_7</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateThrowEvent_7</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_4</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_4</bpmn2:flowNodeRef>
@ -144,6 +143,11 @@ th { font-weight: bold;}
<bpmn2:flowNodeRef>IntermediateCatchEvent_8</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_8</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_9</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_9</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_16</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>IntermediateCatchEvent_16</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_25</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_19</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_20</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_21</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_22</bpmn2:flowNodeRef>
</bpmn2:lane> </bpmn2:lane>
</bpmn2:laneSet> </bpmn2:laneSet>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_5000-20" imixs:activityid="50" name="[Fälligkeit]"> <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_5000-20" imixs:activityid="50" name="[Fälligkeit]">
@ -221,6 +225,9 @@ Bei Fragen wenden Sie sich bitte an info@imixs.com
<imixs:item name="keyactivitydelayunit" type="xs:string"> <imixs:item name="keyactivitydelayunit" type="xs:string">
<imixs:value><![CDATA[3]]></imixs:value> <imixs:value><![CDATA[3]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="keyscheduledbaseobject" type="xs:string">
<imixs:value><![CDATA[4]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements> </bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_105"><![CDATA[Rechnung erfasst und zur Prüfung weiterleiten]]></bpmn2:documentation> <bpmn2:documentation id="Documentation_105"><![CDATA[Rechnung erfasst und zur Prüfung weiterleiten]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_32</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_32</bpmn2:incoming>
@ -273,6 +280,7 @@ Bei Fragen wenden Sie sich bitte an info@imixs.com
<bpmn2:incoming>SequenceFlow_38</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_36</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_36</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_41</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_41</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_50</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_50</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_58</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_58</bpmn2:outgoing>
@ -731,7 +739,7 @@ result.isValid=true;
<bpmn2:task id="Task_4" imixs:processid="5220" name="2. Mahnung"> <bpmn2:task id="Task_4" imixs:processid="5220" name="2. Mahnung">
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="txteditorid" type="xs:string"> <imixs:item name="txteditorid" type="xs:string">
<imixs:value><![CDATA[alexander/form_basic_read]]></imixs:value> <imixs:value><![CDATA[alexander/form_basic]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtworkflowabstract" type="xs:string"> <imixs:item name="txtworkflowabstract" type="xs:string">
<imixs:value><![CDATA[<itemvalue>txtlastcomment</itemvalue>]]></imixs:value> <imixs:value><![CDATA[<itemvalue>txtlastcomment</itemvalue>]]></imixs:value>
@ -764,6 +772,8 @@ result.isValid=true;
<bpmn2:documentation id="Documentation_54"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation> <bpmn2:documentation id="Documentation_54"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_59</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_59</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_31</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_31</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_44</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_40</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_40</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing>
@ -1077,6 +1087,7 @@ result.isValid=true;
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_29</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_29</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_43</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_43</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing>
@ -1392,7 +1403,7 @@ Betrag: <itemvalue>invoice.total</itemvalue> <itemvalue>invoice.currency</itemva
<imixs:value><![CDATA[]]></imixs:value> <imixs:value><![CDATA[]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtactivityresult" type="xs:string"> <imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<item name="action">home</item> <imixs:value><![CDATA[<dunning name="period">5</dunning>
]]></imixs:value> ]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtname" type="xs:string"> <imixs:item name="txtname" type="xs:string">
@ -1470,7 +1481,7 @@ Betrag: <itemvalue>invoice.total</itemvalue> <itemvalue>invoice.currency</itemva
<imixs:value><![CDATA[]]></imixs:value> <imixs:value><![CDATA[]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtactivityresult" type="xs:string"> <imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[]]></imixs:value> <imixs:value><![CDATA[<dunning name="period">5</dunning>]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtname" type="xs:string"> <imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Akzeptieren]]></imixs:value> <imixs:value><![CDATA[Akzeptieren]]></imixs:value>
@ -1882,8 +1893,7 @@ Betrag: <itemvalue>invoice.total</itemvalue> <itemvalue>invoice.currency</itemva
<imixs:value><![CDATA[]]></imixs:value> <imixs:value><![CDATA[]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtactivityresult" type="xs:string"> <imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<item name="action">home</item> <imixs:value><![CDATA[<dunning name="period">7</dunning>]]></imixs:value>
]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtname" type="xs:string"> <imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Akzeptieren]]></imixs:value> <imixs:value><![CDATA[Akzeptieren]]></imixs:value>
@ -2102,6 +2112,336 @@ result.isValid=true;
<bpmn2:signalEventDefinition id="SignalEventDefinition_6" signalRef="Signal_4"/> <bpmn2:signalEventDefinition id="SignalEventDefinition_6" signalRef="Signal_4"/>
</bpmn2:intermediateCatchEvent> </bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_43" sourceRef="IntermediateCatchEvent_16" targetRef="Task_3"/> <bpmn2:sequenceFlow id="SequenceFlow_43" sourceRef="IntermediateCatchEvent_16" targetRef="Task_3"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_19" imixs:activityid="300" name="[Mahnlauf]">
<bpmn2:extensionElements>
<imixs:item name="keyarchive" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="txtmailsubject" type="xs:string">
<imixs:value><![CDATA[Reklamation <itemvalue>cdtr.name</itemvalue> <itemvalue>invoice.number</itemvalue>]]></imixs:value>
</imixs:item>
<imixs:item name="keyaccessmode" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledactivity" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="rtfmailbody" type="xs:string">
<imixs:value><![CDATA[Folgende Rechnung ist nicht in Ordnung:
Kreditor: <itemvalue>cdtr.name</itemvalue>
Rechnungsnummer: <itemvalue>invoice.number</itemvalue>
Betrag: <itemvalue>invoice.total</itemvalue> <itemvalue>invoice.currency</itemvalue>
<attachments></attachments>
]]></imixs:value>
</imixs:item>
<imixs:item name="keyversion" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.manager]]></imixs:value>
<imixs:value><![CDATA[process.team]]></imixs:value>
</imixs:item>
<imixs:item name="numnextactivityid" type="xs:int">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyfollowup" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keypublicresult" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
</imixs:item>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[5005]]></imixs:value>
</imixs:item>
<imixs:item name="txtnextprocesstree" type="xs:string">
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<dunning name="period">5</dunning>]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Akzeptieren]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipmode" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[Mahnlauf ausgeführt ⇒ 2. Mahnung]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
<imixs:item name="txtbusinessrule" type="CDATA">
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="keymailreceiverfields" type="xs:string"/>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_11"><![CDATA[Rechnung beenden.]]></bpmn2:documentation>
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
<bpmn2:outputSet id="OutputSet_9" name="Output Set 3"/>
<bpmn2:signalEventDefinition id="SignalEventDefinition_1"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="IntermediateCatchEvent_19" targetRef="Task_4"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_20" imixs:activityid="50" name="[Fälligkeit]">
<bpmn2:extensionElements>
<imixs:item name="keyarchive" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="txtmailsubject" type="xs:string">
<imixs:value><![CDATA[Empfangsbestätigung Rechnungseingang]]></imixs:value>
</imixs:item>
<imixs:item name="keyaccessmode" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledactivity" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="rtfmailbody" type="xs:string">
<imixs:value><![CDATA[Hallo,
die von Ihnen an uns gesendete Eingangsrechung haben wir erhalten.
Die Bearbeitung erfolgt in Kürze.
Bei Fragen wenden Sie sich bitte an info@imixs.com
]]></imixs:value>
</imixs:item>
<imixs:item name="keyversion" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.manager]]></imixs:value>
<imixs:value><![CDATA[process.team]]></imixs:value>
<imixs:value><![CDATA[space.manager]]></imixs:value>
</imixs:item>
<imixs:item name="numnextactivityid" type="xs:int">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyfollowup" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keypublicresult" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
</imixs:item>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[5005]]></imixs:value>
</imixs:item>
<imixs:item name="txtnextprocesstree" type="xs:string">
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<item name="action">home</item>]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Akzeptieren]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipmode" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[Fälligkeit erreicht]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="txtbusinessrule" type="CDATA">
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="keytimecomparefield" type="xs:string">
<imixs:value><![CDATA[invoice.reminder]]></imixs:value>
</imixs:item>
<imixs:item name="numactivitydelay" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyactivitydelayunit" type="xs:string">
<imixs:value><![CDATA[3]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledbaseobject" type="xs:string">
<imixs:value><![CDATA[4]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_24"><![CDATA[Rechnung erfasst und zur Prüfung weiterleiten]]></bpmn2:documentation>
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
<bpmn2:timerEventDefinition id="TimerEventDefinition_2"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_2" sourceRef="IntermediateCatchEvent_20" targetRef="Task_5005"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_21" imixs:activityid="50" name="[Fälligkeit]">
<bpmn2:extensionElements>
<imixs:item name="keyarchive" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="txtmailsubject" type="xs:string">
<imixs:value><![CDATA[Empfangsbestätigung Rechnungseingang]]></imixs:value>
</imixs:item>
<imixs:item name="keyaccessmode" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledactivity" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="rtfmailbody" type="xs:string">
<imixs:value><![CDATA[Hallo,
die von Ihnen an uns gesendete Eingangsrechung haben wir erhalten.
Die Bearbeitung erfolgt in Kürze.
Bei Fragen wenden Sie sich bitte an info@imixs.com
]]></imixs:value>
</imixs:item>
<imixs:item name="keyversion" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.manager]]></imixs:value>
<imixs:value><![CDATA[process.team]]></imixs:value>
<imixs:value><![CDATA[space.manager]]></imixs:value>
</imixs:item>
<imixs:item name="numnextactivityid" type="xs:int">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyfollowup" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keypublicresult" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
</imixs:item>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[5005]]></imixs:value>
</imixs:item>
<imixs:item name="txtnextprocesstree" type="xs:string">
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<item name="action">home</item>]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Akzeptieren]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipmode" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[Fälligkeit erreicht]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="txtbusinessrule" type="CDATA">
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="keytimecomparefield" type="xs:string">
<imixs:value><![CDATA[invoice.reminder]]></imixs:value>
</imixs:item>
<imixs:item name="numactivitydelay" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyactivitydelayunit" type="xs:string">
<imixs:value><![CDATA[3]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledbaseobject" type="xs:string">
<imixs:value><![CDATA[4]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_27"><![CDATA[Rechnung erfasst und zur Prüfung weiterleiten]]></bpmn2:documentation>
<bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
<bpmn2:timerEventDefinition id="TimerEventDefinition_3"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_6" sourceRef="IntermediateCatchEvent_21" targetRef="Task_3"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_22" imixs:activityid="50" name="[Fälligkeit]">
<bpmn2:extensionElements>
<imixs:item name="keyarchive" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="txtmailsubject" type="xs:string">
<imixs:value><![CDATA[Empfangsbestätigung Rechnungseingang]]></imixs:value>
</imixs:item>
<imixs:item name="keyaccessmode" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledactivity" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="rtfmailbody" type="xs:string">
<imixs:value><![CDATA[Hallo,
die von Ihnen an uns gesendete Eingangsrechung haben wir erhalten.
Die Bearbeitung erfolgt in Kürze.
Bei Fragen wenden Sie sich bitte an info@imixs.com
]]></imixs:value>
</imixs:item>
<imixs:item name="keyversion" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.manager]]></imixs:value>
<imixs:value><![CDATA[process.team]]></imixs:value>
<imixs:value><![CDATA[space.manager]]></imixs:value>
</imixs:item>
<imixs:item name="numnextactivityid" type="xs:int">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyfollowup" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keypublicresult" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
</imixs:item>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[5005]]></imixs:value>
</imixs:item>
<imixs:item name="txtnextprocesstree" type="xs:string">
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<item name="action">home</item>]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Akzeptieren]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipmode" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[Fälligkeit erreicht]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="txtbusinessrule" type="CDATA">
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="keytimecomparefield" type="xs:string">
<imixs:value><![CDATA[invoice.reminder]]></imixs:value>
</imixs:item>
<imixs:item name="numactivitydelay" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyactivitydelayunit" type="xs:string">
<imixs:value><![CDATA[3]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledbaseobject" type="xs:string">
<imixs:value><![CDATA[4]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_33"><![CDATA[Rechnung erfasst und zur Prüfung weiterleiten]]></bpmn2:documentation>
<bpmn2:outgoing>SequenceFlow_44</bpmn2:outgoing>
<bpmn2:timerEventDefinition id="TimerEventDefinition_4"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_44" sourceRef="IntermediateCatchEvent_22" targetRef="Task_4"/>
<bpmn2:association id="Association_2" sourceRef="DataObject_2" targetRef="Task_2"/> <bpmn2:association id="Association_2" sourceRef="DataObject_2" targetRef="Task_2"/>
<bpmn2:textAnnotation id="TextAnnotation_1"> <bpmn2:textAnnotation id="TextAnnotation_1">
<bpmn2:text>Trigger über ZahlungseingangsSaldoAdapter</bpmn2:text> <bpmn2:text>Trigger über ZahlungseingangsSaldoAdapter</bpmn2:text>
@ -2109,10 +2449,13 @@ result.isValid=true;
<bpmn2:association id="Association_1" sourceRef="TextAnnotation_1" targetRef="IntermediateCatchEvent_17"/> <bpmn2:association id="Association_1" sourceRef="TextAnnotation_1" targetRef="IntermediateCatchEvent_17"/>
<bpmn2:association id="Association_3" sourceRef="DataObject_2" targetRef="Task_5"/> <bpmn2:association id="Association_3" sourceRef="DataObject_2" targetRef="Task_5"/>
<bpmn2:textAnnotation id="TextAnnotation_2"> <bpmn2:textAnnotation id="TextAnnotation_2">
<bpmn2:text>Triggered by MahnlaufExecuteAdapter</bpmn2:text> <bpmn2:text>Triggered by MahnlaufExecuteAdapter
Wiedervorlage wird um 7 bzw. 5 Tage erhöht</bpmn2:text>
</bpmn2:textAnnotation> </bpmn2:textAnnotation>
<bpmn2:association id="Association_4" sourceRef="TextAnnotation_2" targetRef="IntermediateCatchEvent_14"/> <bpmn2:association id="Association_4" sourceRef="TextAnnotation_2" targetRef="IntermediateCatchEvent_14"/>
<bpmn2:association id="Association_5" sourceRef="TextAnnotation_2" targetRef="IntermediateCatchEvent_15"/> <bpmn2:association id="Association_5" sourceRef="TextAnnotation_2" targetRef="IntermediateCatchEvent_15"/>
<bpmn2:association id="Association_6" sourceRef="DataObject_2" targetRef="Task_1"/>
</bpmn2:process> </bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_Process_1" bpmnElement="Collaboration_1"> <bpmndi:BPMNPlane id="BPMNPlane_Process_1" bpmnElement="Collaboration_1">
@ -2175,9 +2518,9 @@ result.isValid=true;
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_DataObject_1" bpmnElement="DataObject_2"> <bpmndi:BPMNShape id="BPMNShape_DataObject_1" bpmnElement="DataObject_2">
<dc:Bounds height="50.0" width="36.0" x="300.0" y="190.0"/> <dc:Bounds height="50.0" width="36.0" x="530.0" y="425.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_85"> <bpmndi:BPMNLabel id="BPMNLabel_85">
<dc:Bounds height="14.0" width="70.0" x="283.0" y="240.0"/> <dc:Bounds height="14.0" width="70.0" x="513.0" y="475.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_13" bpmnElement="IntermediateCatchEvent_13"> <bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_13" bpmnElement="IntermediateCatchEvent_13">
@ -2275,9 +2618,9 @@ result.isValid=true;
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_30" bpmnElement="IntermediateCatchEvent_25"> <bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_30" bpmnElement="IntermediateCatchEvent_25">
<dc:Bounds height="36.0" width="36.0" x="1241.0" y="987.0"/> <dc:Bounds height="36.0" width="36.0" x="1191.0" y="987.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_132" labelStyle="BPMNLabelStyle_1"> <bpmndi:BPMNLabel id="BPMNLabel_132" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="56.0" x="1231.0" y="1023.0"/> <dc:Bounds height="14.0" width="56.0" x="1181.0" y="1023.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_Task_6" bpmnElement="Task_3"> <bpmndi:BPMNShape id="BPMNShape_Task_6" bpmnElement="Task_3">
@ -2459,9 +2802,33 @@ result.isValid=true;
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_TextAnnotation_3" bpmnElement="TextAnnotation_2"> <bpmndi:BPMNShape id="BPMNShape_TextAnnotation_3" bpmnElement="TextAnnotation_2">
<dc:Bounds height="71.0" width="221.0" x="630.0" y="830.0"/> <dc:Bounds height="81.0" width="221.0" x="630.0" y="820.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_107"> <bpmndi:BPMNLabel id="BPMNLabel_107">
<dc:Bounds height="65.0" width="209.0" x="636.0" y="830.0"/> <dc:Bounds height="75.0" width="209.0" x="636.0" y="820.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_16" bpmnElement="IntermediateCatchEvent_19">
<dc:Bounds height="36.0" width="36.0" x="1290.0" y="994.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_2">
<dc:Bounds height="14.0" width="57.0" x="1280.0" y="1030.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_20" bpmnElement="IntermediateCatchEvent_20">
<dc:Bounds height="36.0" width="36.0" x="430.0" y="987.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_113">
<dc:Bounds height="14.0" width="55.0" x="421.0" y="1023.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_22" bpmnElement="IntermediateCatchEvent_21">
<dc:Bounds height="36.0" width="36.0" x="760.0" y="987.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_116">
<dc:Bounds height="14.0" width="55.0" x="751.0" y="1023.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_24" bpmnElement="IntermediateCatchEvent_22">
<dc:Bounds height="36.0" width="36.0" x="1134.0" y="987.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_118">
<dc:Bounds height="14.0" width="55.0" x="1125.0" y="1023.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_0" sourceElement="BPMNShape_StartEvent_1" targetElement="BPMNShape_ExclusiveGateway_1"> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_0" sourceElement="BPMNShape_StartEvent_1" targetElement="BPMNShape_ExclusiveGateway_1">
@ -2483,9 +2850,9 @@ result.isValid=true;
<bpmndi:BPMNLabel id="BPMNLabel_67"/> <bpmndi:BPMNLabel id="BPMNLabel_67"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_Association_2" bpmnElement="Association_2" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_5"> <bpmndi:BPMNEdge id="BPMNEdge_Association_2" bpmnElement="Association_2" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_5">
<di:waypoint xsi:type="dc:Point" x="336.0" y="215.0"/> <di:waypoint xsi:type="dc:Point" x="530.0" y="450.0"/>
<di:waypoint xsi:type="dc:Point" x="344.0" y="215.0"/> <di:waypoint xsi:type="dc:Point" x="390.0" y="450.0"/>
<di:waypoint xsi:type="dc:Point" x="344.0" y="280.0"/> <di:waypoint xsi:type="dc:Point" x="390.0" y="330.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_86"/> <bpmndi:BPMNLabel id="BPMNLabel_86"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_20" sourceElement="BPMNShape_IntermediateCatchEvent_13" targetElement="BPMNShape_ExclusiveGateway_1"> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_20" sourceElement="BPMNShape_IntermediateCatchEvent_13" targetElement="BPMNShape_ExclusiveGateway_1">
@ -2532,10 +2899,9 @@ result.isValid=true;
<bpmndi:BPMNLabel id="BPMNLabel_130"/> <bpmndi:BPMNLabel id="BPMNLabel_130"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_60" bpmnElement="SequenceFlow_59" sourceElement="BPMNShape_IntermediateCatchEvent_30" targetElement="BPMNShape_Task_4"> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_60" bpmnElement="SequenceFlow_59" sourceElement="BPMNShape_IntermediateCatchEvent_30" targetElement="BPMNShape_Task_4">
<di:waypoint xsi:type="dc:Point" x="1241.0" y="1005.0"/> <di:waypoint xsi:type="dc:Point" x="1227.0" y="1005.0"/>
<di:waypoint xsi:type="dc:Point" x="1194.0" y="1005.0"/> <di:waypoint xsi:type="dc:Point" x="1259.0" y="1005.0"/>
<di:waypoint xsi:type="dc:Point" x="1194.0" y="936.0"/> <di:waypoint xsi:type="dc:Point" x="1259.0" y="953.0"/>
<di:waypoint xsi:type="dc:Point" x="1204.0" y="936.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_133"/> <bpmndi:BPMNLabel id="BPMNLabel_133"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_61" bpmnElement="SequenceFlow_60" sourceElement="BPMNShape_IntermediateCatchEvent_29" targetElement="BPMNShape_Task_8"> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_61" bpmnElement="SequenceFlow_60" sourceElement="BPMNShape_IntermediateCatchEvent_29" targetElement="BPMNShape_Task_8">
@ -2758,10 +3124,9 @@ result.isValid=true;
<bpmndi:BPMNLabel id="BPMNLabel_79"/> <bpmndi:BPMNLabel id="BPMNLabel_79"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_Association_3" bpmnElement="Association_3" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_11"> <bpmndi:BPMNEdge id="BPMNEdge_Association_3" bpmnElement="Association_3" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_11">
<di:waypoint xsi:type="dc:Point" x="318.0" y="190.0"/> <di:waypoint xsi:type="dc:Point" x="566.0" y="450.0"/>
<di:waypoint xsi:type="dc:Point" x="318.0" y="180.0"/> <di:waypoint xsi:type="dc:Point" x="1002.0" y="450.0"/>
<di:waypoint xsi:type="dc:Point" x="1002.0" y="180.0"/> <di:waypoint xsi:type="dc:Point" x="1002.0" y="434.0"/>
<di:waypoint xsi:type="dc:Point" x="1002.0" y="384.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_7"/> <bpmndi:BPMNLabel id="BPMNLabel_7"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_4" sourceElement="BPMNShape_IntermediateCatchEvent_1" targetElement="BPMNShape_Task_3"> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_4" sourceElement="BPMNShape_IntermediateCatchEvent_1" targetElement="BPMNShape_Task_3">
@ -2810,18 +3175,48 @@ result.isValid=true;
<bpmndi:BPMNLabel id="BPMNLabel_105"/> <bpmndi:BPMNLabel id="BPMNLabel_105"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_Association_4" bpmnElement="Association_4" sourceElement="BPMNShape_TextAnnotation_3" targetElement="BPMNShape_IntermediateCatchEvent_14"> <bpmndi:BPMNEdge id="BPMNEdge_Association_4" bpmnElement="Association_4" sourceElement="BPMNShape_TextAnnotation_3" targetElement="BPMNShape_IntermediateCatchEvent_14">
<di:waypoint xsi:type="dc:Point" x="630.0" y="865.0"/> <di:waypoint xsi:type="dc:Point" x="630.0" y="860.0"/>
<di:waypoint xsi:type="dc:Point" x="518.0" y="865.0"/> <di:waypoint xsi:type="dc:Point" x="518.0" y="860.0"/>
<di:waypoint xsi:type="dc:Point" x="518.0" y="911.0"/> <di:waypoint xsi:type="dc:Point" x="518.0" y="911.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_108"/> <bpmndi:BPMNLabel id="BPMNLabel_108"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_Association_5" bpmnElement="Association_5" sourceElement="BPMNShape_TextAnnotation_3" targetElement="BPMNShape_IntermediateCatchEvent_19"> <bpmndi:BPMNEdge id="BPMNEdge_Association_5" bpmnElement="Association_5" sourceElement="BPMNShape_TextAnnotation_3" targetElement="BPMNShape_IntermediateCatchEvent_19">
<di:waypoint xsi:type="dc:Point" x="740.0" y="830.0"/> <di:waypoint xsi:type="dc:Point" x="740.0" y="820.0"/>
<di:waypoint xsi:type="dc:Point" x="740.0" y="809.0"/> <di:waypoint xsi:type="dc:Point" x="740.0" y="810.0"/>
<di:waypoint xsi:type="dc:Point" x="1117.0" y="809.0"/> <di:waypoint xsi:type="dc:Point" x="1117.0" y="810.0"/>
<di:waypoint xsi:type="dc:Point" x="1117.0" y="909.0"/> <di:waypoint xsi:type="dc:Point" x="1117.0" y="909.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_112"/> <bpmndi:BPMNLabel id="BPMNLabel_112"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_1" sourceElement="BPMNShape_IntermediateCatchEvent_16" targetElement="BPMNShape_Task_4">
<di:waypoint xsi:type="dc:Point" x="1290.0" y="1012.0"/>
<di:waypoint xsi:type="dc:Point" x="1277.0" y="1012.0"/>
<di:waypoint xsi:type="dc:Point" x="1277.0" y="953.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_17"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_Association_6" bpmnElement="Association_6" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_3">
<di:waypoint xsi:type="dc:Point" x="548.0" y="475.0"/>
<di:waypoint xsi:type="dc:Point" x="548.0" y="564.0"/>
<di:waypoint xsi:type="dc:Point" x="415.0" y="564.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_74"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_2" sourceElement="BPMNShape_IntermediateCatchEvent_20" targetElement="BPMNShape_Task_2">
<di:waypoint xsi:type="dc:Point" x="448.0" y="987.0"/>
<di:waypoint xsi:type="dc:Point" x="448.0" y="937.0"/>
<di:waypoint xsi:type="dc:Point" x="414.0" y="937.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_114"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_6" sourceElement="BPMNShape_IntermediateCatchEvent_22" targetElement="BPMNShape_Task_6">
<di:waypoint xsi:type="dc:Point" x="778.0" y="987.0"/>
<di:waypoint xsi:type="dc:Point" x="778.0" y="927.0"/>
<di:waypoint xsi:type="dc:Point" x="920.0" y="927.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_117"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_45" bpmnElement="SequenceFlow_44" sourceElement="BPMNShape_IntermediateCatchEvent_24" targetElement="BPMNShape_Task_4">
<di:waypoint xsi:type="dc:Point" x="1152.0" y="987.0"/>
<di:waypoint xsi:type="dc:Point" x="1152.0" y="936.0"/>
<di:waypoint xsi:type="dc:Point" x="1204.0" y="936.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_119"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane> </bpmndi:BPMNPlane>
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1"> <bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
<dc:Font name="arial" size="9.0"/> <dc:Font name="arial" size="9.0"/>