Преглед изворни кода

广药子流程update 转审update

wangliang пре 3 година
родитељ
комит
0a3f241a8b

+ 35 - 17
distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/DirectorApproveListener.java

@@ -18,11 +18,16 @@ import com.qmth.teachcloud.common.enums.FlowApproveSetupEnum;
 import com.qmth.teachcloud.common.enums.FlowStatusEnum;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.util.JacksonUtil;
+import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.bpmn.model.FlowNode;
+import org.activiti.bpmn.model.UserTask;
+import org.activiti.engine.RepositoryService;
 import org.activiti.engine.delegate.DelegateTask;
 import org.activiti.engine.delegate.TaskListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -49,32 +54,45 @@ public class DirectorApproveListener implements TaskListener {
         BasicMessageService basicMessageService = SpringContextHolder.getBean(BasicMessageService.class);
         TFFlowApproveService tfFlowApproveService = SpringContextHolder.getBean(TFFlowApproveService.class);
         TFFlowLogService tfFlowLogService = SpringContextHolder.getBean(TFFlowLogService.class);
-        List<Long> approveUserIds = (List<Long>) delegateTask.getVariable(SystemConstant.APPROVE_DIRECTOR_USER_IDS);
-        TFFlowLog tfFlowLog = (TFFlowLog) delegateTask.getVariable(SystemConstant.APPROVE_TF_FLOW_LOG);
+        RepositoryService repositoryService = SpringContextHolder.getBean(RepositoryService.class);
 
         Long flowId = SystemConstant.convertIdToLong(delegateTask.getProcessInstanceId());
         ExamTask examTask = examTaskService.findByFlowId(flowId);
-        List<ApproveUserResult> sysUserList = null;
-        if (Objects.nonNull(approveUserIds) && approveUserIds.size() > 0) {
-            List<SysUser> sysUsers = sysUserService.listByIds(approveUserIds);
-            sysUserList = new Gson().fromJson(JacksonUtil.parseJson(sysUsers), new TypeToken<List<ApproveUserResult>>() {
-            }.getType());
-            List<String> userIdList = approveUserIds.stream().map(x -> String.valueOf(x)).collect(Collectors.toList());
-            delegateTask.addCandidateUsers(userIdList);
-            tfFlowLog.setPendApproveId(String.join(", ", userIdList));
+        TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowId, examTask.getSchoolId());
+        TFFlowLog tfFlowLog = (TFFlowLog) delegateTask.getVariable(SystemConstant.APPROVE_TF_FLOW_LOG);
+
+        List<Long> approveUserIds = (List<Long>) delegateTask.getVariable(SystemConstant.APPROVE_DIRECTOR_USER_IDS);
+        String currActivityId = delegateTask.getTaskDefinitionKey();
+        BpmnModel bpmnModel = repositoryService.getBpmnModel(delegateTask.getProcessDefinitionId());
+        FlowNode currFlow = (FlowNode) bpmnModel.getMainProcess().getFlowElement(currActivityId);
+        UserTask userTask = (UserTask) currFlow;
+        String approveExchangeUserId = (String) delegateTask.getVariable(SystemConstant.APPROVE_EXCHANGE_USER_ID + userTask.getId());
+        List<ApproveUserResult> sysUserList = new ArrayList<>();
+        if (tfFlowApprove.getStatus() == FlowStatusEnum.REJECT && Objects.nonNull(approveExchangeUserId)) {
+            sysUserList.addAll(sysUserService.findById(Long.parseLong(approveExchangeUserId)));
+            delegateTask.addCandidateUsers(sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList()));
+            tfFlowLog.setPendApproveId(approveExchangeUserId);
         } else {
-            sysUserList = sysUserService.findByDirectorApprove(examTask.getCourseCode(), null);
-            if (Objects.nonNull(sysUserList) && sysUserList.size() > 0) {
-                List<String> ids = sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList());
-                //添加或签的人员,一人通过即可进入下一环节
-                delegateTask.addCandidateUsers(ids);
-                tfFlowLog.setPendApproveId(String.join(", ", ids));
+            if (Objects.nonNull(approveUserIds) && approveUserIds.size() > 0) {
+                List<SysUser> sysUsers = sysUserService.listByIds(approveUserIds);
+                sysUserList = new Gson().fromJson(JacksonUtil.parseJson(sysUsers), new TypeToken<List<ApproveUserResult>>() {
+                }.getType());
+                List<String> userIdList = approveUserIds.stream().map(x -> String.valueOf(x)).collect(Collectors.toList());
+                delegateTask.addCandidateUsers(userIdList);
+                tfFlowLog.setPendApproveId(String.join(", ", userIdList));
+            } else {
+                sysUserList = sysUserService.findByDirectorApprove(examTask.getCourseCode(), null);
+                if (Objects.nonNull(sysUserList) && sysUserList.size() > 0) {
+                    List<String> ids = sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList());
+                    //添加或签的人员,一人通过即可进入下一环节
+                    delegateTask.addCandidateUsers(ids);
+                    tfFlowLog.setPendApproveId(String.join(", ", ids));
+                }
             }
         }
         tfFlowLogService.updateById(tfFlowLog);
 
         // 发送审核短信
-        TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowId, examTask.getSchoolId());
         if (tfFlowApprove.getStatus().equals(FlowStatusEnum.AUDITING)
                 && tfFlowApprove.getSetup().equals(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup())) {
             basicMessageService.sendNoticeTaskAuditFlow(examTask, sysUserList, MessageEnum.NOTICE_OF_AUDIT_CREATED);

+ 40 - 21
distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/PresidentApproveListener.java

@@ -20,11 +20,16 @@ import com.qmth.teachcloud.common.enums.FlowStatusEnum;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
+import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.bpmn.model.FlowNode;
+import org.activiti.bpmn.model.UserTask;
+import org.activiti.engine.RepositoryService;
 import org.activiti.engine.delegate.DelegateTask;
 import org.activiti.engine.delegate.TaskListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
@@ -52,36 +57,50 @@ public class PresidentApproveListener implements TaskListener {
         BasicMessageService basicMessageService = SpringContextHolder.getBean(BasicMessageService.class);
         TFFlowApproveService tfFlowApproveService = SpringContextHolder.getBean(TFFlowApproveService.class);
         TFFlowLogService tfFlowLogService = SpringContextHolder.getBean(TFFlowLogService.class);
-        List<Long> approveUserIds = (List<Long>) delegateTask.getVariable(SystemConstant.APPROVE_PRESIDENT_USER_IDS);
-        TFFlowLog tfFlowLog = (TFFlowLog) delegateTask.getVariable(SystemConstant.APPROVE_TF_FLOW_LOG);
+        RepositoryService repositoryService = SpringContextHolder.getBean(RepositoryService.class);
 
         Long flowId = SystemConstant.convertIdToLong(delegateTask.getProcessInstanceId());
         ExamTask examTask = examTaskService.findByFlowId(flowId);
-        List<ApproveUserResult> sysUserList = null;
-        if (Objects.nonNull(approveUserIds) && approveUserIds.size() > 0) {
-            List<SysUser> sysUsers = sysUserService.listByIds(approveUserIds);
-            sysUserList = new Gson().fromJson(JacksonUtil.parseJson(sysUsers), new TypeToken<List<ApproveUserResult>>() {
-            }.getType());
-            List<String> userIdList = approveUserIds.stream().map(x -> String.valueOf(x)).collect(Collectors.toList());
-            delegateTask.addCandidateUsers(userIdList);
-            tfFlowLog.setPendApproveId(String.join(", ", userIdList));
+        TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowId, examTask.getSchoolId());
+        TFFlowLog tfFlowLog = (TFFlowLog) delegateTask.getVariable(SystemConstant.APPROVE_TF_FLOW_LOG);
+
+        List<Long> approveUserIds = (List<Long>) delegateTask.getVariable(SystemConstant.APPROVE_PRESIDENT_USER_IDS);
+        String currActivityId = delegateTask.getTaskDefinitionKey();
+        BpmnModel bpmnModel = repositoryService.getBpmnModel(delegateTask.getProcessDefinitionId());
+        FlowNode currFlow = (FlowNode) bpmnModel.getMainProcess().getFlowElement(currActivityId);
+        UserTask userTask = (UserTask) currFlow;
+        String approveExchangeUserId = (String) delegateTask.getVariable(SystemConstant.APPROVE_EXCHANGE_USER_ID + userTask.getId());
+
+        List<ApproveUserResult> sysUserList = new ArrayList<>();
+        if (tfFlowApprove.getStatus() == FlowStatusEnum.REJECT && Objects.nonNull(approveExchangeUserId)) {
+            sysUserList.addAll(sysUserService.findById(Long.parseLong(approveExchangeUserId)));
+            delegateTask.addCandidateUsers(sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList()));
+            tfFlowLog.setPendApproveId(approveExchangeUserId);
         } else {
-            SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-            if (Objects.isNull(sysUser.getOrgId())) {
-                throw ExceptionResultEnum.ERROR.exception("审批人机构为空");
-            }
-            sysUserList = sysUserService.findByPresidentApprove(Arrays.asList(sysUser.getOrgId()), null);
-            if (Objects.nonNull(sysUserList) && sysUserList.size() > 0) {
-                List<String> ids = sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList());
-                //添加或签的人员,一人通过即可进入下一环节
-                delegateTask.addCandidateUsers(ids);
-                tfFlowLog.setPendApproveId(String.join(", ", ids));
+            if (Objects.nonNull(approveUserIds) && approveUserIds.size() > 0) {
+                List<SysUser> sysUsers = sysUserService.listByIds(approveUserIds);
+                sysUserList = new Gson().fromJson(JacksonUtil.parseJson(sysUsers), new TypeToken<List<ApproveUserResult>>() {
+                }.getType());
+                List<String> userIdList = approveUserIds.stream().map(x -> String.valueOf(x)).collect(Collectors.toList());
+                delegateTask.addCandidateUsers(userIdList);
+                tfFlowLog.setPendApproveId(String.join(", ", userIdList));
+            } else {
+                SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+                if (Objects.isNull(sysUser.getOrgId())) {
+                    throw ExceptionResultEnum.ERROR.exception("审批人机构为空");
+                }
+                sysUserList = sysUserService.findByPresidentApprove(Arrays.asList(sysUser.getOrgId()), null);
+                if (Objects.nonNull(sysUserList) && sysUserList.size() > 0) {
+                    List<String> ids = sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList());
+                    //添加或签的人员,一人通过即可进入下一环节
+                    delegateTask.addCandidateUsers(ids);
+                    tfFlowLog.setPendApproveId(String.join(", ", ids));
+                }
             }
         }
         tfFlowLogService.updateById(tfFlowLog);
 
         // 发送审核短信
-        TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowId, examTask.getSchoolId());
         if (tfFlowApprove.getStatus().equals(FlowStatusEnum.AUDITING)
                 && tfFlowApprove.getSetup().equals(FlowApproveSetupEnum.SECOND_APPROVE.getSetup())) {
             basicMessageService.sendNoticeTaskAuditFlow(examTask, sysUserList, MessageEnum.NOTICE_OF_AUDIT_CREATED);

+ 40 - 22
distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/PrintApproveSubListener.java

@@ -17,11 +17,16 @@ import com.qmth.teachcloud.common.enums.FlowStatusEnum;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
+import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.bpmn.model.FlowNode;
+import org.activiti.bpmn.model.UserTask;
+import org.activiti.engine.RepositoryService;
 import org.activiti.engine.delegate.DelegateTask;
 import org.activiti.engine.delegate.TaskListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -49,37 +54,50 @@ public class PrintApproveSubListener implements TaskListener {
         TFFlowApproveService tfFlowApproveService = SpringContextHolder.getBean(TFFlowApproveService.class);
         ActivitiService activitiService = SpringContextHolder.getBean(ActivitiService.class);
         TFFlowLogService tfFlowLogService = SpringContextHolder.getBean(TFFlowLogService.class);
+        RepositoryService repositoryService = SpringContextHolder.getBean(RepositoryService.class);
 
-        List<Long> approveUserIds = (List<Long>) delegateTask.getVariable(SystemConstant.APPROVE_PRINT_USER_IDS);
-        TFFlowLog tfFlowLog = (TFFlowLog) delegateTask.getVariable(SystemConstant.APPROVE_TF_FLOW_LOG);
         Long flowId = SystemConstant.convertIdToLong(delegateTask.getProcessInstanceId());
         ExamTask examTask = examTaskService.findByFlowId(flowId);
-        List<ApproveUserResult> sysUserList = null;
-        if (Objects.nonNull(approveUserIds) && approveUserIds.size() > 0) {
-            List<SysUser> sysUsers = sysUserService.listByIds(approveUserIds);
-            sysUserList = new Gson().fromJson(JacksonUtil.parseJson(sysUsers), new TypeToken<List<ApproveUserResult>>() {
-            }.getType());
-            List<String> userIdList = approveUserIds.stream().map(x -> String.valueOf(x)).collect(Collectors.toList());
-            delegateTask.addCandidateUsers(userIdList);
-            tfFlowLog.setPendApproveId(String.join(", ", userIdList));
+        TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowId, examTask.getSchoolId());
+        TFFlowLog tfFlowLog = (TFFlowLog) delegateTask.getVariable(SystemConstant.APPROVE_TF_FLOW_LOG);
+
+        List<Long> approveUserIds = (List<Long>) delegateTask.getVariable(SystemConstant.APPROVE_PRINT_USER_IDS);
+        String currActivityId = delegateTask.getTaskDefinitionKey();
+        BpmnModel bpmnModel = repositoryService.getBpmnModel(delegateTask.getProcessDefinitionId());
+        FlowNode currFlow = (FlowNode) bpmnModel.getMainProcess().getFlowElement(currActivityId);
+        UserTask userTask = (UserTask) currFlow;
+        String approveExchangeUserId = (String) delegateTask.getVariable(SystemConstant.APPROVE_EXCHANGE_USER_ID + userTask.getId());
+
+        List<ApproveUserResult> sysUserList = new ArrayList<>();
+        if (tfFlowApprove.getStatus() == FlowStatusEnum.REJECT && Objects.nonNull(approveExchangeUserId)) {
+            sysUserList.addAll(sysUserService.findById(Long.parseLong(approveExchangeUserId)));
+            delegateTask.addCandidateUsers(sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList()));
+            tfFlowLog.setPendApproveId(approveExchangeUserId);
         } else {
-            SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-            if (Objects.isNull(sysUser.getOrgId())) {
-                throw ExceptionResultEnum.ERROR.exception("审批人机构为空");
+            if (Objects.nonNull(approveUserIds) && approveUserIds.size() > 0) {
+                List<SysUser> sysUsers = sysUserService.listByIds(approveUserIds);
+                sysUserList = new Gson().fromJson(JacksonUtil.parseJson(sysUsers), new TypeToken<List<ApproveUserResult>>() {
+                }.getType());
+                List<String> userIdList = approveUserIds.stream().map(x -> String.valueOf(x)).collect(Collectors.toList());
+                delegateTask.addCandidateUsers(userIdList);
+                tfFlowLog.setPendApproveId(String.join(", ", userIdList));
+            } else {
+                SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+                if (Objects.isNull(sysUser.getOrgId())) {
+                    throw ExceptionResultEnum.ERROR.exception("审批人机构为空");
+                }
+                sysUserList = activitiService.findByPrintApprove(flowId);
+                if (Objects.nonNull(sysUserList) && sysUserList.size() > 0) {
+                    List<String> ids = sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList());
+                    //添加或签的人员,一人通过即可进入下一环节
+                    delegateTask.addCandidateUsers(ids);
+                    tfFlowLog.setPendApproveId(String.join(", ", ids));
+                }
             }
-            sysUserList = activitiService.findByPrintApprove(flowId);
-            if (Objects.nonNull(sysUserList) && sysUserList.size() > 0) {
-                List<String> ids = sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList());
-                //添加或签的人员,一人通过即可进入下一环节
-                delegateTask.addCandidateUsers(ids);
-                tfFlowLog.setPendApproveId(String.join(", ", ids));
-            }
-//            delegateTask.addCandidateUsers(Arrays.asList("190416459858444288", "190416551696924672"));
         }
         tfFlowLogService.updateById(tfFlowLog);
 
         // 发送审核短信
-        TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowId, examTask.getSchoolId());
         if (tfFlowApprove.getStatus().equals(FlowStatusEnum.AUDITING)
                 && tfFlowApprove.getSetup().equals(FlowApproveSetupEnum.FOUR_APPROVE.getSetup())) {
             basicMessageService.sendNoticeTaskAuditFlow(examTask, sysUserList, MessageEnum.NOTICE_OF_AUDIT_CREATED);

+ 1 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ActivitiServiceImpl.java

@@ -752,6 +752,7 @@ public class ActivitiServiceImpl implements ActivitiService {
             UserTask userTask = (UserTask) currFlow;
             FlowApproveSetupEnum setupEnum = FlowApproveSetupEnum.convertToInstance(userTask.getId());
             tfFlowLog.setApproveSetup(setupEnum.getSetup());
+            taskService.setVariable(taskId, SystemConstant.APPROVE_EXCHANGE_USER_ID + setupEnum.getId(), String.valueOf(exchangeUser.getId()));
         }
         tfFlowLogService.save(tfFlowLog);
         return true;

+ 1 - 1
distributed-print/src/main/resources/application-dev.properties

@@ -12,7 +12,7 @@ spring.application.name=distributed-print
 #\u6570\u636E\u6E90\u914D\u7F6E
 db.host=localhost
 db.port=3306
-db.name=distributed-v2.2.1-test
+db.name=distributed-v2.2.2-test
 db.username=root
 db.password=123456789
 

+ 1 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -211,6 +211,7 @@ public class SystemConstant {
     public static final String APPROVE_PRESIDENT_USER_IDS = "approvePresidentUserIds";//流程院长审批人列表
     public static final String APPROVE_PRINT_USER_IDS = "approvePrintUserIds";//印刷人员审批人列表
     public static final String APPROVE_OPERATION = "approveOperation";//流程操作
+    public static final String APPROVE_EXCHANGE_USER_ID = "approveExchangeUserId:";//转审审批人列表
     public static final String FLOW_STATUS = "flowStatus";//流程状态
     public static final String APPROVE_REMARK = "approveRemark";//流程审批意见
     public static final String APPROVE_PRESIDENT_SYSTEM = "presidentApprove";//流程院长自动审批

+ 0 - 119
teachcloud-task/src/main/resources/processes/GdykdxPaperApprove.bpmn

@@ -1,119 +0,0 @@
-<?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="GdykdxPaperApprove" name="GdykdxPaperApprove" isExecutable="true">
-    <startEvent id="startevent1" name="Start"></startEvent>
-    <userTask id="usertask1" name="提交试卷(命题老师)" activiti:assignee="${approveId}"></userTask>
-    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
-    <userTask id="usertask2" name="审核试卷(教研室主任)">
-      <extensionElements>
-        <activiti:taskListener event="create" class="com.qmth.distributed.print.business.activiti.DirectorApproveListener"></activiti:taskListener>
-      </extensionElements>
-    </userTask>
-    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
-    <endEvent id="endevent1" name="End"></endEvent>
-    <exclusiveGateway id="exclusivegateway1" name="审批"></exclusiveGateway>
-    <sequenceFlow id="flow3" sourceRef="usertask2" targetRef="exclusivegateway1"></sequenceFlow>
-    <userTask id="usertask3" name="审核试卷(教学院长)">
-      <extensionElements>
-        <activiti:taskListener event="create" class="com.qmth.distributed.print.business.activiti.PresidentApproveListener"></activiti:taskListener>
-      </extensionElements>
-    </userTask>
-    <sequenceFlow id="flow4" name="通过" sourceRef="exclusivegateway1" targetRef="usertask3">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 1}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow5" name="驳回" sourceRef="exclusivegateway1" targetRef="usertask1">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 0}]]></conditionExpression>
-    </sequenceFlow>
-    <exclusiveGateway id="exclusivegateway2" name="审批"></exclusiveGateway>
-    <sequenceFlow id="flow6" sourceRef="usertask3" targetRef="exclusivegateway2"></sequenceFlow>
-    <sequenceFlow id="flow7" name="通过" sourceRef="exclusivegateway2" targetRef="endevent1">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 2}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow8" name="驳回" sourceRef="exclusivegateway2" targetRef="usertask2">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 1}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow9" name="驳回" sourceRef="exclusivegateway2" targetRef="usertask1">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 0}]]></conditionExpression>
-    </sequenceFlow>
-  </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_GdykdxPaperApprove">
-    <bpmndi:BPMNPlane bpmnElement="GdykdxPaperApprove" id="BPMNPlane_GdykdxPaperApprove">
-      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="43.0" y="46.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
-        <omgdc:Bounds height="55.0" width="105.0" x="151.0" y="36.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
-        <omgdc:Bounds height="55.0" width="105.0" x="350.0" y="36.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="385.0" y="400.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
-        <omgdc:Bounds height="40.0" width="40.0" x="382.0" y="110.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">
-        <omgdc:Bounds height="55.0" width="105.0" x="350.0" y="190.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
-        <omgdc:Bounds height="40.0" width="40.0" x="382.0" y="300.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
-        <omgdi:waypoint x="78.0" y="63.0"></omgdi:waypoint>
-        <omgdi:waypoint x="151.0" y="63.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
-        <omgdi:waypoint x="256.0" y="63.0"></omgdi:waypoint>
-        <omgdi:waypoint x="350.0" y="63.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
-        <omgdi:waypoint x="402.0" y="91.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="110.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
-        <omgdi:waypoint x="402.0" y="150.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="190.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="402.0" y="150.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
-        <omgdi:waypoint x="382.0" y="130.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="130.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="91.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="382.0" y="130.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
-        <omgdi:waypoint x="402.0" y="245.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="300.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
-        <omgdi:waypoint x="402.0" y="340.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="400.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="402.0" y="340.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
-        <omgdi:waypoint x="422.0" y="320.0"></omgdi:waypoint>
-        <omgdi:waypoint x="546.0" y="319.0"></omgdi:waypoint>
-        <omgdi:waypoint x="546.0" y="63.0"></omgdi:waypoint>
-        <omgdi:waypoint x="455.0" y="63.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="422.0" y="320.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
-        <omgdi:waypoint x="382.0" y="320.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="321.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="91.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="382.0" y="320.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</definitions>

+ 0 - 132
teachcloud-task/src/main/resources/processes/GdykdxPaperApprove2.2.2.bpmn

@@ -1,132 +0,0 @@
-<?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="GdykdxPaperApprove" name="GdykdxPaperApprove" isExecutable="true">
-    <startEvent id="startevent1" name="Start"></startEvent>
-    <userTask id="usertask1" name="提交试卷" activiti:assignee="${approveId}"></userTask>
-    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
-    <userTask id="usertask2" name="审核试卷">
-      <extensionElements>
-        <activiti:taskListener event="create" class="com.qmth.distributed.print.business.activiti.DirectorApproveListener"></activiti:taskListener>
-      </extensionElements>
-    </userTask>
-    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
-    <endEvent id="endevent1" name="End"></endEvent>
-    <exclusiveGateway id="exclusivegateway1" name="审批"></exclusiveGateway>
-    <sequenceFlow id="flow3" sourceRef="usertask2" targetRef="exclusivegateway1"></sequenceFlow>
-    <userTask id="usertask3" name="审核试卷">
-      <extensionElements>
-        <activiti:taskListener event="create" class="com.qmth.distributed.print.business.activiti.PresidentApproveListener"></activiti:taskListener>
-      </extensionElements>
-    </userTask>
-    <sequenceFlow id="flow4" name="通过" sourceRef="exclusivegateway1" targetRef="usertask3">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 1}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow5" name="驳回" sourceRef="exclusivegateway1" targetRef="usertask1">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 0}]]></conditionExpression>
-    </sequenceFlow>
-    <exclusiveGateway id="exclusivegateway2" name="审批"></exclusiveGateway>
-    <sequenceFlow id="flow6" sourceRef="usertask3" targetRef="exclusivegateway2"></sequenceFlow>
-    <sequenceFlow id="flow8" name="驳回" sourceRef="exclusivegateway2" targetRef="usertask2">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 1}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow9" name="驳回" sourceRef="exclusivegateway2" targetRef="usertask1">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 0}]]></conditionExpression>
-    </sequenceFlow>
-    <callActivity id="GdykdxPrintSubActivity" name="印刷员审核子流程" calledElement="GdykdxPaperSubPrintApprove">
-      <extensionElements>
-        <activiti:in source="approveId" target="approveId"></activiti:in>
-      </extensionElements>
-    </callActivity>
-    <sequenceFlow id="flow10" name="通过" sourceRef="exclusivegateway2" targetRef="GdykdxPrintSubActivity">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 2}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow11" sourceRef="GdykdxPrintSubActivity" targetRef="endevent1"></sequenceFlow>
-  </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_GdykdxPaperApprove">
-    <bpmndi:BPMNPlane bpmnElement="GdykdxPaperApprove" id="BPMNPlane_GdykdxPaperApprove">
-      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="43.0" y="46.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
-        <omgdc:Bounds height="55.0" width="105.0" x="151.0" y="36.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
-        <omgdc:Bounds height="55.0" width="105.0" x="350.0" y="36.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="385.0" y="490.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
-        <omgdc:Bounds height="40.0" width="40.0" x="382.0" y="110.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">
-        <omgdc:Bounds height="55.0" width="105.0" x="350.0" y="190.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
-        <omgdc:Bounds height="40.0" width="40.0" x="382.0" y="300.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="GdykdxPrintSubActivity" id="BPMNShape_GdykdxPrintSubActivity">
-        <omgdc:Bounds height="55.0" width="105.0" x="350.0" y="390.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
-        <omgdi:waypoint x="78.0" y="63.0"></omgdi:waypoint>
-        <omgdi:waypoint x="151.0" y="63.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
-        <omgdi:waypoint x="256.0" y="63.0"></omgdi:waypoint>
-        <omgdi:waypoint x="350.0" y="63.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
-        <omgdi:waypoint x="402.0" y="91.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="110.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
-        <omgdi:waypoint x="402.0" y="150.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="190.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="402.0" y="150.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
-        <omgdi:waypoint x="382.0" y="130.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="130.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="91.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="382.0" y="130.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
-        <omgdi:waypoint x="402.0" y="245.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="300.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
-        <omgdi:waypoint x="422.0" y="320.0"></omgdi:waypoint>
-        <omgdi:waypoint x="546.0" y="319.0"></omgdi:waypoint>
-        <omgdi:waypoint x="546.0" y="63.0"></omgdi:waypoint>
-        <omgdi:waypoint x="455.0" y="63.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="422.0" y="320.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
-        <omgdi:waypoint x="382.0" y="320.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="321.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="91.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="382.0" y="320.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
-        <omgdi:waypoint x="402.0" y="340.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="390.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="402.0" y="340.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
-        <omgdi:waypoint x="402.0" y="445.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="490.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</definitions>

+ 0 - 77
teachcloud-task/src/main/resources/processes/GdykdxPaperApproveSubByPrint.bpmn

@@ -1,77 +0,0 @@
-<?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="GdykdxPaperSubPrintApprove" name="GdykdxPaperSubPrintApprove" isExecutable="true">
-    <startEvent id="startevent1" name="Start">
-      <extensionElements>
-        <activiti:executionListener event="start" class="com.qmth.distributed.print.business.activiti.StartApproveSubListener"></activiti:executionListener>
-      </extensionElements>
-    </startEvent>
-    <userTask id="usertask4" name="提交人" activiti:assignee="${approveId}"></userTask>
-    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask4"></sequenceFlow>
-    <userTask id="usertask5" name="印刷员审核">
-      <extensionElements>
-        <activiti:taskListener event="create" class="com.qmth.distributed.print.business.activiti.PrintApproveSubListener"></activiti:taskListener>
-      </extensionElements>
-    </userTask>
-    <sequenceFlow id="flow2" sourceRef="usertask4" targetRef="usertask5"></sequenceFlow>
-    <endEvent id="endevent1" name="End"></endEvent>
-    <exclusiveGateway id="exclusivegateway1" name="审批"></exclusiveGateway>
-    <sequenceFlow id="flow3" sourceRef="usertask5" targetRef="exclusivegateway1"></sequenceFlow>
-    <sequenceFlow id="flow5" name="驳回" sourceRef="exclusivegateway1" targetRef="usertask4">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 0}]]></conditionExpression>
-    </sequenceFlow>
-    <endEvent id="endevent2" name="End"></endEvent>
-    <sequenceFlow id="flow9" name="通过" sourceRef="exclusivegateway1" targetRef="endevent2">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 1}]]></conditionExpression>
-    </sequenceFlow>
-  </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_GdykdxPaperSubPrintApprove">
-    <bpmndi:BPMNPlane bpmnElement="GdykdxPaperSubPrintApprove" id="BPMNPlane_GdykdxPaperSubPrintApprove">
-      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="43.0" y="46.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask4" id="BPMNShape_usertask4">
-        <omgdc:Bounds height="55.0" width="105.0" x="151.0" y="36.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask5" id="BPMNShape_usertask5">
-        <omgdc:Bounds height="55.0" width="105.0" x="350.0" y="36.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="385.0" y="760.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
-        <omgdc:Bounds height="40.0" width="40.0" x="382.0" y="110.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="endevent2" id="BPMNShape_endevent2">
-        <omgdc:Bounds height="35.0" width="35.0" x="385.0" y="200.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
-        <omgdi:waypoint x="78.0" y="63.0"></omgdi:waypoint>
-        <omgdi:waypoint x="151.0" y="63.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
-        <omgdi:waypoint x="256.0" y="63.0"></omgdi:waypoint>
-        <omgdi:waypoint x="350.0" y="63.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
-        <omgdi:waypoint x="402.0" y="91.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="110.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
-        <omgdi:waypoint x="382.0" y="130.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="130.0"></omgdi:waypoint>
-        <omgdi:waypoint x="203.0" y="91.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="382.0" y="130.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
-        <omgdi:waypoint x="402.0" y="150.0"></omgdi:waypoint>
-        <omgdi:waypoint x="402.0" y="200.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="402.0" y="150.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</definitions>

+ 0 - 69
teachcloud-task/src/main/resources/processes/JxzyydxPaperApprove.bpmn

@@ -1,69 +0,0 @@
-<?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="JxzyyPaperApprove" name="JxzyyPaperApprove" isExecutable="true">
-    <startEvent id="startevent1" name="Start"></startEvent>
-    <userTask id="usertask1" name="提交试卷" activiti:assignee="${approveId}"></userTask>
-    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
-    <endEvent id="endevent1" name="End"></endEvent>
-    <userTask id="usertask2" name="审核试卷">
-      <extensionElements>
-        <activiti:taskListener event="create" class="com.qmth.distributed.print.business.activiti.DirectorApproveByJxzyyListener"></activiti:taskListener>
-      </extensionElements>
-    </userTask>
-    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
-    <exclusiveGateway id="exclusivegateway1" name="审批"></exclusiveGateway>
-    <sequenceFlow id="flow3" sourceRef="usertask2" targetRef="exclusivegateway1"></sequenceFlow>
-    <sequenceFlow id="flow4" name="通过" sourceRef="exclusivegateway1" targetRef="endevent1">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 1}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow5" name="驳回" sourceRef="exclusivegateway1" targetRef="usertask1">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 0}]]></conditionExpression>
-    </sequenceFlow>
-  </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_JxzyyPaperApprove">
-    <bpmndi:BPMNPlane bpmnElement="JxzyyPaperApprove" id="BPMNPlane_JxzyyPaperApprove">
-      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="80.0" y="80.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
-        <omgdc:Bounds height="55.0" width="105.0" x="160.0" y="70.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="345.0" y="270.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
-        <omgdc:Bounds height="55.0" width="105.0" x="310.0" y="70.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
-        <omgdc:Bounds height="40.0" width="40.0" x="342.0" y="180.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
-        <omgdi:waypoint x="115.0" y="97.0"></omgdi:waypoint>
-        <omgdi:waypoint x="160.0" y="97.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
-        <omgdi:waypoint x="265.0" y="97.0"></omgdi:waypoint>
-        <omgdi:waypoint x="310.0" y="97.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
-        <omgdi:waypoint x="362.0" y="125.0"></omgdi:waypoint>
-        <omgdi:waypoint x="362.0" y="180.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
-        <omgdi:waypoint x="362.0" y="220.0"></omgdi:waypoint>
-        <omgdi:waypoint x="362.0" y="270.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="362.0" y="220.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
-        <omgdi:waypoint x="342.0" y="200.0"></omgdi:waypoint>
-        <omgdi:waypoint x="212.0" y="199.0"></omgdi:waypoint>
-        <omgdi:waypoint x="212.0" y="125.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="342.0" y="200.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</definitions>