浏览代码

自定义流程接口新增

wangliang 3 年之前
父节点
当前提交
ea24378682

+ 6 - 9
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java

@@ -375,18 +375,15 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
         if (examTask.getReview() || !sysUserService.isAdminDataAuth(requestUser.getId())) {
             // 发起新流程
             Map<String, Object> map = new HashMap<>();
-            map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(examTask.getUserId()));
-            map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> examTask.getTeachingRoomId());
-            ProcessInstance processInstance = activitiService.flowStart(map);
-            Long flowId = Long.parseLong(processInstance.getId());
+            map.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
+            map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> examTask.getUserId());
+
+            map = activitiService.customFlowStart(map);
+            Long flowId = SystemConstant.convertIdToLong((String) map.get(SystemConstant.FLOW_ID));
             UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
             updateWrapper.lambda().set(ExamTask::getFlowId, flowId).eq(ExamTask::getId, examTaskDetail.getExamTaskId());
             examTaskService.update(updateWrapper);
-            Map<String, Object> texamTaskFlowMap = new HashMap<>();
-            texamTaskFlowMap.computeIfAbsent(SystemConstant.SCHOOL_ID, v -> examTask.getSchoolId());
-            texamTaskFlowMap.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
-            texamTaskFlowMap.computeIfAbsent(SystemConstant.FLOW_ID, v -> flowId);
-            tExamTaskFlowService.saveOrUpdate(texamTaskFlowMap);
+            tExamTaskFlowService.saveOrUpdate(map);
             if (Objects.nonNull(flowId)) {
                 // 审核一级
                 Task task = taskService.createTaskQuery().processInstanceId(String.valueOf(flowId)).singleResult();

+ 35 - 45
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -271,16 +271,22 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
             if (Objects.nonNull(examTask.getUserId())) {
                 examStatusEnum = ExamStatusEnum.STAGE;
+//                Map<String, Object> map = new HashMap<>();
+//                map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(examTask.getUserId()));
+//                map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> examTask.getTeachingRoomId());
+//                ProcessInstance processInstance = activitiService.flowStart(map);
+//                flowId = SystemConstant.convertIdToLong(processInstance.getId());
+//                Map<String, Object> texamTaskFlowMap = new HashMap<>();
+//                texamTaskFlowMap.computeIfAbsent(SystemConstant.SCHOOL_ID, v -> examTask.getSchoolId());
+//                texamTaskFlowMap.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
+//                texamTaskFlowMap.computeIfAbsent(SystemConstant.FLOW_ID, v -> SystemConstant.convertIdToLong(processInstance.getId()));
+//                tExamTaskFlowService.saveOrUpdate(texamTaskFlowMap);
+
                 Map<String, Object> map = new HashMap<>();
-                map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(examTask.getUserId()));
-                map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> examTask.getTeachingRoomId());
-                ProcessInstance processInstance = activitiService.flowStart(map);
-                flowId = SystemConstant.convertIdToLong(processInstance.getId());
-                Map<String, Object> texamTaskFlowMap = new HashMap<>();
-                texamTaskFlowMap.computeIfAbsent(SystemConstant.SCHOOL_ID, v -> examTask.getSchoolId());
-                texamTaskFlowMap.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
-                texamTaskFlowMap.computeIfAbsent(SystemConstant.FLOW_ID, v -> SystemConstant.convertIdToLong(processInstance.getId()));
-                tExamTaskFlowService.saveOrUpdate(texamTaskFlowMap);
+                map.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
+                map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> examTask.getUserId());
+                map = activitiService.customFlowStart(map);
+                tExamTaskFlowService.saveOrUpdate(map);
             }
         }
         // 更改命题老师
@@ -296,15 +302,10 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
                 if (examTask.getUserId().longValue() != task.getUserId().longValue()) {
                     Map<String, Object> map = new HashMap<>();
-                    map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(examTask.getUserId()));
-                    map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> examTask.getTeachingRoomId());
-                    ProcessInstance processInstance = activitiService.startActivity(SystemConstant.GDYKDX_FLOW_KEY, map);
-                    flowId = SystemConstant.convertIdToLong(processInstance.getId());
-                    Map<String, Object> texamTaskFlowMap = new HashMap<>();
-                    texamTaskFlowMap.computeIfAbsent(SystemConstant.SCHOOL_ID, v -> examTask.getSchoolId());
-                    texamTaskFlowMap.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
-                    texamTaskFlowMap.computeIfAbsent(SystemConstant.FLOW_ID, v -> SystemConstant.convertIdToLong(processInstance.getId()));
-                    tExamTaskFlowService.saveOrUpdate(texamTaskFlowMap);
+                    map.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
+                    map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> examTask.getUserId());
+                    map = activitiService.customFlowStart(map);
+                    tExamTaskFlowService.saveOrUpdate(map);
                 } else {
                     flowId = task.getFlowId();
                 }
@@ -735,15 +736,12 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             examTask.setReview(false);
             if (examTask.getReview() && Objects.nonNull(examTask.getUserId()) && Objects.isNull(examTask.getFlowId())) {
                 Map<String, Object> map = new HashMap<>();
-                map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(examTask.getUserId()));
-                map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> examTask.getTeachingRoomId());
-                ProcessInstance processInstance = activitiService.flowStart(map);
-                examTask.setFlowId(SystemConstant.convertIdToLong(processInstance.getId()));
-                Map<String, Object> texamTaskFlowMap = new HashMap<>();
-                texamTaskFlowMap.computeIfAbsent(SystemConstant.SCHOOL_ID, v -> examTask.getSchoolId());
-                texamTaskFlowMap.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
-                texamTaskFlowMap.computeIfAbsent(SystemConstant.FLOW_ID, v -> examTask.getFlowId());
-                tExamTaskFlowService.saveOrUpdate(texamTaskFlowMap);
+                map.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
+                map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> examTask.getUserId());
+
+                map = activitiService.customFlowStart(map);
+                examTask.setFlowId(SystemConstant.convertIdToLong((String) map.get(SystemConstant.FLOW_ID)));
+                tExamTaskFlowService.saveOrUpdate(map);
                 examTask.updateInfo(sysUser.getId());
                 this.updateById(examTask);
             }
@@ -1526,15 +1524,11 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             if (Objects.isNull(examTask.getFlowId())) {
                 if (basicExamRule.getReview()) {
                     Map<String, Object> map = new HashMap<>();
-                    map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(examTask.getUserId()));
-                    map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> examTask.getTeachingRoomId());
-                    ProcessInstance processInstance = activitiService.flowStart(map);
-                    examTask.setFlowId(SystemConstant.convertIdToLong(processInstance.getId()));
-                    Map<String, Object> texamTaskFlowMap = new HashMap<>();
-                    texamTaskFlowMap.computeIfAbsent(SystemConstant.SCHOOL_ID, v -> examTask.getSchoolId());
-                    texamTaskFlowMap.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
-                    texamTaskFlowMap.computeIfAbsent(SystemConstant.FLOW_ID, v -> examTask.getFlowId());
-                    tExamTaskFlowService.saveOrUpdate(texamTaskFlowMap);
+                    map.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
+                    map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> examTask.getUserId());
+                    map = activitiService.customFlowStart(map);
+                    examTask.setFlowId(SystemConstant.convertIdToLong((String) map.get(SystemConstant.FLOW_ID)));
+                    tExamTaskFlowService.saveOrUpdate(map);
                 }
             }
             this.saveOrUpdate(examTask);
@@ -1667,15 +1661,11 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             if (Objects.isNull(examTask.getFlowId())) {
                 if (basicExamRule.getReview()) {
                     Map<String, Object> map = new HashMap<>();
-                    map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(examTask.getUserId()));
-                    map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> examTask.getTeachingRoomId());
-                    ProcessInstance processInstance = activitiService.flowStart(map);
-                    examTask.setFlowId(SystemConstant.convertIdToLong(processInstance.getId()));
-                    Map<String, Object> texamTaskFlowMap = new HashMap<>();
-                    texamTaskFlowMap.computeIfAbsent(SystemConstant.SCHOOL_ID, v -> examTask.getSchoolId());
-                    texamTaskFlowMap.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
-                    texamTaskFlowMap.computeIfAbsent(SystemConstant.FLOW_ID, v -> examTask.getFlowId());
-                    tExamTaskFlowService.saveOrUpdate(texamTaskFlowMap);
+                    map.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
+                    map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> examTask.getUserId());
+                    map = activitiService.customFlowStart(map);
+                    examTask.setFlowId(SystemConstant.convertIdToLong((String) map.get(SystemConstant.FLOW_ID)));
+                    tExamTaskFlowService.saveOrUpdate(map);
                 }
             }
             this.save(examTask);

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

@@ -209,7 +209,7 @@ public class SystemConstant {
     public static final String GDYKDX_SUB_FLOW_KEY = "GdykdxPaperSubPrintApprove";//广药子流程key
     public static final String JXZYY_FLOW_KEY = "JxzyyPaperApprove";//江西流程key
     public static final String APPROVE_ID = "approveId";//审批id
-    public static final String TEACHING_ROOM_ID = "teachingRoomId";//教研室机构id
+//    public static final String TEACHING_ROOM_ID = "teachingRoomId";//教研室机构id
     public static final String FLOW_ID = "flowId";//流程id
     public static final String FLOW_TASK_ID = "flowTaskId";//流程任务id
     public static final String APPROVE = "approve";//流程审核变量
@@ -219,17 +219,17 @@ public class SystemConstant {
     public static final String SETUP_MAP = "setupMap";//流程步骤变量
     public static final String APPROVE_SETUP = "approveSetup";//流程节点
 //    public static final String APPROVE_USER_IDS = "approveUserIds";//流程审批人列表
-    public static final String APPROVE_DIRECTOR_USER_IDS = "approveDirectorUserIds";//流程主任审批人列表
-    public static final String APPROVE_PRESIDENT_USER_IDS = "approvePresidentUserIds";//流程院长审批人列表
-    public static final String APPROVE_PRINT_USER_IDS = "approvePrintUserIds";//印刷人员审批人列表
+//    public static final String APPROVE_DIRECTOR_USER_IDS = "approveDirectorUserIds";//流程主任审批人列表
+//    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_CANCEL = "cancel";//流程撤销操作
     public static final String APPROVE_CANCEL_USER = "approveCancelUserId";//流程撤销用户id操作
     public static final Long APPROVE_CANCEL_USER_ID = -1L;//流程撤销用户id操作
-    public static final String APPROVE_EXCHANGE_USER_ID = "approveExchangeUserId:";//转审审批人列表
+//    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";//流程院长自动审批
+//    public static final String APPROVE_PRESIDENT_SYSTEM = "presidentApprove";//流程院长自动审批
     public static final String EXAM_TASK_ID = "examTaskId";
     public static final String APPROVE_TF_FLOW_LOG = "TFFlowLog";//流程院长自动审批
     public static final String PAPAER_ATTACHMENT_IDS = "paperAttachmentIds";//命题附件ids

+ 16 - 16
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -376,22 +376,22 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             throw ExceptionResultEnum.ERROR.exception("找不到此课程信息");
         }
 
-        Map<String, List<String>> flowSchoolCodeMap = SystemConstant.getFlowSchoolCodeMap();
-        BasicSchool basicSchool = (BasicSchool) ServletUtil.getRequestSchool();
-        if (flowSchoolCodeMap.get(SystemConstant.JXZYY_FLOW_KEY).contains(basicSchool.getCode())) {
-            List<ApproveUserResult> approveUserResultList = sysUserService.findByJxzyyDirectorApprove(null, FlowApproveNameEnum.TEACHER);
-            if (Objects.nonNull(approveUserResultList) && approveUserResultList.size() > 0) {//说明是实施人员提交
-                List<BlurryUserDto> blurryUserDtoList = new ArrayList<>();
-                for (ApproveUserResult sysUser : approveUserResultList) {
-                    blurryUserDtoList.add(new BlurryUserDto(sysUser.getId(), sysUser.getLoginName(), sysUser.getRealName()));
-                }
-                return blurryUserDtoList;
-            } else {
-                return listUserCommon(basicCourse, schoolId);
-            }
-        } else {
-            return listUserCommon(basicCourse, schoolId);
-        }
+//        Map<String, List<String>> flowSchoolCodeMap = SystemConstant.getFlowSchoolCodeMap();
+//        BasicSchool basicSchool = (BasicSchool) ServletUtil.getRequestSchool();
+//        if (flowSchoolCodeMap.get(SystemConstant.JXZYY_FLOW_KEY).contains(basicSchool.getCode())) {
+//            List<ApproveUserResult> approveUserResultList = sysUserService.findByJxzyyDirectorApprove(null, FlowApproveNameEnum.TEACHER);
+//            if (Objects.nonNull(approveUserResultList) && approveUserResultList.size() > 0) {//说明是实施人员提交
+//                List<BlurryUserDto> blurryUserDtoList = new ArrayList<>();
+//                for (ApproveUserResult sysUser : approveUserResultList) {
+//                    blurryUserDtoList.add(new BlurryUserDto(sysUser.getId(), sysUser.getLoginName(), sysUser.getRealName()));
+//                }
+//                return blurryUserDtoList;
+//            } else {
+//                return listUserCommon(basicCourse, schoolId);
+//            }
+//        } else {
+        return listUserCommon(basicCourse, schoolId);
+//        }
     }
 
     /**