dodil/erp-method

modules/inventory/signoff/inventory/history/inventory_goods_issue.v2.bpmn

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dodil="https://git.dodil.io/dodil/erp-platform/bpmn/1" id="Definitions_inventory_v4" name="Stock &amp; warehouses processes" targetNamespace="https://git.dodil.io/dodil/erp-platform/processes" exporter="erp-platform erp-compose bpmn" exporterVersion="1">
 <bpmn:collaboration id="Collaboration_inventory_v4">
  <bpmn:documentation>Stock &amp; warehouses: one pool per entity lifecycle, generated from module.yaml.</bpmn:documentation>
  <bpmn:participant id="Participant_inventory_goods_issue" name="Goods issue" processRef="Process_inventory_goods_issue_v4" />
 </bpmn:collaboration>
 <bpmn:process id="Process_inventory_goods_issue_v4" name="Goods issue" isExecutable="false">
  <bpmn:documentation>Lifecycle of the goods issue, generated from module.yaml by erp-compose bpmn; change the workflow there, not this file. States: draft, awaiting_approval, posted, cancelled.</bpmn:documentation>
  <bpmn:laneSet id="LaneSet_goods_issue">
   <bpmn:lane id="Lane_goods_issue_stock_operator" name="The person on the floor (picker, packer, goods-in)">
    <bpmn:flowNodeRef>Start_goods_issue</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_plan_goods_issue</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_post_goods_issue</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_submit_goods_issue</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_cancel_goods_issue</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_goods_issue_draft__if</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_goods_issue_stock_controller" name="A second person for large differences (finance controller, the owner)">
    <bpmn:flowNodeRef>Task_approve_goods_issue</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_reject_goods_issue</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_goods_issue_awaiting_approval__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>End_goods_issue_cancelled</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_goods_issue_warehouse_manager" name="Whoever runs the warehouse (operations lead, the owner in a small firm)">
    <bpmn:flowNodeRef>Task_reverse_goods_issue</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_reverse_goods_issue__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_reverse_goods_issue__if_end</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>End_goods_issue_posted</bpmn:flowNodeRef>
   </bpmn:lane>
  </bpmn:laneSet>
  <bpmn:startEvent id="Start_goods_issue" name="Goods issue needed">
   <bpmn:outgoing>Flow_Start_goods_issue__Task_plan_goods_issue</bpmn:outgoing>
  </bpmn:startEvent>
  <bpmn:userTask id="Task_plan_goods_issue" name="Plan an issue or a scrap" dodil:step="plan_goods_issue">
   <bpmn:documentation>By: The person on the floor (picker, packer, goods-in). From none to draft. When: readiness: cost_centre_valid (the ledger's cost centre, for purpose cost_centre), scrap_reason (for purpose scrap); the product's issue unit proposed (product PRD-29). Effect: a draft goods issue with its purpose (cost_centre | scrap | internal_use), lines in any unit of the product.</bpmn:documentation>
   <bpmn:incoming>Flow_Start_goods_issue__Task_plan_goods_issue</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_plan_goods_issue__Gateway_goods_issue_draft__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_post_goods_issue" name="Post the issue" dodil:step="post_goods_issue">
   <bpmn:documentation>By: The person on the floor (picker, packer, goods-in). From draft to posted. When: readiness: stock_claimed (bin and warehouse claim rows won), under_issue_threshold (the value is under issue_approval_threshold). Effect: numbered {warehouse}/GI/{seq:5}; moves bin -&gt; {company}:CONSUMPTION or :LOSS at average or standard cost; a journal per purpose (consumption with the cost centre on the line, scrap) posted.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_goods_issue_draft__if__Task_post_goods_issue</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_post_goods_issue__Gateway_reverse_goods_issue__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_submit_goods_issue" name="Submit an issue over the threshold" dodil:step="submit_goods_issue">
   <bpmn:documentation>By: The person on the floor (picker, packer, goods-in). From draft to awaiting_approval. When: the value is at or above issue_approval_threshold. Effect: waits for a stock controller; nothing moves.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_goods_issue_draft__if__Task_submit_goods_issue</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_submit_goods_issue__Gateway_goods_issue_awaiting_approval__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_approve_goods_issue" name="A second person approves the issue" dodil:step="approve_goods_issue" dodil:approval="true">
   <bpmn:documentation>By: A second person for large differences (finance controller, the owner). From awaiting_approval to posted. When: readiness: approver_not_requester (by email AND sign-in subject), stock_claimed. Effect: posted as post_goods_issue. An approval.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_goods_issue_awaiting_approval__if__Task_approve_goods_issue</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_approve_goods_issue__Gateway_reverse_goods_issue__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_reject_goods_issue" name="Reject the issue" dodil:step="reject_goods_issue">
   <bpmn:documentation>By: A second person for large differences (finance controller, the owner). From awaiting_approval to cancelled. Requires: reason.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_goods_issue_awaiting_approval__if__Task_reject_goods_issue</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_reject_goods_issue__End_goods_issue_cancelled</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_cancel_goods_issue" name="Cancel the draft issue" dodil:step="cancel_goods_issue">
   <bpmn:documentation>By: The person on the floor (picker, packer, goods-in). From draft to cancelled.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_goods_issue_draft__if__Task_cancel_goods_issue</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_cancel_goods_issue__End_goods_issue_cancelled</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_reverse_goods_issue" name="Reverse a posted issue" dodil:step="reverse_goods_issue">
   <bpmn:documentation>By: Whoever runs the warehouse (operations lead, the owner in a small firm). From posted to posted. When: not reversed before; the issue's period open in the ledger. Requires: reason. Effect: reversing moves naming the original, valued as it was, and a reversing journal (SAP 202 / 552).</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_reverse_goods_issue__if__Task_reverse_goods_issue</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_reverse_goods_issue__Gateway_reverse_goods_issue__if_end</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:exclusiveGateway id="Gateway_goods_issue_draft__if" name="Goods issue draft: what next?">
   <bpmn:incoming>Flow_Task_plan_goods_issue__Gateway_goods_issue_draft__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_goods_issue_draft__if__Task_post_goods_issue</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_goods_issue_draft__if__Task_submit_goods_issue</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_goods_issue_draft__if__Task_cancel_goods_issue</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_reverse_goods_issue__if" name="not reversed before; the issue's period open in the ledger?">
   <bpmn:incoming>Flow_Task_post_goods_issue__Gateway_reverse_goods_issue__if</bpmn:incoming>
   <bpmn:incoming>Flow_Task_approve_goods_issue__Gateway_reverse_goods_issue__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_reverse_goods_issue__if__Task_reverse_goods_issue</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_reverse_goods_issue__if__Gateway_reverse_goods_issue__if_end</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_reverse_goods_issue__if_end">
   <bpmn:incoming>Flow_Gateway_reverse_goods_issue__if__Gateway_reverse_goods_issue__if_end</bpmn:incoming>
   <bpmn:incoming>Flow_Task_reverse_goods_issue__Gateway_reverse_goods_issue__if_end</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_reverse_goods_issue__if_end__End_goods_issue_posted</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:endEvent id="End_goods_issue_posted" name="Goods issue posted">
   <bpmn:incoming>Flow_Gateway_reverse_goods_issue__if_end__End_goods_issue_posted</bpmn:incoming>
  </bpmn:endEvent>
  <bpmn:exclusiveGateway id="Gateway_goods_issue_awaiting_approval__if" name="Goods issue awaiting approval: what next?">
   <bpmn:incoming>Flow_Task_submit_goods_issue__Gateway_goods_issue_awaiting_approval__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_goods_issue_awaiting_approval__if__Task_approve_goods_issue</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_goods_issue_awaiting_approval__if__Task_reject_goods_issue</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:endEvent id="End_goods_issue_cancelled" name="Goods issue cancelled">
   <bpmn:incoming>Flow_Task_reject_goods_issue__End_goods_issue_cancelled</bpmn:incoming>
   <bpmn:incoming>Flow_Task_cancel_goods_issue__End_goods_issue_cancelled</bpmn:incoming>
  </bpmn:endEvent>
  <bpmn:sequenceFlow id="Flow_Start_goods_issue__Task_plan_goods_issue" sourceRef="Start_goods_issue" targetRef="Task_plan_goods_issue" />
  <bpmn:sequenceFlow id="Flow_Gateway_goods_issue_draft__if__Task_post_goods_issue" sourceRef="Gateway_goods_issue_draft__if" targetRef="Task_post_goods_issue" />
  <bpmn:sequenceFlow id="Flow_Gateway_goods_issue_draft__if__Task_submit_goods_issue" sourceRef="Gateway_goods_issue_draft__if" targetRef="Task_submit_goods_issue" />
  <bpmn:sequenceFlow id="Flow_Gateway_goods_issue_draft__if__Task_cancel_goods_issue" sourceRef="Gateway_goods_issue_draft__if" targetRef="Task_cancel_goods_issue" />
  <bpmn:sequenceFlow id="Flow_Task_plan_goods_issue__Gateway_goods_issue_draft__if" sourceRef="Task_plan_goods_issue" targetRef="Gateway_goods_issue_draft__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_reverse_goods_issue__if__Task_reverse_goods_issue" name="not reversed before; the issue's period open in the ledger" sourceRef="Gateway_reverse_goods_issue__if" targetRef="Task_reverse_goods_issue" />
  <bpmn:sequenceFlow id="Flow_Gateway_reverse_goods_issue__if__Gateway_reverse_goods_issue__if_end" name="otherwise" sourceRef="Gateway_reverse_goods_issue__if" targetRef="Gateway_reverse_goods_issue__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_reverse_goods_issue__Gateway_reverse_goods_issue__if_end" sourceRef="Task_reverse_goods_issue" targetRef="Gateway_reverse_goods_issue__if_end" />
  <bpmn:sequenceFlow id="Flow_Gateway_reverse_goods_issue__if_end__End_goods_issue_posted" sourceRef="Gateway_reverse_goods_issue__if_end" targetRef="End_goods_issue_posted" />
  <bpmn:sequenceFlow id="Flow_Task_post_goods_issue__Gateway_reverse_goods_issue__if" sourceRef="Task_post_goods_issue" targetRef="Gateway_reverse_goods_issue__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_goods_issue_awaiting_approval__if__Task_approve_goods_issue" sourceRef="Gateway_goods_issue_awaiting_approval__if" targetRef="Task_approve_goods_issue" />
  <bpmn:sequenceFlow id="Flow_Gateway_goods_issue_awaiting_approval__if__Task_reject_goods_issue" sourceRef="Gateway_goods_issue_awaiting_approval__if" targetRef="Task_reject_goods_issue" />
  <bpmn:sequenceFlow id="Flow_Task_submit_goods_issue__Gateway_goods_issue_awaiting_approval__if" sourceRef="Task_submit_goods_issue" targetRef="Gateway_goods_issue_awaiting_approval__if" />
  <bpmn:sequenceFlow id="Flow_Task_approve_goods_issue__Gateway_reverse_goods_issue__if" sourceRef="Task_approve_goods_issue" targetRef="Gateway_reverse_goods_issue__if" />
  <bpmn:sequenceFlow id="Flow_Task_reject_goods_issue__End_goods_issue_cancelled" sourceRef="Task_reject_goods_issue" targetRef="End_goods_issue_cancelled" />
  <bpmn:sequenceFlow id="Flow_Task_cancel_goods_issue__End_goods_issue_cancelled" sourceRef="Task_cancel_goods_issue" targetRef="End_goods_issue_cancelled" />
 </bpmn:process>
 <bpmndi:BPMNDiagram id="BPMNDiagram_inventory_v4">
  <bpmndi:BPMNPlane id="BPMNPlane_inventory_v4" bpmnElement="Collaboration_inventory_v4">
   <bpmndi:BPMNShape id="Participant_inventory_goods_issue_di" bpmnElement="Participant_inventory_goods_issue" isHorizontal="true">
    <dc:Bounds x="0" y="0" width="1300" height="900" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_goods_issue_stock_operator_di" bpmnElement="Lane_goods_issue_stock_operator" isHorizontal="true">
    <dc:Bounds x="30" y="0" width="1270" height="380" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_goods_issue_stock_controller_di" bpmnElement="Lane_goods_issue_stock_controller" isHorizontal="true">
    <dc:Bounds x="30" y="380" width="1270" height="260" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_goods_issue_warehouse_manager_di" bpmnElement="Lane_goods_issue_warehouse_manager" isHorizontal="true">
    <dc:Bounds x="30" y="640" width="1270" height="260" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Start_goods_issue_di" bpmnElement="Start_goods_issue">
    <dc:Bounds x="157" y="42" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_plan_goods_issue_di" bpmnElement="Task_plan_goods_issue">
    <dc:Bounds x="295" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_post_goods_issue_di" bpmnElement="Task_post_goods_issue">
    <dc:Bounds x="635" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_submit_goods_issue_di" bpmnElement="Task_submit_goods_issue">
    <dc:Bounds x="635" y="140" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_approve_goods_issue_di" bpmnElement="Task_approve_goods_issue">
    <dc:Bounds x="975" y="400" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_reject_goods_issue_di" bpmnElement="Task_reject_goods_issue">
    <dc:Bounds x="975" y="520" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_cancel_goods_issue_di" bpmnElement="Task_cancel_goods_issue">
    <dc:Bounds x="635" y="260" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_reverse_goods_issue_di" bpmnElement="Task_reverse_goods_issue">
    <dc:Bounds x="975" y="660" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_goods_issue_draft__if_di" bpmnElement="Gateway_goods_issue_draft__if">
    <dc:Bounds x="490" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_reverse_goods_issue__if_di" bpmnElement="Gateway_reverse_goods_issue__if">
    <dc:Bounds x="830" y="675" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_reverse_goods_issue__if_end_di" bpmnElement="Gateway_reverse_goods_issue__if_end">
    <dc:Bounds x="1000" y="795" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="End_goods_issue_posted_di" bpmnElement="End_goods_issue_posted">
    <dc:Bounds x="1177" y="682" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_goods_issue_awaiting_approval__if_di" bpmnElement="Gateway_goods_issue_awaiting_approval__if">
    <dc:Bounds x="830" y="415" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="End_goods_issue_cancelled_di" bpmnElement="End_goods_issue_cancelled">
    <dc:Bounds x="837" y="542" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNEdge id="Flow_Start_goods_issue__Task_plan_goods_issue_di" bpmnElement="Flow_Start_goods_issue__Task_plan_goods_issue">
    <di:waypoint x="193" y="60" />
    <di:waypoint x="295" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_goods_issue_draft__if__Task_post_goods_issue_di" bpmnElement="Flow_Gateway_goods_issue_draft__if__Task_post_goods_issue">
    <di:waypoint x="540" y="60" />
    <di:waypoint x="635" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_goods_issue_draft__if__Task_submit_goods_issue_di" bpmnElement="Flow_Gateway_goods_issue_draft__if__Task_submit_goods_issue">
    <di:waypoint x="540" y="60" />
    <di:waypoint x="610" y="60" />
    <di:waypoint x="610" y="180" />
    <di:waypoint x="635" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_goods_issue_draft__if__Task_cancel_goods_issue_di" bpmnElement="Flow_Gateway_goods_issue_draft__if__Task_cancel_goods_issue">
    <di:waypoint x="540" y="60" />
    <di:waypoint x="610" y="60" />
    <di:waypoint x="610" y="300" />
    <di:waypoint x="635" y="300" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_plan_goods_issue__Gateway_goods_issue_draft__if_di" bpmnElement="Flow_Task_plan_goods_issue__Gateway_goods_issue_draft__if">
    <di:waypoint x="395" y="60" />
    <di:waypoint x="490" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_reverse_goods_issue__if__Task_reverse_goods_issue_di" bpmnElement="Flow_Gateway_reverse_goods_issue__if__Task_reverse_goods_issue">
    <di:waypoint x="880" y="700" />
    <di:waypoint x="975" y="700" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_reverse_goods_issue__if__Gateway_reverse_goods_issue__if_end_di" bpmnElement="Flow_Gateway_reverse_goods_issue__if__Gateway_reverse_goods_issue__if_end">
    <di:waypoint x="880" y="700" />
    <di:waypoint x="975" y="700" />
    <di:waypoint x="975" y="820" />
    <di:waypoint x="1000" y="820" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_reverse_goods_issue__Gateway_reverse_goods_issue__if_end_di" bpmnElement="Flow_Task_reverse_goods_issue__Gateway_reverse_goods_issue__if_end">
    <di:waypoint x="1025" y="740" />
    <di:waypoint x="1025" y="860" />
    <di:waypoint x="1025" y="860" />
    <di:waypoint x="1025" y="845" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_reverse_goods_issue__if_end__End_goods_issue_posted_di" bpmnElement="Flow_Gateway_reverse_goods_issue__if_end__End_goods_issue_posted">
    <di:waypoint x="1050" y="820" />
    <di:waypoint x="1152" y="820" />
    <di:waypoint x="1152" y="700" />
    <di:waypoint x="1177" y="700" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_post_goods_issue__Gateway_reverse_goods_issue__if_di" bpmnElement="Flow_Task_post_goods_issue__Gateway_reverse_goods_issue__if">
    <di:waypoint x="735" y="60" />
    <di:waypoint x="805" y="60" />
    <di:waypoint x="805" y="700" />
    <di:waypoint x="830" y="700" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_goods_issue_awaiting_approval__if__Task_approve_goods_issue_di" bpmnElement="Flow_Gateway_goods_issue_awaiting_approval__if__Task_approve_goods_issue">
    <di:waypoint x="880" y="440" />
    <di:waypoint x="975" y="440" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_goods_issue_awaiting_approval__if__Task_reject_goods_issue_di" bpmnElement="Flow_Gateway_goods_issue_awaiting_approval__if__Task_reject_goods_issue">
    <di:waypoint x="880" y="440" />
    <di:waypoint x="950" y="440" />
    <di:waypoint x="950" y="560" />
    <di:waypoint x="975" y="560" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_submit_goods_issue__Gateway_goods_issue_awaiting_approval__if_di" bpmnElement="Flow_Task_submit_goods_issue__Gateway_goods_issue_awaiting_approval__if">
    <di:waypoint x="735" y="180" />
    <di:waypoint x="805" y="180" />
    <di:waypoint x="805" y="440" />
    <di:waypoint x="830" y="440" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_approve_goods_issue__Gateway_reverse_goods_issue__if_di" bpmnElement="Flow_Task_approve_goods_issue__Gateway_reverse_goods_issue__if">
    <di:waypoint x="1025" y="480" />
    <di:waypoint x="1025" y="746" />
    <di:waypoint x="855" y="746" />
    <di:waypoint x="855" y="725" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_reject_goods_issue__End_goods_issue_cancelled_di" bpmnElement="Flow_Task_reject_goods_issue__End_goods_issue_cancelled">
    <di:waypoint x="1025" y="600" />
    <di:waypoint x="1025" y="627" />
    <di:waypoint x="855" y="627" />
    <di:waypoint x="855" y="578" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_cancel_goods_issue__End_goods_issue_cancelled_di" bpmnElement="Flow_Task_cancel_goods_issue__End_goods_issue_cancelled">
    <di:waypoint x="735" y="300" />
    <di:waypoint x="812" y="300" />
    <di:waypoint x="812" y="560" />
    <di:waypoint x="837" y="560" />
   </bpmndi:BPMNEdge>
  </bpmndi:BPMNPlane>
 </bpmndi:BPMNDiagram>
</bpmn:definitions>