changes
This commit is contained in:
parent
017ef6a752
commit
90166229bd
8 changed files with 160 additions and 66 deletions
|
|
@ -64,8 +64,7 @@ public class BusinessPartnerController implements Serializable {
|
|||
|
||||
/**
|
||||
* WorkflowEvent listener to convert the IBAN child list embeded HashMaps into
|
||||
* ItemCollections and
|
||||
* reconvert them before processing
|
||||
* ItemCollections and reconvert them before processing
|
||||
*
|
||||
* @param workflowEvent
|
||||
* @throws AccessDeniedException
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ import org.imixs.workflow.exceptions.QueryException;
|
|||
import com.alexanderlogistics.InvoiceUtil;
|
||||
|
||||
import jakarta.ejb.Stateless;
|
||||
import jakarta.ejb.TransactionAttribute;
|
||||
import jakarta.ejb.TransactionAttributeType;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.Path;
|
||||
|
|
@ -86,9 +88,11 @@ public class MetricCreditorRestService {
|
|||
*
|
||||
* @throws QueryException
|
||||
* @throws InterruptedException
|
||||
* @throws PluginException
|
||||
*
|
||||
*/
|
||||
public void computeMetrics(StringBuffer messageBuffer) throws QueryException, InterruptedException {
|
||||
public void computeMetrics(StringBuffer messageBuffer)
|
||||
throws QueryException, InterruptedException, PluginException {
|
||||
long l = System.currentTimeMillis();
|
||||
int batchSize = 500;
|
||||
int totalInvoices = 0;
|
||||
|
|
@ -105,20 +109,24 @@ public class MetricCreditorRestService {
|
|||
|
||||
// Verarbeite Page für Page
|
||||
for (int pageIndex = 0; pageIndex < totalPages; pageIndex++) {
|
||||
List<ItemCollection> invoices = documentService.find(query, batchSize, pageIndex);
|
||||
|
||||
for (ItemCollection invoice : invoices) {
|
||||
try {
|
||||
ItemCollection metricData = metricCreditorService.getMetricByInvoice(invoice);
|
||||
// Jetzt Rechnung addieren
|
||||
metricCreditorService.addInvoice(metricData, invoice);
|
||||
logger.fine("│ │ │ ├── update metric " + InvoiceUtil.getBPId(invoice));
|
||||
metricCreditorService.updateMetric(metricData, true);
|
||||
totalInvoices++;
|
||||
} catch (PluginException e) {
|
||||
// invalid invoice - e.g. no dbtr. number
|
||||
}
|
||||
}
|
||||
totalInvoices = totalInvoices + computeInvoiceMetrics(query, batchSize, pageIndex);
|
||||
// List<ItemCollection> invoices = documentService.find(query, batchSize,
|
||||
// pageIndex);
|
||||
|
||||
// for (ItemCollection invoice : invoices) {
|
||||
// try {
|
||||
// ItemCollection metricData =
|
||||
// metricCreditorService.getMetricByInvoice(invoice);
|
||||
// // Jetzt Rechnung addieren
|
||||
// metricCreditorService.addInvoice(metricData, invoice);
|
||||
// logger.fine("│ │ │ ├── update metric " + InvoiceUtil.getBPId(invoice));
|
||||
// metricCreditorService.updateMetric(metricData, true);
|
||||
// totalInvoices++;
|
||||
// } catch (PluginException e) {
|
||||
// // invalid invoice - e.g. no dbtr. number
|
||||
// }
|
||||
// }
|
||||
|
||||
// Fortschritt loggen
|
||||
log("│ │ ├── Processed page " + (pageIndex + 1) + " of " + totalPages +
|
||||
|
|
@ -135,6 +143,37 @@ public class MetricCreditorRestService {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method runs in new transaction
|
||||
*
|
||||
* @param query
|
||||
* @param batchSize
|
||||
* @param pageIndex
|
||||
* @throws PluginException
|
||||
* @throws QueryException
|
||||
*/
|
||||
@TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW)
|
||||
public int computeInvoiceMetrics(String query, int batchSize, int pageIndex)
|
||||
throws PluginException, QueryException {
|
||||
|
||||
int updates = 0;
|
||||
List<ItemCollection> invoices = documentService.find(query, batchSize, pageIndex);
|
||||
|
||||
for (ItemCollection invoice : invoices) {
|
||||
try {
|
||||
ItemCollection metricData = metricCreditorService.getMetricByInvoice(invoice);
|
||||
// Jetzt Rechnung addieren
|
||||
metricCreditorService.addInvoice(metricData, invoice);
|
||||
logger.fine("│ │ │ ├── update metric " + InvoiceUtil.getBPId(invoice));
|
||||
metricCreditorService.updateMetric(metricData, true);
|
||||
updates++;
|
||||
} catch (PluginException e) {
|
||||
// invalid invoice - e.g. no dbtr. number
|
||||
}
|
||||
}
|
||||
return updates;
|
||||
}
|
||||
|
||||
private void log(String message, StringBuffer messageLog) {
|
||||
logger.info(message);
|
||||
messageLog.append(message + "\n");
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import org.eclipse.microprofile.metrics.Metadata;
|
|||
import org.eclipse.microprofile.metrics.MetricRegistry;
|
||||
import org.eclipse.microprofile.metrics.Tag;
|
||||
import org.eclipse.microprofile.metrics.annotation.RegistryScope;
|
||||
import org.imixs.archive.core.SnapshotService;
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.engine.DocumentService;
|
||||
import org.imixs.workflow.engine.ProcessingEvent;
|
||||
|
|
@ -24,6 +25,7 @@ import com.alexanderlogistics.KreditorDebitorService;
|
|||
import jakarta.annotation.security.DeclareRoles;
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
import jakarta.annotation.security.RunAs;
|
||||
import jakarta.ejb.Singleton;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.enterprise.event.Observes;
|
||||
import jakarta.inject.Inject;
|
||||
|
|
@ -50,6 +52,7 @@ import jakarta.inject.Inject;
|
|||
"org.imixs.ACCESSLEVEL.AUTHORACCESS", "org.imixs.ACCESSLEVEL.EDITORACCESS",
|
||||
"org.imixs.ACCESSLEVEL.MANAGERACCESS" })
|
||||
@RunAs("org.imixs.ACCESSLEVEL.MANAGERACCESS")
|
||||
@Singleton
|
||||
@ApplicationScoped
|
||||
public class MetricCreditorService {
|
||||
|
||||
|
|
@ -265,6 +268,7 @@ public class MetricCreditorService {
|
|||
ItemCollection metricData = new ItemCollection();
|
||||
metricData.setType(TYPE_METRIC_CREDITOR);
|
||||
metricData.setItemValue("name", key);
|
||||
metricData.setItemValue(SnapshotService.NOSNAPSHOT, true);
|
||||
metricData.setItemValue("bp.id", InvoiceUtil.getBPId(invoice));
|
||||
metricData.setItemValue("bp.name", InvoiceUtil.getBPName(invoice));
|
||||
metricData.setItemValue("country", invoice.getItemValueString("invoice.country"));
|
||||
|
|
@ -289,6 +293,7 @@ public class MetricCreditorService {
|
|||
|
||||
// In Datenbank persistieren
|
||||
if (persist) {
|
||||
metricData.setItemValue(SnapshotService.NOSNAPSHOT, true);
|
||||
documentService.save(metricData);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ import org.imixs.workflow.exceptions.QueryException;
|
|||
import com.alexanderlogistics.InvoiceUtil;
|
||||
|
||||
import jakarta.ejb.Stateless;
|
||||
import jakarta.ejb.TransactionAttribute;
|
||||
import jakarta.ejb.TransactionAttributeType;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.Path;
|
||||
|
|
@ -87,9 +89,11 @@ public class MetricDebitorRestService {
|
|||
*
|
||||
* @throws QueryException
|
||||
* @throws InterruptedException
|
||||
* @throws PluginException
|
||||
*
|
||||
*/
|
||||
public void computeMetrics(StringBuffer messageBuffer) throws QueryException, InterruptedException {
|
||||
public void computeMetrics(StringBuffer messageBuffer)
|
||||
throws QueryException, InterruptedException, PluginException {
|
||||
long l = System.currentTimeMillis();
|
||||
int batchSize = 500;
|
||||
int totalInvoices = 0;
|
||||
|
|
@ -105,20 +109,22 @@ public class MetricDebitorRestService {
|
|||
|
||||
// Verarbeite Page für Page
|
||||
for (int pageIndex = 0; pageIndex < totalPages; pageIndex++) {
|
||||
List<ItemCollection> invoices = documentService.find(query, batchSize, pageIndex);
|
||||
totalInvoices = totalInvoices + computeInvoiceMetrics(query, batchSize, pageIndex);
|
||||
// List<ItemCollection> invoices = documentService.find(query, batchSize,
|
||||
// pageIndex);
|
||||
|
||||
for (ItemCollection invoice : invoices) {
|
||||
try {
|
||||
ItemCollection metricData = metricDebitorService.getMetricByInvoice(invoice);
|
||||
// Jetzt Rechnung addieren
|
||||
metricDebitorService.addInvoice(metricData, invoice);
|
||||
logger.fine("│ │ │ ├── update metric " + InvoiceUtil.getBPId(invoice));
|
||||
metricDebitorService.updateMetric(metricData, true);
|
||||
totalInvoices++;
|
||||
} catch (PluginException e) {
|
||||
// invalid invoice - e.g. no dbtr. number
|
||||
}
|
||||
}
|
||||
// for (ItemCollection invoice : invoices) {
|
||||
// try {
|
||||
// ItemCollection metricData = metricDebitorService.getMetricByInvoice(invoice);
|
||||
// // Jetzt Rechnung addieren
|
||||
// metricDebitorService.addInvoice(metricData, invoice);
|
||||
// logger.fine("│ │ │ ├── update metric " + InvoiceUtil.getBPId(invoice));
|
||||
// metricDebitorService.updateMetric(metricData, true);
|
||||
// totalInvoices++;
|
||||
// } catch (PluginException e) {
|
||||
// // invalid invoice - e.g. no dbtr. number
|
||||
// }
|
||||
// }
|
||||
|
||||
// Fortschritt loggen
|
||||
log("│ │ ├── Processed page " + (pageIndex + 1) + " of " + totalPages +
|
||||
|
|
@ -135,6 +141,37 @@ public class MetricDebitorRestService {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method runs in new transaction
|
||||
*
|
||||
* @param query
|
||||
* @param batchSize
|
||||
* @param pageIndex
|
||||
* @throws PluginException
|
||||
* @throws QueryException
|
||||
*/
|
||||
@TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW)
|
||||
public int computeInvoiceMetrics(String query, int batchSize, int pageIndex)
|
||||
throws PluginException, QueryException {
|
||||
|
||||
int updates = 0;
|
||||
List<ItemCollection> invoices = documentService.find(query, batchSize, pageIndex);
|
||||
|
||||
for (ItemCollection invoice : invoices) {
|
||||
try {
|
||||
ItemCollection metricData = metricDebitorService.getMetricByInvoice(invoice);
|
||||
// Jetzt Rechnung addieren
|
||||
metricDebitorService.addInvoice(metricData, invoice);
|
||||
logger.fine("│ │ │ ├── update metric " + InvoiceUtil.getBPId(invoice));
|
||||
metricDebitorService.updateMetric(metricData, true);
|
||||
updates++;
|
||||
} catch (PluginException e) {
|
||||
// invalid invoice - e.g. no dbtr. number
|
||||
}
|
||||
}
|
||||
return updates;
|
||||
}
|
||||
|
||||
private void log(String message, StringBuffer messageLog) {
|
||||
logger.info(message);
|
||||
messageLog.append(message + "\n");
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import org.eclipse.microprofile.metrics.Metadata;
|
|||
import org.eclipse.microprofile.metrics.MetricRegistry;
|
||||
import org.eclipse.microprofile.metrics.Tag;
|
||||
import org.eclipse.microprofile.metrics.annotation.RegistryScope;
|
||||
import org.imixs.archive.core.SnapshotService;
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.engine.DocumentService;
|
||||
import org.imixs.workflow.engine.ProcessingEvent;
|
||||
|
|
@ -23,6 +24,7 @@ import com.alexanderlogistics.InvoiceUtil;
|
|||
import jakarta.annotation.security.DeclareRoles;
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
import jakarta.annotation.security.RunAs;
|
||||
import jakarta.ejb.Singleton;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.enterprise.event.Observes;
|
||||
import jakarta.inject.Inject;
|
||||
|
|
@ -46,6 +48,7 @@ import jakarta.inject.Inject;
|
|||
"org.imixs.ACCESSLEVEL.AUTHORACCESS", "org.imixs.ACCESSLEVEL.EDITORACCESS",
|
||||
"org.imixs.ACCESSLEVEL.MANAGERACCESS" })
|
||||
@RunAs("org.imixs.ACCESSLEVEL.MANAGERACCESS")
|
||||
@Singleton
|
||||
@ApplicationScoped
|
||||
public class MetricDebitorService {
|
||||
|
||||
|
|
@ -257,6 +260,7 @@ public class MetricDebitorService {
|
|||
ItemCollection metricData = new ItemCollection();
|
||||
metricData.setType(TYPE_METRIC_DEBITOR);
|
||||
metricData.setItemValue("name", key);
|
||||
metricData.setItemValue(SnapshotService.NOSNAPSHOT, true);
|
||||
metricData.setItemValue("bp.id", InvoiceUtil.getBPId(invoice));
|
||||
metricData.setItemValue("bp.name", InvoiceUtil.getBPName(invoice));
|
||||
metricData.setItemValue("country", invoice.getItemValueString("invoice.country"));
|
||||
|
|
@ -281,6 +285,7 @@ public class MetricDebitorService {
|
|||
|
||||
// In Datenbank persistieren
|
||||
if (persist) {
|
||||
metricData.setItemValue(SnapshotService.NOSNAPSHOT, true);
|
||||
documentService.save(metricData);
|
||||
}
|
||||
|
||||
|
|
@ -374,16 +379,4 @@ public class MetricDebitorService {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper Method that refreshes all gauges. The method is called by the
|
||||
* RestService during a rebuild.
|
||||
*/
|
||||
// public void refreshGauges() {
|
||||
// List<String> keys = getMetricKeys();
|
||||
// for (String hashKey : keys) {
|
||||
// ItemCollection metricData = getMetric(hashKey);
|
||||
// updateMetric(metricData, false);
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
|
|
@ -31,6 +31,7 @@ package com.alexanderlogistics.xml;
|
|||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.imixs.archive.core.SnapshotService;
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.engine.DocumentEvent;
|
||||
import org.imixs.workflow.engine.DocumentService;
|
||||
|
|
@ -44,6 +45,9 @@ import org.imixs.workflow.exceptions.QueryException;
|
|||
|
||||
import com.alexanderlogistics.InvoiceUtil;
|
||||
|
||||
import jakarta.annotation.security.DeclareRoles;
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
import jakarta.annotation.security.RunAs;
|
||||
import jakarta.ejb.EJB;
|
||||
import jakarta.ejb.Stateless;
|
||||
import jakarta.enterprise.event.Observes;
|
||||
|
|
@ -56,10 +60,19 @@ import jakarta.enterprise.event.Observes;
|
|||
* ein und prüft ob der Workflow schon existiert oder ggf. aktualisiert werden
|
||||
* muss.
|
||||
*
|
||||
* The service set also the flag NOSNAPSHOT=true for the crgosoftcreditor
|
||||
* document type.
|
||||
*
|
||||
* @author rsoika
|
||||
*
|
||||
*/
|
||||
@DeclareRoles({ "org.imixs.ACCESSLEVEL.NOACCESS", "org.imixs.ACCESSLEVEL.READERACCESS",
|
||||
"org.imixs.ACCESSLEVEL.AUTHORACCESS", "org.imixs.ACCESSLEVEL.EDITORACCESS",
|
||||
"org.imixs.ACCESSLEVEL.MANAGERACCESS" })
|
||||
@RolesAllowed({ "org.imixs.ACCESSLEVEL.NOACCESS", "org.imixs.ACCESSLEVEL.READERACCESS",
|
||||
"org.imixs.ACCESSLEVEL.AUTHORACCESS", "org.imixs.ACCESSLEVEL.EDITORACCESS",
|
||||
"org.imixs.ACCESSLEVEL.MANAGERACCESS" })
|
||||
@RunAs("org.imixs.ACCESSLEVEL.MANAGERACCESS")
|
||||
@Stateless
|
||||
public class BusinessPartnerImportService {
|
||||
|
||||
|
|
@ -92,8 +105,16 @@ public class BusinessPartnerImportService {
|
|||
if (event.getEventType() == DocumentEvent.ON_DOCUMENT_SAVE) {
|
||||
// check type!
|
||||
if ("cargosoftkreditor".equals(event.getDocument().getType())) {
|
||||
logger.info("Verify business partner object....");
|
||||
// set NOSNAPSHOT=true
|
||||
event.getDocument().setItemValue(SnapshotService.NOSNAPSHOT, true);
|
||||
|
||||
// run only if we have the model 'businesspartner-*';
|
||||
if (modelService.findVersionsByRegEx("(businesspartner*)").size() == 0) {
|
||||
// no business partner workflow found
|
||||
return;
|
||||
}
|
||||
|
||||
logger.info("Verify business partner object....");
|
||||
ItemCollection importDoc = event.getDocument();
|
||||
|
||||
String name = event.getDocument().getItemValueString("name");
|
||||
|
|
|
|||
|
|
@ -1291,7 +1291,7 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht</bpmn2:text>
|
|||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[1]]></imixs:value>
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keylogdateformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
|
|
@ -1404,7 +1404,7 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht</bpmn2:text>
|
|||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[1]]></imixs:value>
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keylogdateformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
|
|
|
|||
|
|
@ -54,10 +54,10 @@
|
|||
</bpmn2:participant>
|
||||
<bpmn2:participant id="Participant_2" name="SEPA-Export Pool" processRef="eingangsrechnung-de"/>
|
||||
</bpmn2:collaboration>
|
||||
<bpmn2:process id="eingangsrechnung-de" isExecutable="false" name="SEPA-Export">
|
||||
<bpmn2:process id="eingangsrechnung-de" isExecutable="false" name="SEPA-Export" processType="Public">
|
||||
<bpmn2:documentation id="documentation_FFzgqw"/>
|
||||
</bpmn2:process>
|
||||
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="SEPA-Export">
|
||||
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="SEPA-Export" processType="Private">
|
||||
<bpmn2:laneSet id="LaneSet_1" name="Lane Set 1">
|
||||
<bpmn2:lane id="Lane_1" name="Buchhaltung">
|
||||
<bpmn2:flowNodeRef>IntermediateCatchEvent_6</bpmn2:flowNodeRef>
|
||||
|
|
@ -800,7 +800,7 @@ result.isValid=true;
|
|||
<bpmn2:sequenceFlow id="sequenceFlow_nyv4vw" sourceRef="gateway_WuKeqQ" targetRef="IntermediateCatchEvent_7">
|
||||
<bpmn2:documentation id="documentation_RRr33A"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:intermediateCatchEvent id="event_y4hmYg" imixs:activityid="90" name="[automatic 15min]">
|
||||
<bpmn2:intermediateCatchEvent id="event_y4hmYg" imixs:activityid="90" name="[automatic 1min]">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
|
|
@ -859,7 +859,7 @@ result.isValid=true;
|
|||
<imixs:value><![CDATA[3]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="numactivitydelay" type="xs:string">
|
||||
<imixs:value><![CDATA[15]]></imixs:value>
|
||||
<imixs:value><![CDATA[1]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyactivitydelayunit" type="xs:string">
|
||||
<imixs:value><![CDATA[1]]></imixs:value>
|
||||
|
|
@ -1012,7 +1012,7 @@ result.isValid=true;
|
|||
<bpmndi:BPMNShape bpmnElement="ExclusiveGateway_1" id="BPMNShape_ExclusiveGateway_1" isMarkerVisible="true">
|
||||
<dc:Bounds height="50.0" width="50.0" x="720.0" y="410.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_34" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="20.0" width="100.0" x="690.0" y="450.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="695.0" y="463.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="TextAnnotation_2" id="BPMNShape_TextAnnotation_2">
|
||||
|
|
@ -1073,7 +1073,7 @@ result.isValid=true;
|
|||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_7" id="BPMNEdge_SequenceFlow_7" sourceElement="BPMNShape_IntermediateCatchEvent_1" targetElement="BPMNShape_Task_7">
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_18"/>
|
||||
<di:waypoint x="572.0" y="498.416876048223"/>
|
||||
<di:waypoint x="572.0" y="498.0"/>
|
||||
<di:waypoint x="572.0" y="479.0"/>
|
||||
<di:waypoint x="617.0" y="479.0"/>
|
||||
<di:waypoint x="617.0" y="460.0"/>
|
||||
|
|
@ -1106,7 +1106,7 @@ result.isValid=true;
|
|||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_8" id="BPMNEdge_SequenceFlow_8" sourceElement="BPMNShape_IntermediateCatchEvent_3" targetElement="BPMNShape_Task_7">
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_22"/>
|
||||
<di:waypoint x="670.0" y="497.7083835342094"/>
|
||||
<di:waypoint x="670.0" y="498.0"/>
|
||||
<di:waypoint x="670.0" y="479.0"/>
|
||||
<di:waypoint x="617.0" y="479.0"/>
|
||||
<di:waypoint x="617.0" y="460.0"/>
|
||||
|
|
@ -1140,9 +1140,9 @@ result.isValid=true;
|
|||
<bpmndi:BPMNEdge bpmnElement="Association_2" id="BPMNEdge_Association_2" sourceElement="BPMNShape_TextAnnotation_3" targetElement="BPMNShape_IntermediateCatchEvent_2">
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_11"/>
|
||||
<di:waypoint x="932.0" y="304.0"/>
|
||||
<di:waypoint x="932.0" y="363.5"/>
|
||||
<di:waypoint x="845.0" y="363.5"/>
|
||||
<di:waypoint x="845.0" y="417.25176065070116"/>
|
||||
<di:waypoint x="932.0" y="364.0"/>
|
||||
<di:waypoint x="845.0" y="364.0"/>
|
||||
<di:waypoint x="845.0" y="417.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_11" id="BPMNEdge_SequenceFlow_11" sourceElement="BPMNShape_IntermediateCatchEvent_4" targetElement="BPMNShape_Task_1">
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_17"/>
|
||||
|
|
@ -1158,21 +1158,21 @@ result.isValid=true;
|
|||
<dc:Bounds height="50.0" width="175.0" x="1200.0" y="250.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="association_bYlYaQ" id="BPMNEdge_yt4O0Q" sourceElement="BPMNShape_60CxWw" targetElement="BPMNShape_IntermediateCatchEvent_18">
|
||||
<di:waypoint x="1287.5" y="300.0"/>
|
||||
<di:waypoint x="1287.5" y="358.5"/>
|
||||
<di:waypoint x="1235.0" y="358.5"/>
|
||||
<di:waypoint x="1288.0" y="300.0"/>
|
||||
<di:waypoint x="1288.0" y="359.0"/>
|
||||
<di:waypoint x="1235.0" y="359.0"/>
|
||||
<di:waypoint x="1235.0" y="417.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="gateway_WuKeqQ" id="BPMNShape_AIK9sA">
|
||||
<dc:Bounds height="50.0" width="50.0" x="1080.0" y="540.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_sirngw">
|
||||
<dc:Bounds height="20.0" width="100.0" x="1052.0" y="590.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="1055.0" y="593.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="gateway_6FAj9g" id="BPMNShape_Lgiawg">
|
||||
<dc:Bounds height="50.0" width="50.0" x="1080.0" y="410.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_he95hQ">
|
||||
<dc:Bounds height="20.0" width="100.0" x="1050.0" y="464.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="1055.0" y="463.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_rhKXDQ" id="BPMNEdge_14t8lw" sourceElement="BPMNShape_Lgiawg" targetElement="BPMNShape_IntermediateCatchEvent_18">
|
||||
|
|
@ -1188,19 +1188,19 @@ result.isValid=true;
|
|||
<di:waypoint x="1217.0" y="565.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="event_y4hmYg" id="BPMNShape_BtOh7A">
|
||||
<dc:Bounds height="36.0" width="36.0" x="727.0" y="327.0"/>
|
||||
<dc:Bounds height="36.0" width="36.0" x="727.0" y="317.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_a0n0xA">
|
||||
<dc:Bounds height="20.0" width="100.0" x="697.0" y="364.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="698.0" y="287.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_0QFTlw" id="BPMNEdge_iWGl5g" sourceElement="BPMNShape_ExclusiveGateway_1" targetElement="BPMNShape_BtOh7A">
|
||||
<di:waypoint x="745.0" y="410.0"/>
|
||||
<di:waypoint x="745.0" y="363.0"/>
|
||||
<di:waypoint x="745.0" y="353.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_ePZrvQ" id="BPMNEdge_hQ0KPA" sourceElement="BPMNShape_BtOh7A" targetElement="BPMNShape_IntermediateCatchEvent_2">
|
||||
<di:waypoint x="763.0" y="345.0"/>
|
||||
<di:waypoint x="836.0" y="345.0"/>
|
||||
<di:waypoint x="836.0" y="421.58359213500125"/>
|
||||
<di:waypoint x="760.0" y="345.0"/>
|
||||
<di:waypoint x="835.0" y="345.0"/>
|
||||
<di:waypoint x="835.0" y="423.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="association_MJWNtQ" id="BPMNEdge_0VTopA" sourceElement="BPMNShape_TextAnnotation_1" targetElement="BPMNShape_IntermediateCatchEvent_1">
|
||||
<di:waypoint x="505.0" y="525.0"/>
|
||||
|
|
|
|||
Loading…
Reference in a new issue