+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
- <process id="prociXbus" name="Transmission d'actes à iXbus" isExecutable="true">
- <startEvent id="startiXbus" name="Démarrage workflow iXbus">
- <extensionElements>
- <activiti:formProperty id="url" name="Url document à envoyer" type="string" required="true"></activiti:formProperty>
- <activiti:formProperty id="refDossier" name="Référence dossier archivage Alfresco" type="string" required="true"></activiti:formProperty>
- <activiti:formProperty id="typeGed" name="Type Alfresco" type="string" required="true"></activiti:formProperty>
- <activiti:formProperty id="actID" name="ID de l'envoi pour le document XML d'accompagnement" type="string" required="true"></activiti:formProperty>
- <activiti:formProperty id="actNature" name="Nature de l'acte" type="string" required="true"></activiti:formProperty>
- <activiti:formProperty id="matiere" name="Nomenclature envoi TDT" type="string" required="true"></activiti:formProperty>
- <activiti:formProperty id="subject" name="Sujet de l'envoi pour le document XML d'accompagnement" type="string" required="true"></activiti:formProperty>
- </extensionElements>
- </startEvent>
- <scriptTask id="scriptEnvoyer" name="Envoi vers iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
- <script>logger.debug("scriptEnvoyer IN");
-var lst = java.util.ArrayList();
-var xmlAtt = utils.createXmlAttachment(actID, actNature, matiere, subject);
-xmlAtt.setName(utils.replaceFileExtension(uniqueFileName, ".xml"));
-pjAttachment.setName(utils.replaceFileExtension(uniqueFileName, ".pj"));
-lst.add(xmlAtt);
-lst.add(pjAttachment);
-logger.debug("-> fichier n° 1 : " + xmlAtt.getName());
-logger.debug("-> fichier n° 2 : " + pjAttachment.getName());
-//TODO enregistrement suivant à enlever
-utils.saveAttachment(xmlAtt);
-//TODO enregistrement suivant à enlever
-utils.saveAttachment(pjAttachment);
-ixbus.envoyer(lst);
-execution.setVariable("xmlAttachment", xmlAtt);
-execution.setVariable("dateEnvoi", new java.util.GregorianCalendar());
-logger.debug("scriptEnvoyer OUT");
- </script>
- </scriptTask>
- <endEvent id="endeventiXbus" name="Fin workflow iXbus"></endEvent>
- <scriptTask id="scriptRecevoirAck" name="Reception AR iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
- <script>logger.debug("scriptRecevoirAck IN");
-logger.debug("Reception AR fichier " + xmlAttachment.getName());
-ixbus.setUp();
-execution.setVariable("ack", ixbus.recevoirAck(xmlAttachment.getName()));
-if (ack.isRecu()) {
- logger.debug("Reception AR OK");
-} else {
- logger.debug("AR ou anomalie non disponible");
-}
-logger.debug("scriptRecevoirAck OUT");
-</script>
- </scriptTask>
- <sequenceFlow id="flowEnd" name="AR disponible" sourceRef="scriptRecevoirAck" targetRef="scriptVisuelReception">
- <conditionExpression xsi:type="tFormalExpression"><![CDATA[${ack.isRecu()}]]></conditionExpression>
- </sequenceFlow>
- <scriptTask id="scriptTest" name="Test connexion iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
- <script>logger.debug("scriptTest IN");
-ixbus.setUp();
-ixbus.test();
-logger.debug("scriptTest OUT");</script>
- </scriptTask>
- <sequenceFlow id="flow10" sourceRef="scriptTest" targetRef="scriptEnvoyer"></sequenceFlow>
- <scriptTask id="scriptGetCmisDocument" name="Chargement document CMIS" scriptFormat="javascript" activiti:autoStoreVariables="false">
- <script>logger.debug("scriptGetCmisDocument IN");
-logger.debug("Chargement document CMIS " + url);
-serviceCMIS.createSession();
-var doc = serviceCMIS.getDocument(url);
-//Si le document a l'aspect "archiveRm", il est possible d'envoyer l'original en module RM au TdT ou bien le visuel PDF
-if(doc.hasAspect("P:mbdx:archiveRm") && typeGed == "delib" && serviceDelib.isSendOriginalToTDT()) {
- var refArchiveRmString = doc.getProperty("mbdx:refArchiveRmString").getValue();
- doc = serviceCMIS.getDocument(refArchiveRmString);
-}
-var contentStream = doc.getContentStream();
-execution.setVariable("mimetype", contentStream.getMimeType());
-execution.setVariable("filename", contentStream.getFileName());
-var tempFileName = utils.getUniqueFileName(filename);
-var xmlFilename = utils.replaceFileExtension(tempFileName, ".xml")
-execution.setVariable("uniqueFileName", xmlFilename);
-logger.debug("Création pièce jointe " + tempFileName);
-
-//Flux Permis : on envoie tout le dossier d'urbanisme
-if (typeGed.equals("arrete")) {
- var folder = serviceCMIS.getFolder(refDossier);
- var list = serviceCMIS.getFilesRecursively(folder);
- execution.setVariable("pjAttachment", serviceUrbanisme.createPjFromList(list, doc));
- execution.setVariable("content", serviceCMIS.getContent(doc));
-
- var folderProp = new java.util.HashMap();
- folderProp.put("mbdx:dateEnvoiLegalite", new java.util.GregorianCalendar());
- folderProp.put("mbdx:dateRetourLegalite", null);
- folderProp.put("mbdx:idRetourLegalite", null);
- folderProp.put("mbdx:statutControleLegalite", "En cours");
- serviceCMIS.updateProperties(folder, folderProp);
-
-//Flux générique : on n'envoie que le document principal
-} else {
- var inputStream = contentStream.getStream();
- execution.setVariable("pjAttachment", utils.createPjFromStream(inputStream, tempFileName));
-}
-execution.setVariable("docId", url);
-logger.debug("Pièce jointe OK");
-
-//Si le document n'a pas l'aspect "mbdx:accuseReceptionTdT", on l'ajoute...
-if(!doc.hasAspect("P:mbdx:accuseReceptionTdT")) {
-
- // ... on positionne les métadonnées statut, date d'envoi et id du doc transmis.
- var prop = new java.util.HashMap();
- prop.put("mbdx:statutTDT", "En cours");
- prop.put("mbdx:dateEnvoi", new java.util.GregorianCalendar());
- prop.put("mbdx:idDocTransmis", actID);
- doc.addAspect("P:mbdx:accuseReceptionTdT", prop);
-
- logger.debug("Document CMIS en cours d'envoi au TdT");
-}
-logger.info("scriptGetCmisDocument OUT");
-</script>
- </scriptTask>
- <exclusiveGateway id="exclusivegateway2" name="Branchement type de flux d'entrée"></exclusiveGateway>
- <scriptTask id="scriptLoadHttpUrl" name="Téléchargement fichier HTTP" scriptFormat="javascript" activiti:autoStoreVariables="false">
- <script>logger.debug("scriptLoadHttpUrl IN");
-logger.debug("Chargement fichier à partir de l'url " + url);
-var conn = utils.openConnection(url);
-execution.setVariable("mimetype", conn.getContentType());
-var inputStream = conn.getInputStream();
-execution.setVariable("filename", utils.getFileName(conn));
-execution.setVariable("uniqueFileName", utils.getUniqueFileName(filename));
-logger.debug("Création pièce jointe " + uniqueFileName);
-execution.setVariable("pjAttachment", utils.createPjFromStream(inputStream, uniqueFileName));
-logger.debug("scriptLoadHttpUrl OUT");</script>
- </scriptTask>
- <scriptTask id="scriptLoadFile" name="Chargement fichier réseau" scriptFormat="javascript" activiti:autoStoreVariables="false">
- <script>logger.debug("scriptLoadFile IN");
-logger.debug("Chargement fichier à l'emplacement " + url);
-var file = new java.io.File(url);
-execution.setVariable("mimetype", utils.getContentType(file));
-execution.setVariable("filename", file.getName());
-execution.setVariable("uniqueFileName", utils.getUniqueFileName(filename));
-logger.info("Création pièce jointe " + uniqueFileName);
-execution.setVariable("pjAttachment", utils.createPjFromFile(file, uniqueFileName));
-logger.debug("scriptLoadFile OUT");</script>
- </scriptTask>
- <sequenceFlow id="flow13" sourceRef="exclusivegateway2" targetRef="scriptGetCmisDocument">
- <conditionExpression xsi:type="tFormalExpression"><![CDATA[${url.startsWith("workspace://SpacesStore/")}]]></conditionExpression>
- </sequenceFlow>
- <sequenceFlow id="flow14" sourceRef="exclusivegateway2" targetRef="scriptLoadHttpUrl">
- <conditionExpression xsi:type="tFormalExpression"><![CDATA[${url.startsWith("http://")}]]></conditionExpression>
- </sequenceFlow>
- <sequenceFlow id="flow15" sourceRef="exclusivegateway2" targetRef="scriptLoadFile"></sequenceFlow>
- <intermediateCatchEvent id="timerRecevoirAck" name="Timer d'interrogation iXbus">
- <timerEventDefinition>
- <timeDuration>PT30S</timeDuration>
- </timerEventDefinition>
- </intermediateCatchEvent>
- <sequenceFlow id="flow19" sourceRef="scriptEnvoyer" targetRef="scriptVisuelEnvoi"></sequenceFlow>
- <sequenceFlow id="flowRecevoirAck" sourceRef="timerRecevoirAck" targetRef="scriptRecevoirAck"></sequenceFlow>
- <sequenceFlow id="flowTimerRecevoirAck" name="AR non disponible" sourceRef="scriptRecevoirAck" targetRef="timerRecevoirAck">
- <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!ack.isRecu()}]]></conditionExpression>
- </sequenceFlow>
- <scriptTask id="scriptArchiveAR" name="Archivage AR iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
- <script>logger.debug("scriptArchiveAR IN");
-logger.debug("Archivage AR iXbus dans le dossier Alfresco " + refDossier);
-//TODO enregistrement suivant à enlever (uniquement destiné au débogage)
-utils.saveAttachment(ack.getAttachment());
-serviceCMIS.createSession();
-if (typeof docId === "undefined") {
- var folder = serviceCMIS.getFolder(refDossier);
- var content = utils.unzipAttachment(pjAttachment);
- var doc = serviceCMIS.createDocument(folder, filename, content, mimetype);
- var docId = doc.getId();
-} else {
- var doc = serviceCMIS.getDocument(docId);
- //L'A/R est enregistré dans le même dossier que le document principal
- var folder = doc.getParents().get(0);
-}
-var name = utils.replaceFileExtension(filename, ".xml");
-var statut = ack.getStatut().value();
-if (statut == "ACK") {
- name = "AR TdT " + name;
- var statutTDT = "Accusé de réception reçu";
-} else {
- name = "Anomalie TdT " + name;
- var statutTDT = "Anomalie";
-}
-var ackContent = utils.removeZeroBytes(ack.getAttachment().getContent());
-var prop = new java.util.HashMap();
-prop.put("cmis:objectTypeId", "D:mbdx:documentMDB,P:mbdx:accuseReceptionTdT,P:mbdx:statutAspect,P:mbdx:ducGed");
-prop.put("cmis:name", name);
-var docAR = serviceCMIS.createDocument(folder, name, ackContent, "text/xml", prop);
-logger.debug("AR TdT enregistré");
-
-//Appel du webscript se chargeant d'enregistrer les métadonnées de retour TdT
-var req = "/wcs/fr/mbdx/noyau/tdt/retourTdt";
-var param = new java.util.HashMap();
-param.put("refDocPrincipal", doc.getId());
-param.put("refDossier", refDossier);
-param.put("refAccuseReception", docAR.getId());
-param.put("idRetourLegalite", idRetour);
-var result = serviceRestAlfresco.get(req, param);
-if (result != null) {
- logger.debug("Les métadonnées de retour TdT ont bien été mises à jour.");
-} else {
- logger.error("Une erreur a eu lieu au cours de l'enregistrement des métadonnées de retour TdT.");
-}
-
-logger.debug("scriptArchiveAR OUT");</script>
- </scriptTask>
- <sequenceFlow id="flow20" sourceRef="scriptArchiveAR" targetRef="endeventiXbus"></sequenceFlow>
- <sequenceFlow id="flow21" sourceRef="startiXbus" targetRef="timerintermediatecatchevent1"></sequenceFlow>
- <scriptTask id="scriptVisuelEnvoi" name="Mise à jour visuel PDF suite à l'envoi" scriptFormat="javascript" activiti:autoStoreVariables="false">
- <script>logger.debug("scriptVisuelEnvoi IN");
-if (typeGed.equals("delib") && typeof docId !== "undefined") {
- logger.info("typeGed = 'delib' et docId !== 'undefined'");
- execution.setVariable("tableauRecapitulatif", servicePDF.createTableau(typeGed));
- serviceCMIS.createSession();
- var doc = serviceCMIS.getDocument(docId);
- serviceCMIS.remplirTableauEnvoiTdT(tableauRecapitulatif, doc);
- tableauRecapitulatif.setDateEnvoi(dateEnvoi);
- var signature = parapheurService.getImageSignature(tableauRecapitulatif.getNomSignataire());
- tableauRecapitulatif.setSignature(signature);
- logger.debug("On génère le nouveau document PDF");
- var pjContent = utils.unzipAttachment(pjAttachment);
- execution.setVariable("content", servicePDF.ecrireTableauRecapitulatif(pjContent, tableauRecapitulatif, false, true));
- logger.debug("Enregistrement du nouveau visuel PDF");
- var stream = new java.io.ByteArrayInputStream(content);
- var contentStream = serviceCMIS.createContentStream(filename, content.length, mimetype, stream);
- doc.setContentStream(contentStream, true);
-}
-logger.debug("scriptVisuelEnvoi OUT");
-</script>
- </scriptTask>
- <sequenceFlow id="flow22" sourceRef="scriptVisuelEnvoi" targetRef="timerRecevoirAck"></sequenceFlow>
- <scriptTask id="scriptVisuelReception" name="Mise à jour visuel PDF suite à l'AR" scriptFormat="javascript" activiti:autoStoreVariables="false">
- <script>logger.debug("scriptVisuelReception IN");
-logger.debug("Pour le moment on ne gère que le cas des délibérations et des arrêtés d'urbanisme");
-execution.setVariable("dateReception", new java.util.GregorianCalendar());
-logger.debug("Code retour ACK : " + ack.getStatut().value());
-if (ack.getStatut().value() == "ACK") {
- execution.setVariable("idRetour", utils.getIDActe(ack.getAttachment()));
- logger.debug("Type GED : " + typeGed);
- if (typeGed.equals("delib") || typeGed.equals("arrete")) {
- logger.debug("On génère le nouveau document PDF");
- if (typeGed.equals("delib")) {
- tableauRecapitulatif.setDateReception(dateReception);
- tableauRecapitulatif.setIdAR(idRetour);
- var newContent = servicePDF.ecrireTableauRecapitulatif(content, tableauRecapitulatif, false, true);
- } else {
- execution.setVariable("tableauRecapitulatif", servicePDF.createTableau(typeGed));
- tableauRecapitulatif.setDateEnvoi(dateEnvoi);
- tableauRecapitulatif.setDateReception(dateReception);
- var newContent = servicePDF.ecrireTableauRecapitulatif(content, tableauRecapitulatif, false, false);
- }
- logger.debug("Enregistrement du nouveau visuel PDF");
- serviceCMIS.createSession();
- var doc = serviceCMIS.getDocument(docId);
- var stream = new java.io.ByteArrayInputStream(newContent);
- var contentStream = serviceCMIS.createContentStream(filename, newContent.length, mimetype, stream);
- doc.setContentStream(contentStream, true);
- }
-} else {
- execution.setVariable("idRetour", null);
-}
-logger.debug("scriptVisuelReception OUT");
-</script>
- </scriptTask>
- <sequenceFlow id="flow23" sourceRef="scriptVisuelReception" targetRef="scriptArchiveAR"></sequenceFlow>
- <sequenceFlow id="flow24" sourceRef="scriptLoadHttpUrl" targetRef="scriptTest"></sequenceFlow>
- <sequenceFlow id="flow25" sourceRef="scriptGetCmisDocument" targetRef="scriptTest"></sequenceFlow>
- <sequenceFlow id="flow26" sourceRef="scriptLoadFile" targetRef="scriptTest"></sequenceFlow>
- <intermediateCatchEvent id="timerintermediatecatchevent1" name="TimerCatchEvent">
- <timerEventDefinition>
- <timeDuration>PT60S</timeDuration>
- </timerEventDefinition>
- </intermediateCatchEvent>
- <sequenceFlow id="flow27" sourceRef="timerintermediatecatchevent1" targetRef="exclusivegateway2"></sequenceFlow>
- </process>
- <bpmndi:BPMNDiagram id="BPMNDiagram_prociXbus">
- <bpmndi:BPMNPlane bpmnElement="prociXbus" id="BPMNPlane_prociXbus">
- <bpmndi:BPMNShape bpmnElement="startiXbus" id="BPMNShape_startiXbus">
- <omgdc:Bounds height="35.0" width="35.0" x="30.0" y="123.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="scriptEnvoyer" id="BPMNShape_scriptEnvoyer">
- <omgdc:Bounds height="55.0" width="122.0" x="630.0" y="113.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="endeventiXbus" id="BPMNShape_endeventiXbus">
- <omgdc:Bounds height="35.0" width="35.0" x="240.0" y="286.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="scriptRecevoirAck" id="BPMNShape_scriptRecevoirAck">
- <omgdc:Bounds height="55.0" width="121.0" x="698.0" y="276.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="scriptTest" id="BPMNShape_scriptTest">
- <omgdc:Bounds height="55.0" width="124.0" x="458.0" y="113.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="scriptGetCmisDocument" id="BPMNShape_scriptGetCmisDocument">
- <omgdc:Bounds height="55.0" width="121.0" x="270.0" y="113.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
- <omgdc:Bounds height="40.0" width="40.0" x="186.0" y="120.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="scriptLoadHttpUrl" id="BPMNShape_scriptLoadHttpUrl">
- <omgdc:Bounds height="55.0" width="121.0" x="270.0" y="35.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="scriptLoadFile" id="BPMNShape_scriptLoadFile">
- <omgdc:Bounds height="55.0" width="121.0" x="270.0" y="192.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="timerRecevoirAck" id="BPMNShape_timerRecevoirAck">
- <omgdc:Bounds height="35.0" width="35.0" x="835.0" y="215.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="scriptArchiveAR" id="BPMNShape_scriptArchiveAR">
- <omgdc:Bounds height="55.0" width="121.0" x="321.0" y="276.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="scriptVisuelEnvoi" id="BPMNShape_scriptVisuelEnvoi">
- <omgdc:Bounds height="55.0" width="122.0" x="791.0" y="113.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="scriptVisuelReception" id="BPMNShape_scriptVisuelReception">
- <omgdc:Bounds height="55.0" width="122.0" x="482.0" y="276.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape bpmnElement="timerintermediatecatchevent1" id="BPMNShape_timerintermediatecatchevent1">
- <omgdc:Bounds height="35.0" width="35.0" x="110.0" y="123.0"></omgdc:Bounds>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNEdge bpmnElement="flowEnd" id="BPMNEdge_flowEnd">
- <omgdi:waypoint x="698.0" y="303.0"></omgdi:waypoint>
- <omgdi:waypoint x="604.0" y="303.0"></omgdi:waypoint>
- <bpmndi:BPMNLabel>
- <omgdc:Bounds height="14.0" width="66.0" x="664.0" y="280.0"></omgdc:Bounds>
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
- <omgdi:waypoint x="582.0" y="140.0"></omgdi:waypoint>
- <omgdi:waypoint x="630.0" y="140.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
- <omgdi:waypoint x="226.0" y="140.0"></omgdi:waypoint>
- <omgdi:waypoint x="270.0" y="140.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
- <omgdi:waypoint x="206.0" y="120.0"></omgdi:waypoint>
- <omgdi:waypoint x="205.0" y="62.0"></omgdi:waypoint>
- <omgdi:waypoint x="270.0" y="62.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
- <omgdi:waypoint x="206.0" y="160.0"></omgdi:waypoint>
- <omgdi:waypoint x="206.0" y="219.0"></omgdi:waypoint>
- <omgdi:waypoint x="270.0" y="219.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
- <omgdi:waypoint x="752.0" y="140.0"></omgdi:waypoint>
- <omgdi:waypoint x="791.0" y="140.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flowRecevoirAck" id="BPMNEdge_flowRecevoirAck">
- <omgdi:waypoint x="852.0" y="250.0"></omgdi:waypoint>
- <omgdi:waypoint x="852.0" y="304.0"></omgdi:waypoint>
- <omgdi:waypoint x="819.0" y="303.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flowTimerRecevoirAck" id="BPMNEdge_flowTimerRecevoirAck">
- <omgdi:waypoint x="758.0" y="276.0"></omgdi:waypoint>
- <omgdi:waypoint x="758.0" y="232.0"></omgdi:waypoint>
- <omgdi:waypoint x="835.0" y="232.0"></omgdi:waypoint>
- <bpmndi:BPMNLabel>
- <omgdc:Bounds height="14.0" width="87.0" x="732.0" y="255.0"></omgdc:Bounds>
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
- <omgdi:waypoint x="321.0" y="303.0"></omgdi:waypoint>
- <omgdi:waypoint x="275.0" y="303.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21">
- <omgdi:waypoint x="65.0" y="140.0"></omgdi:waypoint>
- <omgdi:waypoint x="110.0" y="140.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
- <omgdi:waypoint x="852.0" y="168.0"></omgdi:waypoint>
- <omgdi:waypoint x="852.0" y="215.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow23" id="BPMNEdge_flow23">
- <omgdi:waypoint x="482.0" y="303.0"></omgdi:waypoint>
- <omgdi:waypoint x="442.0" y="303.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24">
- <omgdi:waypoint x="330.0" y="90.0"></omgdi:waypoint>
- <omgdi:waypoint x="520.0" y="113.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow25" id="BPMNEdge_flow25">
- <omgdi:waypoint x="391.0" y="140.0"></omgdi:waypoint>
- <omgdi:waypoint x="458.0" y="140.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow26" id="BPMNEdge_flow26">
- <omgdi:waypoint x="330.0" y="192.0"></omgdi:waypoint>
- <omgdi:waypoint x="520.0" y="168.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge bpmnElement="flow27" id="BPMNEdge_flow27">
- <omgdi:waypoint x="145.0" y="140.0"></omgdi:waypoint>
- <omgdi:waypoint x="186.0" y="140.0"></omgdi:waypoint>
- </bpmndi:BPMNEdge>
- </bpmndi:BPMNPlane>
- </bpmndi:BPMNDiagram>
-</definitions>
\ No newline at end of file