Umsetzugn Stapelverteilung

This commit is contained in:
Ralph Soika 2021-11-03 17:06:25 +01:00
parent 48d967ff44
commit 7b56b62e7f
4 changed files with 256 additions and 656 deletions

View file

@ -0,0 +1,88 @@
package com.alexanderlogistics;
import java.util.logging.Logger;
import javax.inject.Inject;
import org.imixs.workflow.ItemCollection;
import org.imixs.workflow.SignalAdapter;
import org.imixs.workflow.engine.WorkflowService;
import org.imixs.workflow.exceptions.AccessDeniedException;
import org.imixs.workflow.exceptions.AdapterException;
import org.imixs.workflow.exceptions.ModelException;
import org.imixs.workflow.exceptions.PluginException;
import org.imixs.workflow.exceptions.ProcessingErrorException;
/**
* Der InvoiceDispatchAdapter verteilt die vom Abteilungsleiter ausgewählten
* Rechnungen
*
* @version 1.0
* @author rsoika
*/
public class InvoiceDispatchAdapter implements SignalAdapter {
private static Logger logger = Logger.getLogger(InvoiceDispatchAdapter.class.getName());
@Inject
WorkflowService workflowService;
/**
* This method computes the cargosoft export data file
*
* @throws PluginException
*/
@Override
public ItemCollection execute(ItemCollection document, ItemCollection event)
throws AdapterException, PluginException {
logger.info("......stapelverarbeitung pruefung...");
String spaceRef = document.getItemValueString("space.ref");
String sbTeam = document.getItemValueString("sb.team");
String sbAssist = document.getItemValueString("sb.assist");
logger.info("...... space.ref=" + spaceRef);
logger.info("...... sb.team=" + sbTeam);
logger.info("...... sb.assist=" + sbAssist);
// read selection
String sSelection = document.getItemValueString("invoice.selection");
// cut first ,
if (sSelection.startsWith(",")) {
sSelection=sSelection.substring(1);
}
String[] ids = sSelection.split(",");
if (ids.length==0 || ids[0].isEmpty()) {
throw new PluginException(InvoiceDispatchAdapter.class.getSimpleName(), "PROCESSING_ERROR",
"Es wurden keine Rechnungen zur Verteilung ausgewählt.");
}
for (String id : ids) {
// load invoice
ItemCollection invoice = workflowService.getWorkItem(id);
if (invoice != null) {
logger.info("...stapelverarbeitung : " + id);
invoice.setItemValue("space.ref", spaceRef);
invoice.setItemValue("sb.team", sbTeam);
invoice.setItemValue("sb.assist", sbAssist);
// append workitemref
document.appendItemValue("$workitemref", invoice.getUniqueID());
// now process invoice..... event = 20
try {
workflowService.processWorkItem(invoice, 20);
} catch (AccessDeniedException | ProcessingErrorException | PluginException | ModelException e) {
throw new PluginException(InvoiceDispatchAdapter.class.getSimpleName(), "PROCESSING_ERROR",
"Failed to process invoice : " + invoice.getUniqueID());
}
}
}
return document;
}
}

View file

@ -1,49 +0,0 @@
package com.alexanderlogistics;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import javax.enterprise.context.ConversationScoped;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.imixs.workflow.engine.DocumentService;
/**
* Der InvoiceDispatchController ist nur für die form 'section_inovice_dispatch' da um die angwählten checkboxen zu
* notieren
*
* @se: https://stackoverflow.com/questions/2524514/how-to-use-hselectbooleancheckbox-in-hdatatable-or-uirepeat-to-select-m
* @author rsoika
*
*/
@Named
@RequestScoped
public class InvoiceDispatchController implements Serializable {
private static final long serialVersionUID = 1L;
private static Logger logger = Logger.getLogger(InvoiceDispatchController.class.getName());
private Map<String, Boolean> checked = new HashMap<String, Boolean>();
private List<String> invoices;
public Map<String, Boolean> getChecked() {
return checked;
}
public void setChecked(Map<String, Boolean> checked) {
this.checked = checked;
}
public List<String> getInvoices() {
return invoices;
}
public void setInvoices(List<String> invoices) {
this.invoices = invoices;
}
}

View file

@ -10,98 +10,117 @@
<ui:param name="user" value="#{loginController.userPrincipal}"></ui:param>
<ui:param name="query" value="(type:workitem) AND ($modelversion:rechnungseingang-de*) AND ($taskid:5100) AND ($owner:#{user})"></ui:param>
<ui:param name="invoiceList" value="#{workflowController.documentService.find(query,999,0)}"></ui:param>
<ui:param name="query"
value="(type:workitem) AND ($modelversion:rechnungseingang-de*) AND ($taskid:5100) AND ($owner:#{user})"></ui:param>
<ui:param name="invoiceList"
value="#{workflowController.documentService.find(query,999,0)}"></ui:param>
<div class="imixs-form-section">
<table class="">
<tr>
<th></th>
<th style="">Bereich</th>
<th style="">#{message['form.company']}</th>
<th style="">#{message['form.invoicenumber']}</th>
<th style="">#{message['form.date']}</th>
<th style="">Fälligkeit</th>
<th style="">#{message['form.amount']}</th>
<th style=""></th>
<ui:fragment rendered="#{empty invoiceList}">
</tr>
<c:forEach items="#{invoiceList}" var="invoice">
<div class="ui-state-highlight ui-corner-all"
style="margin-bottom: 10px; padding: .5em;">
<p>Es liegen derzeit keine Rechnungen zur Prüfung für Sie vor.</p>
</div>
</ui:fragment>
<ui:fragment rendered="#{!empty invoiceList}">
<div class="imixs-form-section">
<table class="">
<tr>
<td>
<input type="checkbox" class="selection_checkbox" id="#{invoice.uniqueID}" />
</td>
<td>#{invoice.item['space.name']}</td>
<td><h:link outcome="/pages/workitems/workitem">
#{invoice.item['cdtr.name']}
<f:param name="id" value="#{invoice.item['$uniqueid']}" />
</h:link>
</td>
<td>#{invoice.item['invoice.number']}</td>
<td><h:outputText value="#{invoice.item['invoice.date']}">
<f:convertDateTime pattern="#{message.datePatternShort}"
timeZone="#{message.timeZone}" />
</h:outputText></td>
<td><h:outputText value="#{invoice.item['invoice.duedate']}">
<f:convertDateTime pattern="#{message.datePatternShort}"
timeZone="#{message.timeZone}" />
</h:outputText></td>
<td style="text-align: right;"><h:outputText
value="#{invoice.item['invoice.total']}">
<f:convertNumber minFractionDigits="2" locale="de" />
</h:outputText></td>
<td>#{invoice.item['invoice.currency']}</td>
<th></th>
<th style="">Bereich</th>
<th style="">#{message['form.company']}</th>
<th style="">#{message['form.invoicenumber']}</th>
<th style="">#{message['form.date']}</th>
<th style="">Fälligkeit</th>
<th style="">#{message['form.amount']}</th>
<th style=""></th>
</tr>
</c:forEach>
<c:forEach items="#{invoiceList}" var="invoice">
<tr>
<td><input type="checkbox" class="selection_checkbox"
id="#{invoice.uniqueID}" /></td>
<td>#{invoice.item['space.name']}</td>
<td><h:link outcome="/pages/workitems/workitem">
#{invoice.item['cdtr.name']}
<f:param name="id" value="#{invoice.item['$uniqueid']}" />
</h:link></td>
<h:inputText class="invoice_selection_list" value="#{workitem.item['invoiceselection']}" />
<td>#{invoice.item['invoice.number']}</td>
<td><h:outputText value="#{invoice.item['invoice.date']}">
<f:convertDateTime pattern="#{message.datePatternShort}"
timeZone="#{message.timeZone}" />
</h:outputText></td>
<td><h:outputText value="#{invoice.item['invoice.duedate']}">
<f:convertDateTime pattern="#{message.datePatternShort}"
timeZone="#{message.timeZone}" />
</h:outputText></td>
<td style="text-align: right;"><h:outputText
value="#{invoice.item['invoice.total']}">
<f:convertNumber minFractionDigits="2" locale="de" />
</h:outputText></td>
<td>#{invoice.item['invoice.currency']}</td>
</tr>
</c:forEach>
</table>
</div>
<h:inputText style="display:none;" class="invoice_selection_list"
value="#{workitem.item['invoice.selection']}" />
</table>
</div>
</ui:fragment>
<script type="text/javascript">
/*<![CDATA[*/
// collect all selected ids form the checkboxes in the first column
$(document).ready(function() {
$('input[type="checkbox"].selection_checkbox').change(function () {
var id = $(this).attr('id');
var check = $(this).prop('checked');
//console.log("Change: " + id + " to " + check);
// get selection
var selection=$('.invoice_selection_list').val();
const selectionArr = selection.split(",");
// selected
if (check) {
selectionArr.push(id);
}
// unselected
if (!check) {
var i=selectionArr.indexOf(id);
selectionArr.splice(i,i);
}
//console.log("new selection=" + selectionArr.join(','));
selection=$('.invoice_selection_list').val(selectionArr.join(','));
});
});
$(document).ready(
function() {
// clear last selection...
selection = $('.invoice_selection_list').val('');
// on change handler....
$('input[type="checkbox"].selection_checkbox').change(
function() {
var id = $(this).attr('id');
var check = $(this).prop('checked');
//console.log("Change: " + id + " to " + check);
// get selection
var selection = $('.invoice_selection_list')
.val();
const selectionArr = selection.split(",");
// selected
if (check) {
selectionArr.push(id);
}
// unselected
if (!check) {
var i = selectionArr.indexOf(id);
selectionArr.splice(i, i);
}
//console.log("new selection=" + selectionArr.join(','));
selection = $('.invoice_selection_list').val(
selectionArr.join(','));
});
});
/*]]>*/
</script>

View file

@ -40,6 +40,7 @@
<bpmn2:signal id="Signal_1" name="org.imixs.ml.workflow.MLAdapter"/>
<bpmn2:signal id="Signal_2" name="org.imixs.archive.documents.OCRDocumentAdapter"/>
<bpmn2:signal id="Signal_3" name="com.alexanderlogistics.CargosoftExportAdapter"/>
<bpmn2:signal id="Signal_4" name="com.alexanderlogistics.InvoiceDispatchAdapter"/>
<bpmn2:collaboration id="Collaboration_1">
<bpmn2:participant id="Participant_1" name="Stapelverarbeitung Prüfung" processRef="Process_1"/>
</bpmn2:collaboration>
@ -48,98 +49,11 @@
<bpmn2:lane id="Lane_1" name="Bereichs Manager">
<bpmn2:flowNodeRef>Task_2</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>StartEvent_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_13</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_19</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateThrowEvent_3</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>EventBasedGateway_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_24</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_7</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>EndEvent_3</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>Task_8</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>Task_5</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_23</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>EndEvent_2</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_5000-20</bpmn2:flowNodeRef>
</bpmn2:lane>
</bpmn2:laneSet>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_5000-20" imixs:activityid="50" name="Verteilen">
<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[0]]></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: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[Verteilt zur Sachprüfung ⇨ <itemvalue>space.name</itemvalue> ]]></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[var result={};
var refField="space.ref";
result.isValid=true;
if ( ( workitem.get(refField) == null || '-'==workitem.get(refField)[0]) ) {
result.isValid=false;
result.errorMessage='Bitte wählen Sie einen Fachbereich aus.';
}]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_105"><![CDATA[Verteilt]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_46</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:startEvent id="StartEvent_1" name="Start">
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
</bpmn2:startEvent>
@ -179,9 +93,8 @@ result.isValid=true;
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_2"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_20</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:dataObject id="DataObject_2" name="Invoice Form">
<bpmn2:documentation id="Documentation_8"><![CDATA[<?xml version="1.0"?>
@ -192,78 +105,6 @@ result.isValid=true;
</imixs-form>]]></bpmn2:documentation>
<bpmn2:dataState id="DataState_1"/>
</bpmn2:dataObject>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_13" imixs:activityid="10" name="Speichern">
<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><![CDATA[]]></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[]]></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[$creator]]></imixs:value>
<imixs:value><![CDATA[$editor]]></imixs:value>
<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[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:value><![CDATA[$editor]]></imixs:value>
<imixs:value><![CDATA[$creator]]></imixs:value>
</imixs:item>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[5000]]></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="comment" ignore="true"/>]]></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[]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
<imixs:item name="keymailreceiverfields" type="xs:string"/>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_19"><![CDATA[Zwischenspeichern]]></bpmn2:documentation>
<bpmn2:outgoing>SequenceFlow_20</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_20" sourceRef="IntermediateCatchEvent_13" targetRef="Task_2"/>
<bpmn2:task id="Task_5" imixs:processid="5900" name="Erledigt">
<bpmn2:extensionElements>
<imixs:item name="txteditorid" type="xs:string">
@ -276,10 +117,10 @@ result.isValid=true;
<imixs:value><![CDATA[Rechnung erhalten]]></imixs:value>
</imixs:item>
<imixs:item name="txtimageurl" type="xs:string">
<imixs:value><![CDATA[typcn-download|typcn-tick,imixs-success,icon-sub-ne]]></imixs:value>
<imixs:value><![CDATA[typcn-arrow-shuffle|typcn-tick,imixs-success,icon-sub-ne]]></imixs:value>
</imixs:item>
<imixs:item name="txtworkflowsummary" type="xs:string">
<imixs:value><![CDATA[<itemvalue>numsequencenumber</itemvalue>: <itemvalue>cdtr.name</itemvalue> <itemvalue>invoice.number</itemvalue> (<itemvalue>invoice.currency</itemvalue> <itemvalue>invoice.total</itemvalue>) <itemvalue>space.name</itemvalue>]]></imixs:value>
<imixs:value><![CDATA[<itemvalue>space.name</itemvalue> <username>sb.team</username> / <username>sb.assist</username>]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value>
@ -298,69 +139,15 @@ result.isValid=true;
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_31"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_52</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_47</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:endEvent id="EndEvent_2" name="Ende">
<bpmn2:incoming>SequenceFlow_47</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_47" sourceRef="Task_5" targetRef="EndEvent_2"/>
<bpmn2:task id="Task_8" imixs:processid="5990" name="Gelöscht">
<bpmn2:extensionElements>
<imixs:item name="txteditorid" type="xs:string">
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="txtworkflowabstract" type="xs:string">
<imixs:value><![CDATA[<itemvalue>txtlastcomment</itemvalue>]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Rechnung erhalten]]></imixs:value>
</imixs:item>
<imixs:item name="txtimageurl" type="xs:string">
<imixs:value><![CDATA[typcn-download|typcn-delete,imixs-error,icon-sub-ne]]></imixs:value>
</imixs:item>
<imixs:item name="txtworkflowsummary" type="xs:string">
<imixs:value><![CDATA[<itemvalue>numsequencenumber</itemvalue>: <itemvalue>cdtr.name</itemvalue> <itemvalue>invoice.number</itemvalue> (<itemvalue>invoice.currency</itemvalue> <itemvalue>invoice.total</itemvalue>) <itemvalue>space.name</itemvalue>]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string"/>
<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="txttype" type="xs:string">
<imixs:value><![CDATA[workitemarchive]]></imixs:value>
</imixs:item>
<imixs:item name="namaddreadaccess" type="xs:string">
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
<imixs:value><![CDATA[{space:?:member}]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_10"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_60</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:endEvent id="EndEvent_3" name="Ende">
<bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_9" sourceRef="Task_8" targetRef="EndEvent_3"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_7" name="STORNO">
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
<bpmn2:linkEventDefinition id="LinkEventDefinition_4" name="Link Event Definition 6"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_17" sourceRef="IntermediateCatchEvent_7" targetRef="Task_8"/>
<bpmn2:eventBasedGateway id="EventBasedGateway_1" gatewayDirection="Diverging">
<bpmn2:incoming>SequenceFlow_22</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_46</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_49</bpmn2:outgoing>
</bpmn2:eventBasedGateway>
<bpmn2:sequenceFlow id="SequenceFlow_22" sourceRef="Task_2" targetRef="EventBasedGateway_1"/>
<bpmn2:sequenceFlow id="SequenceFlow_46" sourceRef="EventBasedGateway_1" targetRef="IntermediateCatchEvent_5000-20"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_19" imixs:activityid="90" name="Löschen">
<bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="StartEvent_1" targetRef="Task_2"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" imixs:activityid="100" name="Verteilen">
<bpmn2:extensionElements>
<imixs:item name="keylogtimeformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
@ -384,8 +171,10 @@ result.isValid=true;
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
<imixs:value><![CDATA[$creator]]></imixs:value>
<imixs:value><![CDATA[$editor]]></imixs:value>
<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>
@ -400,213 +189,73 @@ result.isValid=true;
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
<imixs:value><![CDATA[$editor]]></imixs:value>
<imixs:value><![CDATA[$creator]]></imixs:value>
</imixs:item>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[5020]]></imixs:value>
<imixs:value><![CDATA[5000]]></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>
<validation name="required">false</validation>
<validation name="confirm">Wollen Sie den Vorgang wirklich löschen?</validation>]]></imixs:value>
<imixs:value><![CDATA[<item name="action">home</item>]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Anweisen]]></imixs:value>
<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[Gelöscht.]]></imixs:value>
<imixs:value><![CDATA[Verteilt zur Sachprüfung ⇨ <itemvalue>space.name</itemvalue> ]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
<imixs:item name="keymailreceiverfields" type="xs:string"/>
<imixs:item name="txtbusinessrule" type="CDATA">
<imixs:value><![CDATA[var result={};
var refField="txtcomment";
var refField="sb.team";
var refField2="sb.assist";
result.isValid=true;
if ( ( workitem.get(refField) == null || ''==workitem.get(refField)[0]) ) {
if ( ( workitem.get(refField2) == null || '-'==workitem.get(refField2)[0])
&& ( workitem.get(refField) == null || '-'==workitem.get(refField)[0]) ) {
result.isValid=false;
result.errorMessage='Bitte geben Sie einen Kommentar ein.';
}]]></imixs:value>
result.errorMessage='Bitte wählen Sie eine(n) Verantwortliche(n) aus.';
}
]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_38"><![CDATA[Rechnung nicht in Ordnung.]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_49</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_48</bpmn2:outgoing>
<bpmn2:documentation id="Documentation_1"><![CDATA[Zwischenspeichern]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
<bpmn2:dataOutput id="DataOutput_1" name="Signal_1_Output"/>
<bpmn2:dataOutputAssociation id="DataOutputAssociation_1">
<bpmn2:sourceRef>DataOutput_1</bpmn2:sourceRef>
</bpmn2:dataOutputAssociation>
<bpmn2:outputSet id="OutputSet_1" name="Output Set 1">
<bpmn2:dataOutputRefs>DataOutput_1</bpmn2:dataOutputRefs>
</bpmn2:outputSet>
<bpmn2:signalEventDefinition id="SignalEventDefinition_1" signalRef="Signal_4"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_3" name="STORNO">
<bpmn2:incoming>SequenceFlow_48</bpmn2:incoming>
<bpmn2:linkEventDefinition id="LinkEventDefinition_5" name="Link Event Definition 5"/>
</bpmn2:intermediateThrowEvent>
<bpmn2:sequenceFlow id="SequenceFlow_48" sourceRef="IntermediateCatchEvent_19" targetRef="IntermediateThrowEvent_3"/>
<bpmn2:sequenceFlow id="SequenceFlow_49" sourceRef="EventBasedGateway_1" targetRef="IntermediateCatchEvent_19"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_23" imixs:activityid="10" name="Speichern">
<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><![CDATA[]]></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[]]></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[$creator]]></imixs:value>
<imixs:value><![CDATA[$editor]]></imixs:value>
<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[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:value><![CDATA[$editor]]></imixs:value>
<imixs:value><![CDATA[$creator]]></imixs:value>
</imixs:item>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[5000]]></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="comment" ignore="true"/>]]></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[]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_17"><![CDATA[Zwischenspeichern]]></bpmn2:documentation>
<bpmn2:outgoing>SequenceFlow_52</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_52" sourceRef="IntermediateCatchEvent_23" targetRef="Task_5"/>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_24" imixs:activityid="10" name="Speichern">
<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><![CDATA[]]></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[]]></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[$creator]]></imixs:value>
<imixs:value><![CDATA[$editor]]></imixs:value>
<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[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:value><![CDATA[$editor]]></imixs:value>
<imixs:value><![CDATA[$creator]]></imixs:value>
</imixs:item>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[5000]]></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="comment" ignore="true"/>]]></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[]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_20"><![CDATA[Zwischenspeichern]]></bpmn2:documentation>
<bpmn2:outgoing>SequenceFlow_60</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_60" sourceRef="IntermediateCatchEvent_24" targetRef="Task_8"/>
<bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="StartEvent_1" targetRef="Task_2"/>
<bpmn2:sequenceFlow id="SequenceFlow_4" sourceRef="IntermediateCatchEvent_5000-20" targetRef="Task_5"/>
<bpmn2:sequenceFlow id="SequenceFlow_3" sourceRef="Task_2" targetRef="IntermediateCatchEvent_1"/>
<bpmn2:sequenceFlow id="SequenceFlow_5" sourceRef="IntermediateCatchEvent_1" targetRef="Task_5"/>
<bpmn2:association id="Association_2" sourceRef="DataObject_2" targetRef="Task_2"/>
<bpmn2:textAnnotation id="TextAnnotation_4">
<bpmn2:text>Liegt eine Logistik Leistung vor, wird ein Fachbereich ausgewählt</bpmn2:text>
</bpmn2:textAnnotation>
</bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_Process_1" bpmnElement="Collaboration_1">
<bpmndi:BPMNShape id="BPMNShape_Participant_1" bpmnElement="Participant_1" isHorizontal="true">
<dc:Bounds height="411.0" width="1351.0" x="50.0" y="50.0"/>
<dc:Bounds height="271.0" width="781.0" x="50.0" y="50.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_20" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="150.0" width="14.0" x="56.0" y="180.0"/>
<dc:Bounds height="150.0" width="14.0" x="56.0" y="110.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_Lane_1" bpmnElement="Lane_1" isHorizontal="true">
<dc:Bounds height="411.0" width="1321.0" x="80.0" y="50.0"/>
<dc:Bounds height="271.0" width="751.0" x="80.0" y="50.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_24" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="100.0" width="14.0" x="86.0" y="205.0"/>
<dc:Bounds height="100.0" width="14.0" x="86.0" y="135.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_StartEvent_1" bpmnElement="StartEvent_1">
@ -615,12 +264,6 @@ result.isValid=true;
<dc:Bounds height="14.0" width="25.0" x="124.0" y="223.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_2" bpmnElement="IntermediateCatchEvent_5000-20">
<dc:Bounds height="36.0" width="36.0" x="580.0" y="187.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_10" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="48.0" x="574.0" y="223.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_TextAnnotation_1">
<dc:Bounds height="73.0" width="131.0" x="130.0" y="581.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_30">
@ -639,74 +282,22 @@ result.isValid=true;
<dc:Bounds height="14.0" width="70.0" x="283.0" y="140.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_13" bpmnElement="IntermediateCatchEvent_13">
<dc:Bounds height="36.0" width="36.0" x="345.0" y="260.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_39" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="56.0" x="335.0" y="296.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_Task_11" bpmnElement="Task_5">
<dc:Bounds height="50.0" width="110.0" x="790.0" y="330.0"/>
<dc:Bounds height="50.0" width="110.0" x="560.0" y="180.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_109" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="42.0" x="824.0" y="348.0"/>
<dc:Bounds height="14.0" width="42.0" x="594.0" y="198.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_EndEvent_2" bpmnElement="EndEvent_2">
<dc:Bounds height="36.0" width="36.0" x="1062.0" y="337.0"/>
<dc:Bounds height="36.0" width="36.0" x="720.0" y="187.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_110" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="29.0" x="1065.0" y="373.0"/>
<dc:Bounds height="14.0" width="29.0" x="723.0" y="223.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_Task_8" bpmnElement="Task_8">
<dc:Bounds height="50.0" width="110.0" x="1120.0" y="180.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_71" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="48.0" x="1151.0" y="198.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_EndEvent_3" bpmnElement="EndEvent_3">
<dc:Bounds height="36.0" width="36.0" x="1290.0" y="187.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_72" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="29.0" x="1293.0" y="223.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_12" bpmnElement="IntermediateCatchEvent_7">
<dc:Bounds height="36.0" width="36.0" x="1027.0" y="187.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_104" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="51.0" x="1020.0" y="223.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_EventBasedGateway_1" bpmnElement="EventBasedGateway_1" isMarkerVisible="true">
<dc:Bounds height="50.0" width="50.0" x="467.0" y="180.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_106"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_22" bpmnElement="IntermediateCatchEvent_19">
<dc:Bounds height="36.0" width="36.0" x="554.0" y="97.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_125" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="47.0" x="549.0" y="133.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateThrowEvent_3" bpmnElement="IntermediateThrowEvent_3">
<dc:Bounds height="36.0" width="36.0" x="661.0" y="97.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_126" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="51.0" x="654.0" y="133.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_28" bpmnElement="IntermediateCatchEvent_23">
<dc:Bounds height="36.0" width="36.0" x="810.0" y="229.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_115" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="56.0" x="800.0" y="265.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_29" bpmnElement="IntermediateCatchEvent_24">
<dc:Bounds height="36.0" width="36.0" x="1157.0" y="110.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_131" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="56.0" x="1147.0" y="146.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_TextAnnotation_5" bpmnElement="TextAnnotation_4">
<dc:Bounds height="50.0" width="195.0" x="474.0" y="370.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_142">
<dc:Bounds height="44.0" width="183.0" x="480.0" y="370.0"/>
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_1" bpmnElement="IntermediateCatchEvent_1">
<dc:Bounds height="36.0" width="36.0" x="449.0" y="187.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_3">
<dc:Bounds height="14.0" width="48.0" x="443.0" y="223.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_Association_2" bpmnElement="Association_2" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_5">
@ -715,78 +306,29 @@ result.isValid=true;
<di:waypoint xsi:type="dc:Point" x="363.0" y="180.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_86"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_20" sourceElement="BPMNShape_IntermediateCatchEvent_13" targetElement="BPMNShape_Task_5">
<di:waypoint xsi:type="dc:Point" x="363.0" y="260.0"/>
<di:waypoint xsi:type="dc:Point" x="363.0" y="245.0"/>
<di:waypoint xsi:type="dc:Point" x="363.0" y="230.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_47"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_48" bpmnElement="SequenceFlow_47" sourceElement="BPMNShape_Task_11" targetElement="BPMNShape_EndEvent_2">
<di:waypoint xsi:type="dc:Point" x="900.0" y="355.0"/>
<di:waypoint xsi:type="dc:Point" x="981.0" y="355.0"/>
<di:waypoint xsi:type="dc:Point" x="1062.0" y="355.0"/>
<di:waypoint xsi:type="dc:Point" x="670.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="695.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="720.0" y="205.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_111"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_9" sourceElement="BPMNShape_Task_8" targetElement="BPMNShape_EndEvent_3">
<di:waypoint xsi:type="dc:Point" x="1230.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="1260.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="1290.0" y="205.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_73"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_17" sourceElement="BPMNShape_IntermediateCatchEvent_12" targetElement="BPMNShape_Task_8">
<di:waypoint xsi:type="dc:Point" x="1063.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="1091.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="1120.0" y="205.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_105"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_22" bpmnElement="SequenceFlow_22" sourceElement="BPMNShape_Task_5" targetElement="BPMNShape_EventBasedGateway_1">
<di:waypoint xsi:type="dc:Point" x="418.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="442.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="467.0" y="205.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_113"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_47" bpmnElement="SequenceFlow_46" sourceElement="BPMNShape_EventBasedGateway_1" targetElement="BPMNShape_IntermediateCatchEvent_2">
<di:waypoint xsi:type="dc:Point" x="517.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="548.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="580.0" y="205.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_124"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_49" bpmnElement="SequenceFlow_48" sourceElement="BPMNShape_IntermediateCatchEvent_22" targetElement="BPMNShape_IntermediateThrowEvent_3">
<di:waypoint xsi:type="dc:Point" x="590.0" y="115.0"/>
<di:waypoint xsi:type="dc:Point" x="625.0" y="115.0"/>
<di:waypoint xsi:type="dc:Point" x="661.0" y="115.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_127"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_50" bpmnElement="SequenceFlow_49" sourceElement="BPMNShape_EventBasedGateway_1" targetElement="BPMNShape_IntermediateCatchEvent_22">
<di:waypoint xsi:type="dc:Point" x="492.0" y="180.0"/>
<di:waypoint xsi:type="dc:Point" x="492.0" y="115.0"/>
<di:waypoint xsi:type="dc:Point" x="554.0" y="115.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_128"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_53" bpmnElement="SequenceFlow_52" sourceElement="BPMNShape_IntermediateCatchEvent_28" targetElement="BPMNShape_Task_11">
<di:waypoint xsi:type="dc:Point" x="828.0" y="265.0"/>
<di:waypoint xsi:type="dc:Point" x="828.0" y="297.0"/>
<di:waypoint xsi:type="dc:Point" x="826.0" y="297.0"/>
<di:waypoint xsi:type="dc:Point" x="826.0" y="330.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_130"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_61" bpmnElement="SequenceFlow_60" sourceElement="BPMNShape_IntermediateCatchEvent_29" targetElement="BPMNShape_Task_8">
<di:waypoint xsi:type="dc:Point" x="1175.0" y="146.0"/>
<di:waypoint xsi:type="dc:Point" x="1175.0" y="163.0"/>
<di:waypoint xsi:type="dc:Point" x="1175.0" y="180.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_134"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_1" sourceElement="BPMNShape_StartEvent_1" targetElement="BPMNShape_Task_5">
<di:waypoint xsi:type="dc:Point" x="155.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="231.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="308.0" y="205.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_2"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_4" sourceElement="BPMNShape_IntermediateCatchEvent_2" targetElement="BPMNShape_Task_11">
<di:waypoint xsi:type="dc:Point" x="598.0" y="223.0"/>
<di:waypoint xsi:type="dc:Point" x="598.0" y="355.0"/>
<di:waypoint xsi:type="dc:Point" x="790.0" y="355.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_8"/>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="BPMNShape_Task_5" targetElement="BPMNShape_IntermediateCatchEvent_1">
<di:waypoint xsi:type="dc:Point" x="418.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="433.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="449.0" y="205.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_5"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_5" sourceElement="BPMNShape_IntermediateCatchEvent_1" targetElement="BPMNShape_Task_11">
<di:waypoint xsi:type="dc:Point" x="485.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="522.0" y="205.0"/>
<di:waypoint xsi:type="dc:Point" x="560.0" y="205.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_6"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">