Browse Source

流程流转信息接口

大数据与最优化研究所 1 year ago
parent
commit
03223deca5

+ 1 - 0
src/main/java/com/xjrsoft/module/form/service/IFormExecuteService.java

@@ -129,6 +129,7 @@ public interface IFormExecuteService {
      * @param dto
      * @return
      */
+
     Triple<Session, Boolean, Long> workflowAddOrUpdate(FormExecuteWorkflowUpdateDto dto);
 
     /**

+ 1 - 0
src/main/java/com/xjrsoft/module/form/service/impl/FormExecuteServiceImpl.java

@@ -1041,6 +1041,7 @@ public class FormExecuteServiceImpl implements IFormExecuteService {
         if (mainTable.isPresent()) {
             String tableName = mainTable.get().getTableName();
 
+
             Entity entity = Entity.create(tableName);
 
             //获取表里所有字段

+ 1 - 1
src/main/java/com/xjrsoft/module/workflow/listener/TaskDelegate.java

@@ -486,7 +486,7 @@ public class TaskDelegate implements TaskListener {
         record.setSchemaId(schemaId);
         record.setNodeMultiType(WorkflowMultiInstanceType.NONE.getCode());
         record.setRecordTime(LocalDateTime.now());
-        record.setUsageScenario(1);
+        record.setUsageScenario(2);
         record.setOperateInfo(message);
 
         xjrWorkflowOperateRecordService.save(record);

+ 24 - 19
src/main/java/com/xjrsoft/module/workflow/service/impl/WorkflowExecuteServiceImpl.java

@@ -1706,7 +1706,6 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
                 variableMap.putValue(formConfig.getKey(), formData);
 
                 //判断此表单是否已经提交过
-
                 if (formRelationList.stream().anyMatch(r -> Objects.equals(r.getFormId(), formConfig.getFormId()) && r.getFormKey().equals(formConfig.getKey()))) {
 
                     //如果提交过 默认是update
@@ -2023,6 +2022,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
             if (e.getMessage().contains("sequence flow")) {
                 throw new MyException("流转条件错误,请检查流转条件设置!");
             } else {
+
                 throw new MyException("表单提交错误, 请联系系统管理员!");
             }
         }
@@ -4280,7 +4280,10 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
      * @return
      */
     private List<ProcessRecordListVo> getCustomProcessRecordListVos(String processInstanceId, int onlySelf, Integer usageScenario) {
-
+        List<Integer> usageScenarioList = new ArrayList<>();
+        for (int i = 1; i <= usageScenario; i++){
+            usageScenarioList.add(i);
+        }
         User user = StpUtil.getTokenSession().get(GlobalConstant.LOGIN_USER_INFO_KEY, new User());
         List<Long> roleIds = StpUtil.getTokenSession().get(GlobalConstant.LOGIN_USER_ROLE_ID_KEY, new ArrayList<>());
         LambdaQueryWrapper<XjrWorkflowOperateRecord> workflowOperateRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -4312,7 +4315,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
         } else {
             workflowOperateRecordLambdaQueryWrapper
                     .eq(XjrWorkflowOperateRecord::getProcessId, processInstanceId)
-                    .eq(XjrWorkflowOperateRecord::getUsageScenario, usageScenario)
+                    .in(XjrWorkflowOperateRecord::getUsageScenario, usageScenarioList)
                     .orderByAsc(XjrWorkflowOperateRecord::getRecordTime);
         }
 
@@ -4806,7 +4809,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
         record.setSchemaId(schemaId);
         record.setNodeMultiType(WorkflowMultiInstanceType.NONE.getCode());
         record.setOperateInfo(message);
-        record.setUsageScenario(1);
+        record.setUsageScenario(2);
 
         xjrWorkflowOperateRecordService.save(record);
     }
@@ -5383,7 +5386,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
 
     @Override
     public List<UserDefinedProcessRecordListVo> listPrintApproveRecord(ApproveRecordListDto dto) {
-        List<ProcessRecordListVo> processRecordListVos = this.getCustomProcessRecordListVos(dto.getProcessId(), 0, 2);
+        List<ProcessRecordListVo> processRecordListVos = this.getCustomProcessRecordListVos(dto.getProcessId(), 0, 1);
 
         List<UserDefinedProcessRecordListVo> userDefinedProcessRecordListVos = new ArrayList<>();
         for(ProcessRecordListVo p : processRecordListVos){
@@ -5408,25 +5411,27 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
 
     @Override
     public List<UserDefinedProcessRecordListVo> listAuditApproveRecord(ApproveRecordListDto dto) {
-        List<ProcessRecordListVo> processRecordListVos = this.getCustomProcessRecordListVos(dto.getProcessId(), 0, 1);
+        List<ProcessRecordListVo> processRecordListVos = this.getCustomProcessRecordListVos(dto.getProcessId(), 0, 2);
 
         List<UserDefinedProcessRecordListVo> userDefinedProcessRecordListVos = new ArrayList<>();
         for(ProcessRecordListVo p : processRecordListVos){
             String comment = p.getComment();
             String[] commentArr = comment.split(",");
-            String[] approveUserNameArr = commentArr[0].split(":");
-            String[] approveResultArr = commentArr[1].split(":");
-            String[] approveCommentArr = commentArr[2].split(":");
-            userDefinedProcessRecordListVos.add(new UserDefinedProcessRecordListVo(){{
-                setNodeType(p.getNodeType());
-                setNodeName(p.getNodeName());
-                setComment(p.getComment());
-                setStartTime(p.getStartTime());
-                setCirculateMessage(p.getCirculateMessage());
-                setApproveUserName(approveUserNameArr[1]);
-                setApproveResult(approveResultArr[1]);
-                setApproveComment(approveCommentArr[1]);
-            }});
+            if(commentArr.length > 1){
+                String[] approveUserNameArr = commentArr[0].split(":");
+                String[] approveResultArr = commentArr[1].split(":");
+                String[] approveCommentArr = commentArr[2].split(":");
+                userDefinedProcessRecordListVos.add(new UserDefinedProcessRecordListVo(){{
+                    setNodeType(p.getNodeType());
+                    setNodeName(p.getNodeName());
+                    setComment(p.getComment());
+                    setStartTime(p.getStartTime());
+                    setCirculateMessage(p.getCirculateMessage());
+                    setApproveUserName(approveUserNameArr[1]);
+                    setApproveResult(approveResultArr[1]);
+                    setApproveComment(approveCommentArr[1]);
+                }});
+            }
         }
         return userDefinedProcessRecordListVos;
     }