dwc neue sepa export funktion

This commit is contained in:
Ralph Soika 2024-07-30 15:47:16 +02:00
parent 3d4bbb03e0
commit 899a6a3889
22 changed files with 1648 additions and 43 deletions

Binary file not shown.

View file

@ -30,6 +30,7 @@ import org.imixs.workflow.exceptions.PluginException;
import org.imixs.workflow.exceptions.QueryException; import org.imixs.workflow.exceptions.QueryException;
import org.imixs.workflow.sepa.services.SepaWorkflowService; import org.imixs.workflow.sepa.services.SepaWorkflowService;
import com.alexanderlogistics.KreditorDebitorService;
import com.alexanderlogistics.OPListExportAdapterByWeek; import com.alexanderlogistics.OPListExportAdapterByWeek;
import jakarta.ejb.EJB; import jakarta.ejb.EJB;
@ -79,6 +80,9 @@ public class SEPAExportAdapterNBD implements SignalAdapter {
@Inject @Inject
SnapshotService snapshotService; SnapshotService snapshotService;
@Inject
KreditorDebitorService kreditorDebitorService;
/** /**
* This method collects a data set with all invoices and computes a NBA Excel * This method collects a data set with all invoices and computes a NBA Excel
* File. The templated is loaded from a text block * File. The templated is loaded from a text block
@ -199,13 +203,27 @@ public class SEPAExportAdapterNBD implements SignalAdapter {
XSSFRow row = sheet.createRow(rowPos); XSSFRow row = sheet.createRow(rowPos);
row.copyRowFrom(referenceRow, new CellCopyPolicy()); row.copyRowFrom(referenceRow, new CellCopyPolicy());
// insert values // insert values
row.getCell(0).setCellValue(invoice.getItemValueString("numsequencenumber")); row.getCell(0).setCellValue(workitem.getItemValueString("dbtr.iban"));
row.getCell(1).setCellValue(invoice.getItemValueDate("invoice.date")); row.getCell(1).setCellValue(invoice.getItemValueString("sequencenumber"));
row.getCell(2).setCellValue(invoice.getItemValueString("invoice.number"));
row.getCell(3).setCellValue(invoice.getItemValueDate("invoice.duedate"));
row.getCell(4).setCellValue(invoice.getItemValueDouble("invoice.total"));
row.getCell(2).setCellValue(invoice.getItemValueString("invoice.ttc"));
row.getCell(3).setCellValue(invoice.getItemValueString("cdtr.name"));
row.getCell(4).setCellValue(buildAddressString(invoice));
row.getCell(5).setCellValue(getVendorField(invoice, "_vendor_country"));
row.getCell(6).setCellValue("A");
row.getCell(7).setCellValue(invoice.getItemValueString("cdtr.iban"));
row.getCell(8).setCellValue(invoice.getItemValueString("invoice.spc"));
row.getCell(9).setCellValue(invoice.getItemValueString("cdtr.bic"));
row.getCell(10).setCellValue(invoice.getItemValueString("invoice.lcc"));
row.getCell(11).setCellValue(getVendorField(invoice, "_vendor_country"));
row.getCell(12).setCellValue(invoice.getItemValueString("invoice.rpc"));
row.getCell(13).setCellValue("");
row.getCell(14).setCellValue(invoice.getItemValueString("invoice.currency"));
row.getCell(15).setCellValue("" + invoice.getItemValueDouble("invoice.total"));
row.getCell(16).setCellValue("Invoice No. " + invoice.getItemValueString("invoice.number"));
row.getCell(17).setCellValue("");
row.getCell(18).setCellValue("");
row.getCell(19).setCellValue("");
rowPos++; rowPos++;
} }
// delete reference row A2 // delete reference row A2
@ -259,4 +277,51 @@ public class SEPAExportAdapterNBD implements SignalAdapter {
return null; return null;
} }
/**
* This helper method lookups the creditor in the CArgosoft dataset and builds a
* address line needed for the export.
*
* @param workitem
* @return
*/
private String buildAddressString(ItemCollection workitem) {
String result = "";
ItemCollection cdtrItemCol = null;
String cdtrNumber = workitem.getItemValueString("cdtr.number");
try {
cdtrItemCol = kreditorDebitorService.findCreditor(cdtrNumber);
} catch (PluginException e) {
logger.warning("Unable to resolve address for " + cdtrNumber + " : " + e.getMessage());
}
if (cdtrItemCol != null) {
result = result + cdtrItemCol.getItemValueString("_vendor_zip_code") + " ";
result = result + cdtrItemCol.getItemValueString("_vendor_city") + " ";
result = result + cdtrItemCol.getItemValueString("_vendor_str") + " ";
}
// length max 255
result = result.trim();
return result.length() > 255 ? result.substring(0, 255) : result;
}
private String getVendorField(ItemCollection workitem, String fieldname) {
String result = "";
ItemCollection cdtrItemCol = null;
String cdtrNumber = workitem.getItemValueString("cdtr.number");
try {
cdtrItemCol = kreditorDebitorService.findCreditor(cdtrNumber);
} catch (PluginException e) {
logger.warning("Unable to resolve address for " + cdtrNumber + " : " + e.getMessage());
}
if (cdtrItemCol != null) {
return cdtrItemCol.getItemValueString(fieldname);
}
return "";
}
} }

View file

@ -6,7 +6,7 @@
<CstmrCdtTrfInitn> <CstmrCdtTrfInitn>
<GrpHdr> <GrpHdr>
<MsgId>bf073e72asdf512c4d60af7740872036</MsgId> <MsgId>bf073e72asdf512c4d60af7740872036</MsgId>
<CreDtTm>2024-07-26T12:04:59</CreDtTm> <CreDtTm>2024-07-30T15:43:40</CreDtTm>
<NbOfTxs>3</NbOfTxs> <NbOfTxs>3</NbOfTxs>
<CtrlSum>655.90</CtrlSum> <CtrlSum>655.90</CtrlSum>
<InitgPty> <InitgPty>
@ -23,7 +23,7 @@
<Cd>SEPA</Cd> <Cd>SEPA</Cd>
</SvcLvl> </SvcLvl>
</PmtTpInf> </PmtTpInf>
<ReqdExctnDt>2024-07-26</ReqdExctnDt> <ReqdExctnDt>2024-07-30</ReqdExctnDt>
<Dbtr> <Dbtr>
<Nm>Targo Bank</Nm> <Nm>Targo Bank</Nm>
</Dbtr> </Dbtr>

View file

@ -6,7 +6,7 @@
<CstmrCdtTrfInitn> <CstmrCdtTrfInitn>
<GrpHdr> <GrpHdr>
<MsgId>bf073e72asdf512c4d60af7740872036</MsgId> <MsgId>bf073e72asdf512c4d60af7740872036</MsgId>
<CreDtTm>2024-07-26T12:04:59</CreDtTm> <CreDtTm>2024-07-30T15:43:40</CreDtTm>
<NbOfTxs>3</NbOfTxs> <NbOfTxs>3</NbOfTxs>
<CtrlSum>655.90</CtrlSum> <CtrlSum>655.90</CtrlSum>
<InitgPty> <InitgPty>
@ -23,7 +23,7 @@
<Cd>SEPA</Cd> <Cd>SEPA</Cd>
</SvcLvl> </SvcLvl>
</PmtTpInf> </PmtTpInf>
<ReqdExctnDt>2024-07-26</ReqdExctnDt> <ReqdExctnDt>2024-07-30</ReqdExctnDt>
<Dbtr> <Dbtr>
<Nm>Targo Bank</Nm> <Nm>Targo Bank</Nm>
</Dbtr> </Dbtr>

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -50,14 +50,14 @@
<bpmn2:signal id="Signal_6" name="org.imixs.workflow.sepa.adapter.SEPARefAddAdapter"/> <bpmn2:signal id="Signal_6" name="org.imixs.workflow.sepa.adapter.SEPARefAddAdapter"/>
<bpmn2:signal id="Signal_7" name="org.imixs.workflow.sepa.adapter.SEPARefRemoveAdapter"/> <bpmn2:signal id="Signal_7" name="org.imixs.workflow.sepa.adapter.SEPARefRemoveAdapter"/>
<bpmn2:collaboration id="Collaboration_1"> <bpmn2:collaboration id="Collaboration_1">
<bpmn2:participant id="Participant_1" name="Invoice Receipt" processRef="Process_1"> <bpmn2:participant id="Participant_1" name="Invoice receipt" processRef="Process_1">
<bpmn2:documentation id="documentation_3sHy9A"/> <bpmn2:documentation id="documentation_3sHy9A"/>
</bpmn2:participant> </bpmn2:participant>
<bpmn2:participant id="participant_9PUChg" name="Default Process" processRef="process_2"/> <bpmn2:participant id="participant_9PUChg" name="Default Process" processRef="process_2"/>
</bpmn2:collaboration> </bpmn2:collaboration>
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="Invoice Receipt"> <bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="Invoice receipt">
<bpmn2:laneSet id="LaneSet_1" name="Lane Set 1"> <bpmn2:laneSet id="LaneSet_1" name="Lane Set 1">
<bpmn2:lane id="Lane_1" name="Ersteller"> <bpmn2:lane id="Lane_1" name="Creator">
<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>StartEvent_1</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>StartEvent_1</bpmn2:flowNodeRef>
@ -691,11 +691,12 @@ var b= workitem.get("order.total")[0];
<item name="invoice.currency" type="custom" required="true" path="alexander/currency_in" label="Currency:" /> <item name="invoice.currency" type="custom" required="true" path="alexander/currency_in" label="Currency:" />
</imixs-form-section> </imixs-form-section>
<imixs-form-section columns="2"> <imixs-form-section columns="2">
<item name="cdtr.iban" type="text" label="IBAN:" /> <item name="cdtr.iban" type="text" label="IBAN:" />
<item name="cdtr.bic" type="text" label="BIC:" /> <item name="cdtr.bic" type="text" label="BIC:" />
</imixs-form-section> </imixs-form-section>
<imixs-form-section columns="1" label="Document Summary" readonly="true" >
<item name="invoice.summary" type="custom" path="markdown" />
</imixs-form-section>
</imixs-form>]]></bpmn2:documentation> </imixs-form>]]></bpmn2:documentation>
<bpmn2:dataState id="DataState_1"/> <bpmn2:dataState id="DataState_1"/>
</bpmn2:dataObject> </bpmn2:dataObject>
@ -1257,7 +1258,7 @@ Bei Fragen wenden Sie sich bitte an info@imixs.com
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_4" imixs:activityid="310" name="SEPA"> <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_4" imixs:activityid="310" name="SEPA">
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="txtactivityresult" type="xs:string"> <imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<sepa-export name="modelversion">sepa-export-manual-pl-3.0</sepa-export> <imixs:value><![CDATA[<sepa-export name="modelversion">sepa-export-manual-dwc-3.0</sepa-export>
<sepa-export name="task">1000</sepa-export> <sepa-export name="task">1000</sepa-export>
<sepa-export name="key"><itemvalue>payment.type</itemvalue></sepa-export> <sepa-export name="key"><itemvalue>payment.type</itemvalue></sepa-export>
<sepa-export name="maxcount">70</sepa-export> <sepa-export name="maxcount">70</sepa-export>
@ -4159,23 +4160,29 @@ result.isValid=true;
<item name="invoice.number" type="text" label="Invoice number:" /> <item name="invoice.number" type="text" label="Invoice number:" />
<item name="invoice.date" type="custom" path="alexander/datumseingabe" label="Invoice date:" /> <item name="invoice.date" type="custom" path="alexander/datumseingabe" label="Invoice date:" />
<item name="invoice.duedate" type="custom" path="alexander/datumseingabe_tage" required="true" label="Due date:" /> <item name="invoice.duedate" type="custom" path="alexander/datumseingabe_tage" required="true" label="Due date:" />
<item name="invoice.servicedate" type="custom" path="alexander/datumseingabe" required="false" label="Service date:" />
<item name="invoice.total" type="currency" required="true" label="Invoice amount:" /> <item name="invoice.total" type="currency" required="true" label="Invoice amount:" />
<item name="invoice.currency" type="custom" required="true" path="alexander/currency_in" label="Currency:" /> <item name="invoice.currency" type="custom" required="true" path="alexander/currency_in" label="Currency:" />
</imixs-form-section> </imixs-form-section>
<imixs-form-section columns="2"> <imixs-form-section columns="4">
<item name="invoice.ttc" type="text" label="Transaction Type Code:" />
<item name="invoice.spc" type="text" label="Sender Purpose Code:" />
<item name="invoice.lcc" type="text" label="Local Clearing Code:" />
<item name="invoice.rpc" type="text" label="Receiver Purpose code:" />
</imixs-form-section>
<imixs-form-section columns="2">
<item name="cdtr.iban" type="text" label="IBAN:" /> <item name="cdtr.iban" type="text" label="IBAN:" />
<item name="cdtr.bic" type="text" label="BIC:" /> <item name="cdtr.bic" type="text" label="BIC:" />
</imixs-form-section> </imixs-form-section>
<imixs-form-section columns="2"> <imixs-form-section columns="2">
<item name="invoice.period" type="text" required="false" label="Posting period (yyyymm):" /> <item name="invoice.period" type="text" required="false" label="Posting period (yyyymm):" />
<item name="" type="custom" path="alexander/zahlungsart" label="Payment type:"/> <item name="" type="custom" path="alexander/zahlungsart" label="Payment type:"/>
<item name="" type="custom" path="alexander/spaceref" label="Section:" /> <item name="" type="custom" path="alexander/spaceref" label="Section:" />
<item name="" type="custom" path="alexander/sachbearbeiter" label="Person in charge:" /> <item name="" type="custom" path="alexander/sachbearbeiter" label="Person in charge:"
hide="#{!teamController.isManagerOf(workflowController.workitem.item['process.ref'])}" /> />
</imixs-form-section> </imixs-form-section>
</imixs-form>]]></bpmn2:documentation> </imixs-form>]]></bpmn2:documentation>
</bpmn2:dataObject> </bpmn2:dataObject>
@ -4832,7 +4839,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
<bpmn2:documentation id="documentation_UUWC0Q"/> <bpmn2:documentation id="documentation_UUWC0Q"/>
</bpmn2:sequenceFlow> </bpmn2:sequenceFlow>
</bpmn2:process> </bpmn2:process>
<bpmn2:process id="process_2" name="Invoice Receipt" processType="Public"> <bpmn2:process id="process_2" name="Invoice receipt" processType="Public">
<bpmn2:documentation id="documentation_yUm3kA"/> <bpmn2:documentation id="documentation_yUm3kA"/>
</bpmn2:process> </bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNDiagram id="BPMNDiagram_1">
@ -4907,9 +4914,9 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
<dc:Bounds height="50.0" width="110.0" x="310.0" y="180.0"/> <dc:Bounds height="50.0" width="110.0" x="310.0" y="180.0"/>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="DataObject_2" id="BPMNShape_DataObject_1"> <bpmndi:BPMNShape bpmnElement="DataObject_2" id="BPMNShape_DataObject_1">
<dc:Bounds height="50.0" width="35.0" x="276.0" y="61.0"/> <dc:Bounds height="50.0" width="35.0" x="280.0" y="60.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_85"> <bpmndi:BPMNLabel id="BPMNLabel_85">
<dc:Bounds height="20.0" width="100.0" x="244.0" y="111.0"/> <dc:Bounds height="20.0" width="100.0" x="248.0" y="110.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_13" id="BPMNShape_IntermediateCatchEvent_13"> <bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_13" id="BPMNShape_IntermediateCatchEvent_13">
@ -5300,9 +5307,9 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="DataObject_5" id="BPMNShape_DataObject_4"> <bpmndi:BPMNShape bpmnElement="DataObject_5" id="BPMNShape_DataObject_4">
<dc:Bounds height="50.0" width="35.0" x="781.0" y="370.0"/> <dc:Bounds height="50.0" width="35.0" x="780.0" y="370.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_242"> <bpmndi:BPMNLabel id="BPMNLabel_242">
<dc:Bounds height="20.0" width="100.0" x="749.0" y="420.0"/> <dc:Bounds height="20.0" width="100.0" x="748.0" y="420.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_55" id="BPMNShape_IntermediateCatchEvent_60"> <bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_55" id="BPMNShape_IntermediateCatchEvent_60">
@ -5426,10 +5433,10 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="Association_2" id="BPMNEdge_Association_2" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_5"> <bpmndi:BPMNEdge bpmnElement="Association_2" id="BPMNEdge_Association_2" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_5">
<bpmndi:BPMNLabel id="BPMNLabel_86"/> <bpmndi:BPMNLabel id="BPMNLabel_86"/>
<di:waypoint x="293.5" y="111.0"/> <di:waypoint x="297.5" y="110.0"/>
<di:waypoint x="293.5" y="145.0"/> <di:waypoint x="297.5" y="145.0"/>
<di:waypoint x="332.0" y="145.0"/> <di:waypoint x="365.0" y="145.0"/>
<di:waypoint x="332.0" y="180.0"/> <di:waypoint x="365.0" y="180.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_29" id="BPMNEdge_SequenceFlow_30" sourceElement="BPMNShape_EventBasedGateway_4" targetElement="BPMNShape_IntermediateCatchEvent_17"> <bpmndi:BPMNEdge bpmnElement="SequenceFlow_29" id="BPMNEdge_SequenceFlow_30" sourceElement="BPMNShape_EventBasedGateway_4" targetElement="BPMNShape_IntermediateCatchEvent_17">
<bpmndi:BPMNLabel id="BPMNLabel_90"/> <bpmndi:BPMNLabel id="BPMNLabel_90"/>
@ -5916,7 +5923,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="Association_8" id="BPMNEdge_Association_8" sourceElement="BPMNShape_DataObject_4" targetElement="BPMNShape_Task_16"> <bpmndi:BPMNEdge bpmnElement="Association_8" id="BPMNEdge_Association_8" sourceElement="BPMNShape_DataObject_4" targetElement="BPMNShape_Task_16">
<bpmndi:BPMNLabel id="BPMNLabel_243"/> <bpmndi:BPMNLabel id="BPMNLabel_243"/>
<di:waypoint x="781.0" y="385.0"/> <di:waypoint x="780.0" y="385.0"/>
<di:waypoint x="749.0" y="385.0"/> <di:waypoint x="749.0" y="385.0"/>
<di:waypoint x="749.0" y="320.0"/> <di:waypoint x="749.0" y="320.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>

View file

@ -86,6 +86,7 @@
<bpmn2:flowNodeRef>textAnnotation_Ku1gIw</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>textAnnotation_Ku1gIw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>TextAnnotation_2</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>TextAnnotation_2</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>textAnnotation_VzlLPQ</bpmn2:flowNodeRef> <bpmn2:flowNodeRef>textAnnotation_VzlLPQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_KyxeBg</bpmn2:flowNodeRef>
</bpmn2:lane> </bpmn2:lane>
</bpmn2:laneSet> </bpmn2:laneSet>
<bpmn2:task id="Task_2" imixs:processid="1900" name="Completed"> <bpmn2:task id="Task_2" imixs:processid="1900" name="Completed">
@ -118,6 +119,7 @@
<bpmn2:documentation id="Documentation_4"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation> <bpmn2:documentation id="Documentation_4"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_eTlV8A</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:documentation id="documentation_Op3ooQ"/> <bpmn2:documentation id="documentation_Op3ooQ"/>
@ -524,6 +526,7 @@ if (workitem.getItemValueString('txtcomment') == '') {
<bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
<bpmn2:incoming>sequenceFlow_Taezjw</bpmn2:incoming>
</bpmn2:task> </bpmn2:task>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_2" imixs:activityid="20" name="Execute"> <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_2" imixs:activityid="20" name="Execute">
<bpmn2:extensionElements> <bpmn2:extensionElements>
@ -776,6 +779,85 @@ if (workitem.getItemValueString('txtcomment') == '') {
<bpmn2:association id="association_PAgWfg" sourceRef="textAnnotation_VzlLPQ" targetRef="IntermediateCatchEvent_2"> <bpmn2:association id="association_PAgWfg" sourceRef="textAnnotation_VzlLPQ" targetRef="IntermediateCatchEvent_2">
<bpmn2:documentation id="documentation_jfZ1jg"/> <bpmn2:documentation id="documentation_jfZ1jg"/>
</bpmn2:association> </bpmn2:association>
<bpmn2:intermediateCatchEvent id="event_KyxeBg" imixs:activityid="30" name="repeat">
<bpmn2:extensionElements>
<imixs:item name="keylogtimeformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyarchive" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="txtmailsubject" type="xs:string">
<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/>
</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: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="keylogdateformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string"/>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[5000]]></imixs:value>
</imixs:item>
<imixs:item name="txtnextprocesstree" type="xs:string">
<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[Speichern]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipmode" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[SEPA run cancelled.]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
<imixs:item name="txtbusinessrule" type="xs:string">
<imixs:value><![CDATA[var result={};
result.isValid=true;
if (workitem.getItemValueString('txtcomment') == '') {
result.isValid=false;
result.errorMessage='Bitte geben Sie einen Kommentar ein.';
}]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="documentation_RVz3pg"/>
<bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_eTlV8A</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_Taezjw</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_eTlV8A" sourceRef="Task_2" targetRef="event_KyxeBg">
<bpmn2:documentation id="documentation_uxgNJg"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_Taezjw" sourceRef="event_KyxeBg" targetRef="Task_1">
<bpmn2:documentation id="documentation_86H1KQ"/>
</bpmn2:sequenceFlow>
</bpmn2:process> </bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Process Diagram"> <bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Process Diagram">
<bpmndi:BPMNPlane bpmnElement="Collaboration_1" id="BPMNPlane_1"> <bpmndi:BPMNPlane bpmnElement="Collaboration_1" id="BPMNPlane_1">
@ -858,9 +940,9 @@ if (workitem.getItemValueString('txtcomment') == '') {
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_7" id="BPMNShape_IntermediateCatchEvent_7"> <bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_7" id="BPMNShape_IntermediateCatchEvent_7">
<dc:Bounds height="36.0" width="36.0" x="1112.0" y="434.0"/> <dc:Bounds height="36.0" width="36.0" x="1111.0" y="434.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_39" labelStyle="BPMNLabelStyle_1"> <bpmndi:BPMNLabel id="BPMNLabel_39" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="20.0" width="100.0" x="1080.5" y="470.0"/> <dc:Bounds height="20.0" width="100.0" x="1079.5" y="470.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Task_1" id="BPMNShape_Task_1"> <bpmndi:BPMNShape bpmnElement="Task_1" id="BPMNShape_Task_1">
@ -873,9 +955,9 @@ if (workitem.getItemValueString('txtcomment') == '') {
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_4" id="BPMNShape_IntermediateCatchEvent_4"> <bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_4" id="BPMNShape_IntermediateCatchEvent_4">
<dc:Bounds height="36.0" width="36.0" x="950.0" y="180.0"/> <dc:Bounds height="36.0" width="36.0" x="951.0" y="180.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_16" labelStyle="BPMNLabelStyle_1"> <bpmndi:BPMNLabel id="BPMNLabel_16" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="20.0" width="100.0" x="918.0" y="216.0"/> <dc:Bounds height="20.0" width="100.0" x="919.0" y="216.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_5" id="BPMNShape_IntermediateCatchEvent_5"> <bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_5" id="BPMNShape_IntermediateCatchEvent_5">
@ -944,13 +1026,13 @@ if (workitem.getItemValueString('txtcomment') == '') {
<bpmndi:BPMNLabel id="BPMNLabel_40"/> <bpmndi:BPMNLabel id="BPMNLabel_40"/>
<di:waypoint x="738.0" y="399.0"/> <di:waypoint x="738.0" y="399.0"/>
<di:waypoint x="738.0" y="453.0"/> <di:waypoint x="738.0" y="453.0"/>
<di:waypoint x="1112.0277992443885" y="453.0"/> <di:waypoint x="1111.0277992443885" y="453.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_19" id="BPMNEdge_SequenceFlow_19" sourceElement="BPMNShape_IntermediateCatchEvent_7" targetElement="BPMNShape_Task_6"> <bpmndi:BPMNEdge bpmnElement="SequenceFlow_19" id="BPMNEdge_SequenceFlow_19" sourceElement="BPMNShape_IntermediateCatchEvent_7" targetElement="BPMNShape_Task_6">
<bpmndi:BPMNLabel id="BPMNLabel_41"/> <bpmndi:BPMNLabel id="BPMNLabel_41"/>
<di:waypoint x="1148.0" y="452.0"/> <di:waypoint x="1147.0" y="452.0"/>
<di:waypoint x="1174.0" y="452.0"/> <di:waypoint x="1173.5" y="452.0"/>
<di:waypoint x="1174.0" y="453.0"/> <di:waypoint x="1173.5" y="453.0"/>
<di:waypoint x="1200.0" y="453.0"/> <di:waypoint x="1200.0" y="453.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_1" id="BPMNEdge_SequenceFlow_1" sourceElement="BPMNShape_ExclusiveGateway_1" targetElement="BPMNShape_IntermediateCatchEvent_2"> <bpmndi:BPMNEdge bpmnElement="SequenceFlow_1" id="BPMNEdge_SequenceFlow_1" sourceElement="BPMNShape_ExclusiveGateway_1" targetElement="BPMNShape_IntermediateCatchEvent_2">
@ -976,12 +1058,13 @@ if (workitem.getItemValueString('txtcomment') == '') {
<di:waypoint x="968.0" y="309.0"/> <di:waypoint x="968.0" y="309.0"/>
<di:waypoint x="968.0" y="372.0"/> <di:waypoint x="968.0" y="372.0"/>
<di:waypoint x="1130.0" y="372.0"/> <di:waypoint x="1130.0" y="372.0"/>
<di:waypoint x="1130.0" y="434.0"/> <di:waypoint x="1130.0" y="434.0277992443886"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_11" id="BPMNEdge_SequenceFlow_11" sourceElement="BPMNShape_IntermediateCatchEvent_4" targetElement="BPMNShape_Task_1"> <bpmndi:BPMNEdge bpmnElement="SequenceFlow_11" id="BPMNEdge_SequenceFlow_11" sourceElement="BPMNShape_IntermediateCatchEvent_4" targetElement="BPMNShape_Task_1">
<bpmndi:BPMNLabel id="BPMNLabel_17"/> <bpmndi:BPMNLabel id="BPMNLabel_17"/>
<di:waypoint x="968.0" y="216.0"/> <di:waypoint x="969.0" y="216.0"/>
<di:waypoint x="968.0" y="237.0"/> <di:waypoint x="969.0" y="237.5"/>
<di:waypoint x="968.0" y="237.5"/>
<di:waypoint x="968.0" y="259.0"/> <di:waypoint x="968.0" y="259.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_9" id="BPMNEdge_SequenceFlow_9" sourceElement="BPMNShape_IntermediateCatchEvent_5" targetElement="BPMNShape_Task_1"> <bpmndi:BPMNEdge bpmnElement="SequenceFlow_9" id="BPMNEdge_SequenceFlow_9" sourceElement="BPMNShape_IntermediateCatchEvent_5" targetElement="BPMNShape_Task_1">
@ -1008,6 +1091,24 @@ if (workitem.getItemValueString('txtcomment') == '') {
<di:waypoint x="831.0" y="417.0"/> <di:waypoint x="831.0" y="417.0"/>
<di:waypoint x="831.0" y="302.0"/> <di:waypoint x="831.0" y="302.0"/>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNShape bpmnElement="event_KyxeBg" id="BPMNShape_wM5d4w">
<dc:Bounds height="36.0" width="36.0" x="1230.0" y="347.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_fj30Iw">
<dc:Bounds height="20.0" width="100.0" x="1198.5" y="383.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_eTlV8A" id="BPMNEdge_8rKhLA" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_wM5d4w">
<di:waypoint x="1255.0" y="309.0"/>
<di:waypoint x="1255.0" y="328.0"/>
<di:waypoint x="1248.0" y="328.0"/>
<di:waypoint x="1248.0" y="347.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_Taezjw" id="BPMNEdge_wArQaw" sourceElement="BPMNShape_wM5d4w" targetElement="BPMNShape_Task_1">
<di:waypoint x="1230.0" y="365.0"/>
<di:waypoint x="1126.5" y="365.0"/>
<di:waypoint x="1126.5" y="284.0"/>
<di:waypoint x="1023.0" y="284.0"/>
</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"/>