Browse Source

Merge remote-tracking branch 'origin/dev_v1.0.0' into dev_v1.0.0

caozixuan 1 year ago
parent
commit
92da5f18d2
31 changed files with 94 additions and 406 deletions
  1. 13 3
      sop-business/src/main/java/com/qmth/sop/business/activiti/listener/ProcessEventListener.java
  2. 2 0
      sop-business/src/main/java/com/qmth/sop/business/activiti/service/impl/ActivitiServiceImpl.java
  3. 12 0
      sop-business/src/main/java/com/qmth/sop/business/bean/params/FlowApproveParam.java
  4. 9 0
      sop-business/src/main/java/com/qmth/sop/business/mapper/TFCustomFlowEntityMapper.java
  5. 12 2
      sop-business/src/main/java/com/qmth/sop/business/service/TBSopInfoService.java
  6. 9 0
      sop-business/src/main/java/com/qmth/sop/business/service/TFCustomFlowEntityService.java
  7. 5 1
      sop-business/src/main/java/com/qmth/sop/business/service/impl/TBSopInfoServiceImpl.java
  8. 12 0
      sop-business/src/main/java/com/qmth/sop/business/service/impl/TFCustomFlowEntityServiceImpl.java
  9. 15 0
      sop-business/src/main/resources/mapper/TFCustomFlowEntityMapper.xml
  10. 5 0
      sop-common/src/main/java/com/qmth/sop/common/contant/SystemConstant.java
  11. 0 73
      sop-server/src/main/resources/dingExceptionFlow.bpmn
  12. 0 142
      sop-server/src/main/resources/officeSopFlow.bpmn
  13. BIN
      sop-server/src/main/resources/officeSopFlow.zip
  14. 0 0
      sop-server/src/main/resources/office_sop_check_final.form
  15. 0 1
      sop-server/src/main/resources/office_sop_device_in.form
  16. 0 1
      sop-server/src/main/resources/office_sop_device_out.form
  17. 0 0
      sop-server/src/main/resources/office_sop_first.form
  18. 0 0
      sop-server/src/main/resources/office_sop_information.form
  19. 0 1
      sop-server/src/main/resources/office_sop_inside_approve.form
  20. 0 1
      sop-server/src/main/resources/office_sop_mark_final.form
  21. 0 1
      sop-server/src/main/resources/office_sop_mark_prep.form
  22. 0 1
      sop-server/src/main/resources/office_sop_scan.form
  23. 0 0
      sop-server/src/main/resources/office_sop_scan_ready.form
  24. 0 1
      sop-server/src/main/resources/office_sop_start.form
  25. 0 40
      sop-server/src/main/resources/projectExchangeFlow.bpmn
  26. 0 134
      sop-server/src/main/resources/qualityProblemFlow/qualityProblemFlow.bpmn
  27. 0 1
      sop-server/src/main/resources/qualityProblemFlow/quality_problem_apply.form
  28. 0 0
      sop-server/src/main/resources/qualityProblemFlow/quality_problem_approve.form
  29. 0 1
      sop-server/src/main/resources/qualityProblemFlow/quality_problem_check.form
  30. 0 1
      sop-server/src/main/resources/qualityProblemFlow/quality_problem_start.form
  31. 0 1
      sop-server/src/main/resources/qualityProblemFlow/quality_problem_third_check.form

+ 13 - 3
sop-business/src/main/java/com/qmth/sop/business/activiti/listener/ProcessEventListener.java

@@ -109,6 +109,8 @@ public class ProcessEventListener implements ActivitiEventListener, Serializable
                         SysUser sysUser = (SysUser) taskService.getVariable(task.getId(), SystemConstant.FLOW_SYS_USER);
                         Optional.ofNullable(tfFlowLog).orElseThrow(() -> ExceptionResultEnum.USER_NO_EXISTS.exception());
 
+                        Map<String, Object> map = (Map) taskService.getVariable(task.getId(), SystemConstant.APPROVE_MAP_VAR);
+
                         //此处统一流程节点保存延期预警任务
                         if (tfFlowLog.getApproveOperation() != FlowApproveOperationEnum.DRAFT
                                 && tfFlowLog.getApproveOperation() != FlowApproveOperationEnum.END
@@ -116,17 +118,22 @@ public class ProcessEventListener implements ActivitiEventListener, Serializable
                             List<TSJobRemind> tsJobRemindArrayList = new ArrayList<>();
                             if (Objects.nonNull(task.getAssignee())) {
                                 tsJobRemindArrayList.add(new TSJobRemind(JobQuartzTypeEnum.FLOW, tfCustomFlowEntity.getCode(), Long.parseLong(task.getId()), tfCustomFlow.getType().getTitle() + ";" + task.getName(), JobTypeEnum.AFTER, Long.parseLong(task.getAssignee()), tfFlowLog.getApproveOperation(), sysUser.getId()));
-                                this.sendSopFlowDoneSms(tfCustomFlow.getType(), tfCustomFlowEntity, task.getName(), Long.parseLong(task.getAssignee()));
+                                if (CollectionUtils.isEmpty(map)) {//系统自动提交的不发待办短信
+                                    this.sendSopFlowDoneSms(tfCustomFlow.getType(), tfCustomFlowEntity, task.getName(), Long.parseLong(task.getAssignee()));
+                                    jobRemindService.saveJobRemind(tsJobRemindArrayList);
+                                }
                             } else {
                                 List<IdentityLink> identityLinkList = taskService.getIdentityLinksForTask(task.getId());
                                 if (!CollectionUtils.isEmpty(identityLinkList)) {
                                     for (IdentityLink i : identityLinkList) {
                                         tsJobRemindArrayList.add(new TSJobRemind(JobQuartzTypeEnum.FLOW, tfCustomFlowEntity.getCode(), Long.parseLong(i.getTaskId()), tfCustomFlow.getType().getTitle() + ";" + task.getName(), JobTypeEnum.AFTER, Long.parseLong(i.getUserId()), tfFlowLog.getApproveOperation(), sysUser.getId()));
-                                        this.sendSopFlowDoneSms(tfCustomFlow.getType(), tfCustomFlowEntity, task.getName(), Long.parseLong(i.getUserId()));
+                                        if (CollectionUtils.isEmpty(map)) {//系统自动提交的不发待办短信
+                                            this.sendSopFlowDoneSms(tfCustomFlow.getType(), tfCustomFlowEntity, task.getName(), Long.parseLong(i.getUserId()));
+                                            jobRemindService.saveJobRemind(tsJobRemindArrayList);
+                                        }
                                     }
                                 }
                             }
-                            jobRemindService.saveJobRemind(tsJobRemindArrayList);
                         }
                     }
                 }
@@ -334,6 +341,9 @@ public class ProcessEventListener implements ActivitiEventListener, Serializable
         TFCustomFlowEntityService tfCustomFlowEntityService = SpringContextHolder.getBean(TFCustomFlowEntityService.class);
         if (type == TFCustomTypeEnum.OFFICE_SOP_FLOW || type == TFCustomTypeEnum.CLOUD_MARK_SOP_FLOW) {//发送待审批短信
             FlowTaskSmsResult flowTaskSmsResult = tfCustomFlowEntityService.getFlowTaskRemindSmsInfo(tfCustomFlowEntity.getId(), userId);
+            if (Objects.isNull(flowTaskSmsResult)) {
+                flowTaskSmsResult = tfCustomFlowEntityService.getFlowTaskRemindSmsInfo(tfCustomFlowEntity.getCrmNo(), userId);
+            }
             Optional.ofNullable(flowTaskSmsResult).orElseThrow(() -> ExceptionResultEnum.USER_NO_EXISTS.exception());
             Map<String, Object> templateParam = new HashMap<>();
             templateParam.put("userName", flowTaskSmsResult.getRealName());

+ 2 - 0
sop-business/src/main/java/com/qmth/sop/business/activiti/service/impl/ActivitiServiceImpl.java

@@ -357,6 +357,7 @@ public class ActivitiServiceImpl implements ActivitiService {
                         taskService.setVariable(task.getId(), SystemConstant.FLOW_ENTITY, tfCustomFlowEntity);
                         taskService.setVariable(task.getId(), SystemConstant.FLOW_APPROVE_LOG, tfFlowLog);
                         taskService.setVariable(task.getId(), SystemConstant.FLOW_SYS_USER, sysUser);
+                        taskService.setVariable(task.getId(), SystemConstant.APPROVE_MAP_VAR, flowApproveParam.getVar());
                         taskService.complete(task.getId(), map);
                         if (flowApproveParam.getApprove() == FlowApprovePassEnum.START || flowApproveParam.getApprove() == FlowApprovePassEnum.PASS) {
                             List<Task> tasks = taskService.createTaskQuery().processInstanceId(processFlowId).list();
@@ -390,6 +391,7 @@ public class ActivitiServiceImpl implements ActivitiService {
             map.put(SystemConstant.FLOW_CUSTOM, tfCustomFlow);
             map.put(SystemConstant.FLOW_APPROVE, tfFlowApprove);
             map.put(SystemConstant.FLOW_ENTITY, tfCustomFlowEntity);
+            map.put(SystemConstant.APPROVE_MAP_VAR, flowApproveParam.getVar());
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
             if (e instanceof ApiException) {

+ 12 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/params/FlowApproveParam.java

@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 流程审批param
@@ -44,6 +45,9 @@ public class FlowApproveParam implements Serializable {
     @ApiModelProperty(value = "流程审批意见")
     private String approveRemark;
 
+    @ApiModelProperty(value = "流程变量")
+    private Map<String, Object> var;
+
     public FlowApproveParam() {
 
     }
@@ -88,6 +92,14 @@ public class FlowApproveParam implements Serializable {
         this.formProperties = formProperties;
     }
 
+    public Map<String, Object> getVar() {
+        return var;
+    }
+
+    public void setVar(Map<String, Object> var) {
+        this.var = var;
+    }
+
     public String getCrmNo() {
         return crmNo;
     }

+ 9 - 0
sop-business/src/main/java/com/qmth/sop/business/mapper/TFCustomFlowEntityMapper.java

@@ -33,4 +33,13 @@ public interface TFCustomFlowEntityMapper extends BaseMapper<TFCustomFlowEntity>
      * @return
      */
     FlowTaskSmsResult getFlowTaskRemindSmsInfo(@Param("id") Long id, @Param("userId") Long userId);
+
+    /**
+     * 获取crm单号发送短信内容
+     *
+     * @param crmNo
+     * @param userId
+     * @return
+     */
+    FlowTaskSmsResult getFlowTaskRemindSmsInfoByCrmNo(@Param("crmNo") String crmNo, @Param("userId") Long userId);
 }

+ 12 - 2
sop-business/src/main/java/com/qmth/sop/business/service/TBSopInfoService.java

@@ -7,8 +7,7 @@ import com.qmth.sop.business.bean.params.SopApplyParam;
 import com.qmth.sop.business.bean.params.SopInfoListParam;
 import com.qmth.sop.business.bean.params.SopPublishParam;
 import com.qmth.sop.business.bean.result.FlowTaskResult;
-import com.qmth.sop.business.entity.TBSopInfo;
-import com.qmth.sop.business.entity.TFCustomFlow;
+import com.qmth.sop.business.entity.*;
 import com.qmth.sop.common.enums.FlowApprovePassEnum;
 
 import java.util.List;
@@ -106,4 +105,15 @@ public interface TBSopInfoService extends IService<TBSopInfo> {
      * @return
      */
     List<String> findFlowPassageByCrmNo(String crmNo);
+
+    /**
+     * sop自动审批
+     *
+     * @param tfCustomFlow
+     * @param tfCustomFlowEntity
+     * @param tfFlowApprove
+     * @param tbSopInfoDetail
+     * @param crmNo
+     */
+    public void sopSystemApprove(TFCustomFlow tfCustomFlow, TFCustomFlowEntity tfCustomFlowEntity, TFFlowApprove tfFlowApprove, TBSopInfoDetail tbSopInfoDetail, String crmNo) throws InterruptedException;
 }

+ 9 - 0
sop-business/src/main/java/com/qmth/sop/business/service/TFCustomFlowEntityService.java

@@ -32,4 +32,13 @@ public interface TFCustomFlowEntityService extends IService<TFCustomFlowEntity>
      * @return
      */
     FlowTaskSmsResult getFlowTaskRemindSmsInfo(Long id, Long userId);
+
+    /**
+     * 获取crm单号发送短信内容
+     *
+     * @param crmNo
+     * @param userId
+     * @return
+     */
+    FlowTaskSmsResult getFlowTaskRemindSmsInfo(String crmNo, Long userId);
 }

File diff suppressed because it is too large
+ 5 - 1
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBSopInfoServiceImpl.java


+ 12 - 0
sop-business/src/main/java/com/qmth/sop/business/service/impl/TFCustomFlowEntityServiceImpl.java

@@ -42,4 +42,16 @@ public class TFCustomFlowEntityServiceImpl extends ServiceImpl<TFCustomFlowEntit
     public FlowTaskSmsResult getFlowTaskRemindSmsInfo(Long id, Long userId) {
         return this.baseMapper.getFlowTaskRemindSmsInfo(id, userId);
     }
+
+    /**
+     * 获取crm单号发送短信内容
+     *
+     * @param crmNo
+     * @param userId
+     * @return
+     */
+    @Override
+    public FlowTaskSmsResult getFlowTaskRemindSmsInfo(String crmNo, Long userId) {
+        return this.baseMapper.getFlowTaskRemindSmsInfoByCrmNo(crmNo, userId);
+    }
 }

+ 15 - 0
sop-business/src/main/resources/mapper/TFCustomFlowEntityMapper.xml

@@ -37,4 +37,19 @@
         where
             tfcfe.id = #{id}
     </select>
+
+    <select id="getFlowTaskRemindSmsInfoByCrmNo" resultType="com.qmth.sop.business.bean.result.FlowTaskSmsResult">
+        select
+            tbc.id as serviceId,
+            tbc.name as serviceName,
+            sc.name as customName,
+            su.real_name as realName,
+            su.mobile_number as mobileNumber
+        from
+            t_b_crm tbc
+            left join sys_custom sc on sc.id = tbc.custom_id
+            left join sys_user su on su.id = #{userId}
+        where
+            tbc.crm_no = #{crmNo} limit 1
+    </select>
 </mapper>

+ 5 - 0
sop-common/src/main/java/com/qmth/sop/common/contant/SystemConstant.java

@@ -100,6 +100,9 @@ public class SystemConstant {
     public static final String LIST_JOIN_SPLIT = ",";
     public static final String JOB_DATA = "jobData";
     public static final String AND = " and ";
+    public static final String APPROVE_MAP_VAR = "approve_map_var";
+    public static final String APPROVE_AUTO = "auto";
+    public static final String SYSTEM_AUTO_APPROVE = "系统自动审批";
 
     /**
      * 流程动态表单字段
@@ -113,6 +116,8 @@ public class SystemConstant {
     public static final String REGION_USER_ID = "region_user_id";
     public static final String ENGINEER_USER_ID = "engineer_user_id";
     public static final String ASSISTANT_ENGINEER_USER_ID = "assistant_engineer_user_id";
+    public static final String APPROVE_RADIO = "approve_radio";
+    public static final String APPROVE_REMARK = "approve_remark";
 
     //质量问题反馈
     public static final String PROBLEM_POINT = "problem_point";

+ 0 - 73
sop-server/src/main/resources/dingExceptionFlow.bpmn

@@ -1,73 +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" xmlns:tns="http://www.activiti.org/test" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test" id="m1626068475250" name="">
-  <process id="DING_EXCEPTION_FLOW" isExecutable="true" isClosed="false" processType="None">
-    <endEvent id="f_usertask_ding_exception_end_0" name="结束"></endEvent>
-    <userTask id="f_usertask_ding_exception_approve_2" name="甲方审核" activiti:candidateUsers="${assigneeList2}"></userTask>
-    <startEvent id="startevent1" name="Start"></startEvent>
-    <userTask id="f_usertask_ding_exception_apply_1" name="异常处理申请" activiti:candidateUsers="${assigneeList1}"></userTask>
-    <sequenceFlow id="flow6" sourceRef="startevent1" targetRef="f_usertask_ding_exception_apply_1"></sequenceFlow>
-    <sequenceFlow id="flow14" sourceRef="f_usertask_ding_exception_apply_1" targetRef="f_usertask_ding_exception_approve_2"></sequenceFlow>
-    <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
-    <sequenceFlow id="flow15" sourceRef="f_usertask_ding_exception_approve_2" targetRef="exclusivegateway1"></sequenceFlow>
-    <userTask id="f_usertask_ding_exception_third_approve_3" name="乙方审核" activiti:candidateUsers="${assigneeList3}"></userTask>
-    <sequenceFlow id="flow16" name="通过" sourceRef="exclusivegateway1" targetRef="f_usertask_ding_exception_third_approve_3">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_ding_exception_third_approve_3'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow18" sourceRef="f_usertask_ding_exception_third_approve_3" targetRef="f_usertask_ding_exception_end_0"></sequenceFlow>
-    <sequenceFlow id="flow19" name="不通过" sourceRef="exclusivegateway1" targetRef="f_usertask_ding_exception_end_0">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_ding_exception_end_0'}]]></conditionExpression>
-    </sequenceFlow>
-  </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_DING_EXCEPTION_FLOW">
-    <bpmndi:BPMNPlane bpmnElement="DING_EXCEPTION_FLOW" id="BPMNPlane_DING_EXCEPTION_FLOW">
-      <bpmndi:BPMNShape bpmnElement="f_usertask_ding_exception_end_0" id="BPMNShape_f_usertask_ding_exception_end_0">
-        <omgdc:Bounds height="35.0" width="35.0" x="100.0" y="320.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_ding_exception_approve_2" id="BPMNShape_f_usertask_ding_exception_approve_2">
-        <omgdc:Bounds height="55.0" width="85.0" x="75.0" y="193.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="100.0" y="10.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_ding_exception_apply_1" id="BPMNShape_f_usertask_ding_exception_apply_1">
-        <omgdc:Bounds height="55.0" width="85.0" x="75.0" y="90.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
-        <omgdc:Bounds height="40.0" width="40.0" x="250.0" y="200.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_ding_exception_third_approve_3" id="BPMNShape_f_usertask_ding_exception_third_approve_3">
-        <omgdc:Bounds height="55.0" width="85.0" x="228.0" y="310.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
-        <omgdi:waypoint x="117.0" y="45.0"></omgdi:waypoint>
-        <omgdi:waypoint x="117.0" y="90.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
-        <omgdi:waypoint x="117.0" y="145.0"></omgdi:waypoint>
-        <omgdi:waypoint x="117.0" y="193.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
-        <omgdi:waypoint x="160.0" y="220.0"></omgdi:waypoint>
-        <omgdi:waypoint x="250.0" y="220.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow16" id="BPMNEdge_flow16">
-        <omgdi:waypoint x="270.0" y="240.0"></omgdi:waypoint>
-        <omgdi:waypoint x="270.0" y="310.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="100.0" x="270.0" y="240.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
-        <omgdi:waypoint x="228.0" y="337.0"></omgdi:waypoint>
-        <omgdi:waypoint x="135.0" y="337.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
-        <omgdi:waypoint x="270.0" y="240.0"></omgdi:waypoint>
-        <omgdi:waypoint x="117.0" y="320.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="100.0" x="270.0" y="240.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</definitions>

+ 0 - 142
sop-server/src/main/resources/officeSopFlow.bpmn

@@ -1,142 +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" xmlns:tns="http://www.activiti.org/test" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test" id="m1626068475250" name="">
-  <process id="OFFICE_SOP_FLOW" isExecutable="true" isClosed="false" processType="None">
-    <userTask id="f_usertask_office_inside_approve_3" name="项目内审" activiti:assignee="${assignee3}" activiti:formKey="office_sop_inside_approve.form">
-      <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="${assigneeList3}" activiti:elementVariable="assignee3">
-        <completionCondition>${nrOfCompletedInstances/nrOfInstances==1 || reject3==1}</completionCondition>
-      </multiInstanceLoopCharacteristics>
-    </userTask>
-    <endEvent id="f_usertask_office_end_0" name="结束"></endEvent>
-    <userTask id="f_usertask_office_information_2" name="项目关键信息" activiti:candidateUsers="${assigneeList2}" activiti:formKey="office_sop_information.form"></userTask>
-    <startEvent id="startevent1" name="Start" activiti:formKey="office_sop_start.form"></startEvent>
-    <userTask id="f_usertask_office_first_1" name="项目初审" activiti:candidateUsers="${assigneeList1}" activiti:formKey="office_sop_first.form"></userTask>
-    <sequenceFlow id="flow6" sourceRef="startevent1" targetRef="f_usertask_office_first_1"></sequenceFlow>
-    <sequenceFlow id="flow14" sourceRef="f_usertask_office_first_1" targetRef="f_usertask_office_information_2"></sequenceFlow>
-    <sequenceFlow id="flow20" sourceRef="f_usertask_office_information_2" targetRef="f_usertask_office_inside_approve_3"></sequenceFlow>
-    <userTask id="f_usertask_office_device_out_4" name="设备出库登记" activiti:candidateUsers="${assigneeList4}" activiti:formKey="office_sop_device_out.form"></userTask>
-    <userTask id="f_usertask_office_scan_ready_5" name="扫描准备" activiti:candidateUsers="${assigneeList5}" activiti:formKey="office_sop_scan_ready.form"></userTask>
-    <sequenceFlow id="flow22" sourceRef="f_usertask_office_device_out_4" targetRef="f_usertask_office_scan_ready_5"></sequenceFlow>
-    <userTask id="f_usertask_office_scan_6" name="正式扫描" activiti:candidateUsers="${assigneeList6}" activiti:formKey="office_sop_scan.form"></userTask>
-    <sequenceFlow id="flow23" sourceRef="f_usertask_office_scan_ready_5" targetRef="f_usertask_office_scan_6"></sequenceFlow>
-    <userTask id="f_usertask_office_check_final_7" name="校验收尾" activiti:candidateUsers="${assigneeList7}" activiti:formKey="office_sop_check_final.form"></userTask>
-    <sequenceFlow id="flow24" sourceRef="f_usertask_office_scan_6" targetRef="f_usertask_office_check_final_7"></sequenceFlow>
-    <userTask id="f_usertask_office_mark_prep_8" name="评卷准备" activiti:candidateUsers="${assigneeList8}" activiti:formKey="office_sop_mark_prep.form"></userTask>
-    <sequenceFlow id="flow25" sourceRef="f_usertask_office_check_final_7" targetRef="f_usertask_office_mark_prep_8"></sequenceFlow>
-    <userTask id="f_usertask_office_mark_final_9" name="评卷收尾" activiti:candidateUsers="${assigneeList9}" activiti:formKey="office_sop_mark_final.form"></userTask>
-    <sequenceFlow id="flow26" sourceRef="f_usertask_office_mark_prep_8" targetRef="f_usertask_office_mark_final_9"></sequenceFlow>
-    <userTask id="f_usertask_office_device_in_10" name="设备入库登记" activiti:candidateUsers="${assigneeList10}" activiti:formKey="office_sop_device_in.form"></userTask>
-    <sequenceFlow id="flow28" sourceRef="f_usertask_office_device_in_10" targetRef="f_usertask_office_end_0"></sequenceFlow>
-    <sequenceFlow id="flow29" sourceRef="f_usertask_office_mark_final_9" targetRef="f_usertask_office_device_in_10"></sequenceFlow>
-    <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
-    <sequenceFlow id="flow30" sourceRef="f_usertask_office_inside_approve_3" targetRef="exclusivegateway1"></sequenceFlow>
-    <sequenceFlow id="flow31" name="通过" sourceRef="exclusivegateway1" targetRef="f_usertask_office_device_out_4">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_office_device_out_4'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow32" name="驳回" sourceRef="exclusivegateway1" targetRef="f_usertask_office_information_2">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_office_information_2'}]]></conditionExpression>
-    </sequenceFlow>
-  </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_OFFICE_SOP_FLOW">
-    <bpmndi:BPMNPlane bpmnElement="OFFICE_SOP_FLOW" id="BPMNPlane_OFFICE_SOP_FLOW">
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_inside_approve_3" id="BPMNShape_f_usertask_office_inside_approve_3">
-        <omgdc:Bounds height="55.0" width="85.0" x="470.0" y="20.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_end_0" id="BPMNShape_f_usertask_office_end_0">
-        <omgdc:Bounds height="35.0" width="35.0" x="325.0" y="270.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_information_2" id="BPMNShape_f_usertask_office_information_2">
-        <omgdc:Bounds height="55.0" width="85.0" x="290.0" y="20.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="30.0" y="30.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_first_1" id="BPMNShape_f_usertask_office_first_1">
-        <omgdc:Bounds height="55.0" width="85.0" x="140.0" y="20.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_device_out_4" id="BPMNShape_f_usertask_office_device_out_4">
-        <omgdc:Bounds height="55.0" width="85.0" x="638.0" y="140.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_scan_ready_5" id="BPMNShape_f_usertask_office_scan_ready_5">
-        <omgdc:Bounds height="55.0" width="85.0" x="460.0" y="140.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_scan_6" id="BPMNShape_f_usertask_office_scan_6">
-        <omgdc:Bounds height="55.0" width="85.0" x="300.0" y="140.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_check_final_7" id="BPMNShape_f_usertask_office_check_final_7">
-        <omgdc:Bounds height="55.0" width="85.0" x="150.0" y="140.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_mark_prep_8" id="BPMNShape_f_usertask_office_mark_prep_8">
-        <omgdc:Bounds height="55.0" width="85.0" x="24.0" y="140.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_mark_final_9" id="BPMNShape_f_usertask_office_mark_final_9">
-        <omgdc:Bounds height="55.0" width="85.0" x="24.0" y="260.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_office_device_in_10" id="BPMNShape_f_usertask_office_device_in_10">
-        <omgdc:Bounds height="55.0" width="85.0" x="160.0" y="260.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
-        <omgdc:Bounds height="40.0" width="40.0" x="660.0" y="27.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
-        <omgdi:waypoint x="65.0" y="47.0"></omgdi:waypoint>
-        <omgdi:waypoint x="140.0" y="47.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
-        <omgdi:waypoint x="225.0" y="47.0"></omgdi:waypoint>
-        <omgdi:waypoint x="290.0" y="47.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
-        <omgdi:waypoint x="375.0" y="47.0"></omgdi:waypoint>
-        <omgdi:waypoint x="470.0" y="47.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
-        <omgdi:waypoint x="638.0" y="167.0"></omgdi:waypoint>
-        <omgdi:waypoint x="545.0" y="167.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow23" id="BPMNEdge_flow23">
-        <omgdi:waypoint x="460.0" y="167.0"></omgdi:waypoint>
-        <omgdi:waypoint x="385.0" y="167.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24">
-        <omgdi:waypoint x="300.0" y="167.0"></omgdi:waypoint>
-        <omgdi:waypoint x="235.0" y="167.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow25" id="BPMNEdge_flow25">
-        <omgdi:waypoint x="150.0" y="167.0"></omgdi:waypoint>
-        <omgdi:waypoint x="109.0" y="167.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow26" id="BPMNEdge_flow26">
-        <omgdi:waypoint x="66.0" y="195.0"></omgdi:waypoint>
-        <omgdi:waypoint x="66.0" y="260.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow28" id="BPMNEdge_flow28">
-        <omgdi:waypoint x="245.0" y="287.0"></omgdi:waypoint>
-        <omgdi:waypoint x="325.0" y="287.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow29" id="BPMNEdge_flow29">
-        <omgdi:waypoint x="109.0" y="287.0"></omgdi:waypoint>
-        <omgdi:waypoint x="160.0" y="287.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow30" id="BPMNEdge_flow30">
-        <omgdi:waypoint x="555.0" y="47.0"></omgdi:waypoint>
-        <omgdi:waypoint x="660.0" y="47.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow31" id="BPMNEdge_flow31">
-        <omgdi:waypoint x="680.0" y="67.0"></omgdi:waypoint>
-        <omgdi:waypoint x="680.0" y="140.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="680.0" y="67.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow32" id="BPMNEdge_flow32">
-        <omgdi:waypoint x="680.0" y="67.0"></omgdi:waypoint>
-        <omgdi:waypoint x="517.0" y="120.0"></omgdi:waypoint>
-        <omgdi:waypoint x="332.0" y="120.0"></omgdi:waypoint>
-        <omgdi:waypoint x="332.0" y="75.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="680.0" y="67.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</definitions>

BIN
sop-server/src/main/resources/officeSopFlow.zip


File diff suppressed because it is too large
+ 0 - 0
sop-server/src/main/resources/office_sop_check_final.form


+ 0 - 1
sop-server/src/main/resources/office_sop_device_in.form

@@ -1 +0,0 @@
-[{"id":"85","code":"LABEL","type":"FORM","formId":"device_in_out_label","formName":"device_in_out_label","title":"设备出入库","inputType":"STRING","required":false,"readable":true,"writable":false,"visable":true,"value":"入库","name":"标签","span":6},{"id":"86","code":"DATE","type":"FORM","formId":"device_in_time","formName":"device_in_time","title":"设备入库时间","inputType":"STRING","required":false,"readable":false,"writable":true,"visable":true,"format":"yyyy-MM-dd","name":"日期","span":6},{"id":"87","code":"DEVICE_IN_TABLE","type":"FORM","formId":"device_in_table","formName":"device_in_table","title":"设备入库表格","inputType":"STRING","required":false,"readable":false,"writable":true,"visable":true,"name":"设备入库表格","span":12}]

+ 0 - 1
sop-server/src/main/resources/office_sop_device_out.form

@@ -1 +0,0 @@
-[{"id":"85","code":"ONLE_TITLE","type":"FORM","formId":"device_in_out_label","formName":"device_in_out_label","title":"设备入库","inputType":"STRING","required":false,"readable":true,"writable":false,"visable":true,"name":"普通标题,独占一行","span":6},{"id":"86","code":"DATE","type":"FORM","formId":"device_in_time","formName":"device_in_time","title":"设备入库时间","inputType":"STRING","required":false,"readable":false,"writable":true,"visable":true,"format":"yyyy-MM-dd","name":"日期","span":6},{"id":"87","code":"DEVICE_IN_TABLE","type":"FORM","formId":"device_in_table","formName":"device_in_table","title":"设备入库表格","inputType":"STRING","required":false,"readable":false,"writable":true,"visable":true,"name":"设备入库表格","span":12}]

File diff suppressed because it is too large
+ 0 - 0
sop-server/src/main/resources/office_sop_first.form


File diff suppressed because it is too large
+ 0 - 0
sop-server/src/main/resources/office_sop_information.form


+ 0 - 1
sop-server/src/main/resources/office_sop_inside_approve.form

@@ -1 +0,0 @@
-[{"id":"51","code":"FORM_GROUP_TITLE","type":"FORM","formId":"inside_title","formName":"inside_title","title":"项目内审(请于24小时内完成内审","inputType":"STRING","required":false,"readable":true,"writable":false,"visable":true,"name":"带虚线分割线的标题","span":12},{"id":"52","code":"RADIO","type":"FORM","formId":"approve_radio","formName":"approve_radio","title":"我对以上项目关键信息已审核,确认内容无误:","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"单选框","span":12,"options":"[{\"value\":\"1\",\"label\":\"同意\"},{\"value\":\"0\",\"label\":\"不同意\"}]"},{"id":"53","code":"SIGN","type":"FORM","formId":"sign","formName":"sign","title":"添加签名","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"签名","span":6},{"id":"54","code":"TEXTAREA","type":"FORM","formId":"approve_ramark","formName":"approve_ramark","title":"审批意见","inputType":"STRING","required":false,"readable":false,"writable":true,"visable":true,"name":"文本域","span":12}]

+ 0 - 1
sop-server/src/main/resources/office_sop_mark_final.form

@@ -1 +0,0 @@
-[{"id":"82","code":"FORM_GROUP_TITLE","type":"FORM","formId":"mark_submit_title","formName":"mark_submit_title","title":"成绩提交核查","inputType":"STRING","required":false,"readable":true,"writable":false,"visable":true,"name":"带虚线分割线的标题","span":12},{"id":"83","code":"CHECKBOX","type":"FORM","formId":"mark_submit_cb","formName":"mark_submit_cb","title":"成绩提交核查","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"复选框","span":12,"options":"[{\"value\":\"1\",\"label\":\"1、是否已核对不缺考、客观题为0分的情况\"},{\"value\":\"2\",\"label\":\"2、是否已核对主观题为0、客观题有分的情况\"},{\"value\":\"3\",\"label\":\"3、是否检查客观题小题得分率低于20%的情况\"},{\"value\":\"4\",\"label\":\"4、核对导出成绩表数据条数是否与考生表数量一致,不能带有“未导出全量数据”字样;请填写导出成绩数量以及完成时间\"},{\"value\":\"5\",\"label\":\"5、核对导出图片工具是否正常运行\"}]"},{"id":"84","code":"FILE","type":"FORM","formId":"upload_success_photos","formName":"upload_success_photos","title":"上传验收报告(纸质)拍照","inputType":"ARRAY","required":false,"readable":false,"writable":true,"visable":true,"length":5,"name":"文件","span":12}]

+ 0 - 1
sop-server/src/main/resources/office_sop_mark_prep.form

@@ -1 +0,0 @@
-[{"id":"78","code":"FORM_GROUP_TITLE","type":"FORM","formId":"mark_model_title","formName":"mark_model_title","title":"评卷模式确认","inputType":"STRING","required":false,"readable":true,"writable":false,"visable":true,"name":"带虚线分割线的标题","span":12},{"id":"79","code":"RADIO","type":"FORM","formId":"mark_model_radio","formName":"mark_model_radio","title":"评卷模式","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"单选框","span":12,"options":"[{\"value\":\"TRAIL\",\"label\":\"轨迹模式\"},{\"value\":\"NORMAL\",\"label\":\"普通模式\"}]"},{"id":"80","code":"FORM_GROUP_TITLE","type":"FORM","formId":"mark_params_title","formName":"mark_params_title","title":"评卷参数核对","inputType":"STRING","required":false,"readable":true,"writable":false,"visable":true,"name":"带虚线分割线的标题","span":12},{"id":"81","code":"CHECKBOX","type":"FORM","formId":"mark_params_cb","formName":"mark_params_cb","title":"评卷参数核对","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"复选框","span":12,"options":"[{\"value\":\"1\",\"label\":\"1、核查每个科目的满分是否正确(大部分科目都是100分)\"},{\"value\":\"2\",\"label\":\"2、核对客观题标答以及分数是否录入正确、多选题判分规则(漏选是否得分、任选得分)\"},{\"value\":\"3\",\"label\":\"检查所有科目结构和分组是否全部导入。(评卷管理>评卷进度查看分组状态)\"}]"}]

+ 0 - 1
sop-server/src/main/resources/office_sop_scan.form

@@ -1 +0,0 @@
-[{"id":"65","code":"FORM_GROUP_TITLE","type":"FORM","formId":"scan_test_title","formName":"scan_test_title","title":"试扫检查","inputType":"STRING","required":false,"readable":true,"writable":false,"visable":true,"name":"带虚线分割线的标题","span":12},{"id":"66","code":"CHECKBOX","type":"FORM","formId":"scan_test_cb","formName":"scan_test_cb","title":"试扫检查","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"复选框","span":12,"options":"[{\"value\":\"1\",\"label\":\"1、查看条码是否识别正确\"},{\"value\":\"2\",\"label\":\"2、缺考、客观题是否识别正确\"},{\"value\":\"3\",\"label\":\"3、扫描原图正反面是否正确显示\"},{\"value\":\"4\",\"label\":\"4、裁切图屏蔽区是否正确\"},{\"value\":\"5\",\"label\":\"5、卷型:若有,是否识别正确\"},{\"value\":\"6\",\"label\":\"6、页码:若答题卡超过1张,是否页码识别正确\"}]"}]

File diff suppressed because it is too large
+ 0 - 0
sop-server/src/main/resources/office_sop_scan_ready.form


+ 0 - 1
sop-server/src/main/resources/office_sop_start.form

@@ -1 +0,0 @@
-{"approveRejectMap":{"f_usertask_office_inside_approve_3":[{"afterFlowTaskKey":"f_usertask_office_information_2","setup":2}]}}

+ 0 - 40
sop-server/src/main/resources/projectExchangeFlow.bpmn

@@ -1,40 +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" xmlns:tns="http://www.activiti.org/test" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test" id="m1626068475250" name="">
-  <process id="PROJECT_EXCHANGE_FLOW" isExecutable="true" isClosed="false" processType="None">
-    <endEvent id="f_usertask_project_exchange_end_0" name="结束"></endEvent>
-    <userTask id="f_usertask_project_exchange_approve_2" name="项目计划变更审核" activiti:candidateUsers="${assigneeList2}"></userTask>
-    <startEvent id="startevent1" name="Start"></startEvent>
-    <userTask id="f_usertask_project_exchange_apply_1" name="项目计划变更申请" activiti:candidateUsers="${assigneeList1}"></userTask>
-    <sequenceFlow id="flow6" sourceRef="startevent1" targetRef="f_usertask_project_exchange_apply_1"></sequenceFlow>
-    <sequenceFlow id="flow14" sourceRef="f_usertask_project_exchange_apply_1" targetRef="f_usertask_project_exchange_approve_2"></sequenceFlow>
-    <sequenceFlow id="flow18" sourceRef="f_usertask_project_exchange_approve_2" targetRef="f_usertask_project_exchange_end_0"></sequenceFlow>
-  </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_PROJECT_EXCHANGE_FLOW">
-    <bpmndi:BPMNPlane bpmnElement="PROJECT_EXCHANGE_FLOW" id="BPMNPlane_PROJECT_EXCHANGE_FLOW">
-      <bpmndi:BPMNShape bpmnElement="f_usertask_project_exchange_end_0" id="BPMNShape_f_usertask_project_exchange_end_0">
-        <omgdc:Bounds height="35.0" width="35.0" x="240.0" y="360.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_project_exchange_approve_2" id="BPMNShape_f_usertask_project_exchange_approve_2">
-        <omgdc:Bounds height="55.0" width="85.0" x="215.0" y="240.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="240.0" y="40.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_project_exchange_apply_1" id="BPMNShape_f_usertask_project_exchange_apply_1">
-        <omgdc:Bounds height="55.0" width="85.0" x="215.0" y="130.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
-        <omgdi:waypoint x="257.0" y="75.0"></omgdi:waypoint>
-        <omgdi:waypoint x="257.0" y="130.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
-        <omgdi:waypoint x="257.0" y="185.0"></omgdi:waypoint>
-        <omgdi:waypoint x="257.0" y="240.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
-        <omgdi:waypoint x="257.0" y="295.0"></omgdi:waypoint>
-        <omgdi:waypoint x="257.0" y="360.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</definitions>

+ 0 - 134
sop-server/src/main/resources/qualityProblemFlow/qualityProblemFlow.bpmn

@@ -1,134 +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" xmlns:tns="http://www.activiti.org/test" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test" id="m1626068475250" name="">
-  <process id="QUALITY_PROBLEM_FLOW" isExecutable="true" isClosed="false" processType="None">
-    <userTask id="f_usertask_quality_problem_approve_2" name="质量问题初审" activiti:candidateUsers="${assigneeList2}" activiti:formKey="quality_problem_approve.form"></userTask>
-    <startEvent id="startevent1" name="Start" activiti:formKey="quality_problem_start.form"></startEvent>
-    <userTask id="f_usertask_quality_problem_apply_1" name="质量问题上报" activiti:candidateUsers="${assigneeList1}" activiti:formKey="quality_problem_apply.form"></userTask>
-    <sequenceFlow id="flow6" sourceRef="startevent1" targetRef="f_usertask_quality_problem_apply_1"></sequenceFlow>
-    <exclusiveGateway id="exclusivegateway2" name="Exclusive Gateway"></exclusiveGateway>
-    <sequenceFlow id="flow15" name="驳回" sourceRef="exclusivegateway2" targetRef="f_usertask_quality_problem_apply_1">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_quality_problem_apply_1'}]]></conditionExpression>
-    </sequenceFlow>
-    <userTask id="f_usertask_quality_problem_check_3" name="甲方复核" activiti:candidateUsers="${assigneeList3}" activiti:formKey="quality_problem_check.form"></userTask>
-    <sequenceFlow id="flow17" name="通过" sourceRef="exclusivegateway2" targetRef="f_usertask_quality_problem_check_3">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_quality_problem_check_3'}]]></conditionExpression>
-    </sequenceFlow>
-    <exclusiveGateway id="exclusivegateway3" name="Exclusive Gateway"></exclusiveGateway>
-    <sequenceFlow id="flow18" sourceRef="f_usertask_quality_problem_check_3" targetRef="exclusivegateway3"></sequenceFlow>
-    <sequenceFlow id="flow19" name="驳回" sourceRef="exclusivegateway3" targetRef="f_usertask_quality_problem_approve_2">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_quality_problem_approve_2'}]]></conditionExpression>
-    </sequenceFlow>
-    <userTask id="f_usertask_quality_problem_third_check_4" name="乙方复核" activiti:candidateUsers="${assigneeList4}" activiti:formKey="quality_problem_third_check.form"></userTask>
-    <sequenceFlow id="flow20" name="通过" sourceRef="exclusivegateway3" targetRef="f_usertask_quality_problem_third_check_4">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_quality_problem_third_check_4'}]]></conditionExpression>
-    </sequenceFlow>
-    <exclusiveGateway id="exclusivegateway4" name="Exclusive Gateway"></exclusiveGateway>
-    <sequenceFlow id="flow21" sourceRef="f_usertask_quality_problem_third_check_4" targetRef="exclusivegateway4"></sequenceFlow>
-    <sequenceFlow id="flow22" name="驳回" sourceRef="exclusivegateway4" targetRef="f_usertask_quality_problem_approve_2">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_quality_problem_approve_2'}]]></conditionExpression>
-    </sequenceFlow>
-    <endEvent id="f_usertask_quality_problem_end_0" name="结束"></endEvent>
-    <sequenceFlow id="flow23" name="通过" sourceRef="exclusivegateway4" targetRef="f_usertask_quality_problem_end_0">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approve == 'f_usertask_quality_problem_end_0'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="flow24" sourceRef="f_usertask_quality_problem_apply_1" targetRef="f_usertask_quality_problem_approve_2"></sequenceFlow>
-    <sequenceFlow id="flow25" sourceRef="f_usertask_quality_problem_approve_2" targetRef="exclusivegateway2"></sequenceFlow>
-  </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_QUALITY_PROBLEM_FLOW">
-    <bpmndi:BPMNPlane bpmnElement="QUALITY_PROBLEM_FLOW" id="BPMNPlane_QUALITY_PROBLEM_FLOW">
-      <bpmndi:BPMNShape bpmnElement="f_usertask_quality_problem_approve_2" id="BPMNShape_f_usertask_quality_problem_approve_2">
-        <omgdc:Bounds height="55.0" width="85.0" x="450.0" y="130.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
-        <omgdc:Bounds height="35.0" width="35.0" x="240.0" y="40.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_quality_problem_apply_1" id="BPMNShape_f_usertask_quality_problem_apply_1">
-        <omgdc:Bounds height="55.0" width="85.0" x="215.0" y="130.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
-        <omgdc:Bounds height="40.0" width="40.0" x="472.0" y="240.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_quality_problem_check_3" id="BPMNShape_f_usertask_quality_problem_check_3">
-        <omgdc:Bounds height="55.0" width="105.0" x="440.0" y="330.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway3" id="BPMNShape_exclusivegateway3">
-        <omgdc:Bounds height="40.0" width="40.0" x="680.0" y="337.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_quality_problem_third_check_4" id="BPMNShape_f_usertask_quality_problem_third_check_4">
-        <omgdc:Bounds height="55.0" width="105.0" x="648.0" y="480.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="exclusivegateway4" id="BPMNShape_exclusivegateway4">
-        <omgdc:Bounds height="40.0" width="40.0" x="472.0" y="487.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="f_usertask_quality_problem_end_0" id="BPMNShape_f_usertask_quality_problem_end_0">
-        <omgdc:Bounds height="35.0" width="35.0" x="475.0" y="590.0"></omgdc:Bounds>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
-        <omgdi:waypoint x="257.0" y="75.0"></omgdi:waypoint>
-        <omgdi:waypoint x="257.0" y="130.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
-        <omgdi:waypoint x="472.0" y="260.0"></omgdi:waypoint>
-        <omgdi:waypoint x="257.0" y="260.0"></omgdi:waypoint>
-        <omgdi:waypoint x="257.0" y="185.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="472.0" y="260.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17">
-        <omgdi:waypoint x="492.0" y="280.0"></omgdi:waypoint>
-        <omgdi:waypoint x="492.0" y="330.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="492.0" y="280.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
-        <omgdi:waypoint x="545.0" y="357.0"></omgdi:waypoint>
-        <omgdi:waypoint x="680.0" y="357.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
-        <omgdi:waypoint x="700.0" y="337.0"></omgdi:waypoint>
-        <omgdi:waypoint x="699.0" y="157.0"></omgdi:waypoint>
-        <omgdi:waypoint x="535.0" y="157.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="700.0" y="337.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
-        <omgdi:waypoint x="700.0" y="377.0"></omgdi:waypoint>
-        <omgdi:waypoint x="700.0" y="480.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="700.0" y="377.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21">
-        <omgdi:waypoint x="648.0" y="507.0"></omgdi:waypoint>
-        <omgdi:waypoint x="512.0" y="507.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
-        <omgdi:waypoint x="472.0" y="507.0"></omgdi:waypoint>
-        <omgdi:waypoint x="202.0" y="506.0"></omgdi:waypoint>
-        <omgdi:waypoint x="202.0" y="239.0"></omgdi:waypoint>
-        <omgdi:waypoint x="492.0" y="185.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="472.0" y="507.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow23" id="BPMNEdge_flow23">
-        <omgdi:waypoint x="492.0" y="527.0"></omgdi:waypoint>
-        <omgdi:waypoint x="492.0" y="590.0"></omgdi:waypoint>
-        <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="22.0" x="492.0" y="527.0"></omgdc:Bounds>
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24">
-        <omgdi:waypoint x="300.0" y="157.0"></omgdi:waypoint>
-        <omgdi:waypoint x="450.0" y="157.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="flow25" id="BPMNEdge_flow25">
-        <omgdi:waypoint x="492.0" y="185.0"></omgdi:waypoint>
-        <omgdi:waypoint x="492.0" y="240.0"></omgdi:waypoint>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</definitions>

+ 0 - 1
sop-server/src/main/resources/qualityProblemFlow/quality_problem_apply.form

@@ -1 +0,0 @@
-[{"id":"1","code":"TEXT","type":"FORM","formId":"problem_point","formName":"problem_point","title":"问题简要","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"length":30,"name":"文本","span":12},{"id":"2","code":"TEXTAREA","type":"FORM","formId":"problem_remark","formName":"problem_remark","title":"问题情况说明","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"length":300,"name":"文本域","span":12},{"id":"3","code":"FILE","type":"FORM","formId":"attachments_info","formName":"attachments_info","title":"附件说明","inputType":"FILE","required":false,"readable":false,"writable":true,"visable":true,"length":3,"name":"文件","span":12}]

File diff suppressed because it is too large
+ 0 - 0
sop-server/src/main/resources/qualityProblemFlow/quality_problem_approve.form


+ 0 - 1
sop-server/src/main/resources/qualityProblemFlow/quality_problem_check.form

@@ -1 +0,0 @@
-[{"id":"12","code":"RADIO","type":"FORM","formId":"approve_radio","formName":"approve_radio","title":"审批意见","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"单选框","span":12,"options":"[{\"value\":\"1\",\"label\":\"同意\"},{\"value\":\"0\",\"label\":\"不同意\"}]"},{"id":"13","code":"SIGN","type":"FORM","formId":"sign","formName":"sign","title":"添加签名","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"签名","span":6},{"id":"14","code":"TEXTAREA","type":"FORM","formId":"approve_remark","formName":"approve_remark","title":"备注","inputType":"STRING","required":false,"readable":false,"writable":true,"visable":true,"name":"文本域","span":12}]

+ 0 - 1
sop-server/src/main/resources/qualityProblemFlow/quality_problem_start.form

@@ -1 +0,0 @@
-{"approveRejectMap":{"f_usertask_quality_problem_approve_2":[{"afterFlowTaskKey":"f_usertask_quality_problem_apply_1","setup":1}],"f_usertask_quality_problem_check_3":[{"afterFlowTaskKey":"f_usertask_quality_problem_approve_2","setup":2}],"f_usertask_quality_problem_third_check_4":[{"afterFlowTaskKey":"f_usertask_quality_problem_approve_2","setup":2}]}}

+ 0 - 1
sop-server/src/main/resources/qualityProblemFlow/quality_problem_third_check.form

@@ -1 +0,0 @@
-[{"id":"15","code":"RADIO","type":"FORM","formId":"approve_radio","formName":"approve_radio","title":"审批意见","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"单选框","span":12,"options":"[{\"value\":\"1\",\"label\":\"同意\"},{\"value\":\"0\",\"label\":\"不同意\"}]"},{"id":"16","code":"SIGN","type":"FORM","formId":"sign","formName":"sign","title":"添加签名","inputType":"STRING","required":true,"readable":false,"writable":true,"visable":true,"name":"签名","span":6},{"id":"17","code":"TEXTAREA","type":"FORM","formId":"approve_remark","formName":"approve_remark","title":"备注","inputType":"STRING","required":false,"readable":false,"writable":true,"visable":true,"name":"文本域","span":12}]

Some files were not shown because too many files changed in this diff