Browse Source

Merge remote-tracking branch 'origin/dev' into dev

dzx 1 year ago
parent
commit
be5336983b

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

@@ -303,6 +303,7 @@ public class TaskDelegate implements TaskListener {
         }
         String approveName = WorkFlowUtil.getAllUserNamesByIds(approveUserIds);
         Long recordId = addProcessRecord(delegateTask, schemaId, "【" + approveName + "】" + "准备审批");
+        addCustomProcessRecord(delegateTask, schemaId, "【" + approveName + "】" + "准备审批");
         //设置用户传阅人
         initCirculatedUser(delegateTask, variableMaps, workflowSchemaConfig, userTaskConfig, recordId);
         //通知推送
@@ -470,6 +471,27 @@ public class TaskDelegate implements TaskListener {
         return record.getId();
     }
 
+    /**
+     * 添加流程记录
+     */
+    private void addCustomProcessRecord(DelegateTask delegateTask, Long schemaId, String message) {
+
+        IXjrWorkflowOperateRecordService xjrWorkflowOperateRecordService = SpringUtil.getBean(IXjrWorkflowOperateRecordService.class);
+        //新增流程发起流程记录
+        XjrWorkflowOperateRecord record = new XjrWorkflowOperateRecord();
+        record.setNodeId(delegateTask.getId());
+        record.setNodeName(delegateTask.getName());
+        record.setNodeType(WorkflowConstant.START_EVENT_TYPE_NAME);
+        record.setProcessId(delegateTask.getProcessInstanceId());
+        record.setSchemaId(schemaId);
+        record.setNodeMultiType(WorkflowMultiInstanceType.NONE.getCode());
+        record.setRecordTime(LocalDateTime.now());
+        record.setUsageScenario(1);
+        record.setOperateInfo(message);
+
+        xjrWorkflowOperateRecordService.save(record);
+    }
+
     /**
      * 设置根据命名规则 设置任务名字
      *

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

@@ -2509,7 +2509,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
             //查询到对应task的流转信息,将message重新设值,将设置的审批人加入到里面,如果没有直接新增一条,所以需要先查询再修改
             QueryWrapper<XjrWorkflowOperateRecord> xjrWorkflowOperateRecordQueryWrapper = new QueryWrapper<XjrWorkflowOperateRecord>()
                     .eq("node_id", approveUserDto.getTaskId())
-                    .like("message", "准备审批");
+                    .like("operate_info", "准备审批");
             XjrWorkflowOperateRecord xjrWorkflowOperateRecord = xjrWorkflowOperateRecordMapper.selectOne(xjrWorkflowOperateRecordQueryWrapper);
             if (ObjectUtil.isEmpty(xjrWorkflowOperateRecord)) {
                 Object schemaId = taskService.getVariable(approveUserDto.getTaskId(), WorkflowConstant.PROCESS_SCHEMA_ID_KEY);

+ 1 - 1
src/main/java/com/xjrsoft/module/workflow/vo/GetAssigneeVo.java

@@ -37,7 +37,7 @@ public class GetAssigneeVo {
     /**
      * 性别
      */
-    private Integer gender;
+    private String gender;
 
     /**
      * 用于判断是否可以减签