소스 검색

我的待办状态赋值

dongpo 1 년 전
부모
커밋
5f65f6b2d9

+ 2 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmTaskController.java

@@ -82,6 +82,7 @@ public class BpmTaskController {
         }
 
         // 拼接数据
+        Map<String, Task> taskMap = convertMap(pageResult.getList(), Task::getId);
         Map<String, ProcessInstance> processInstanceMap = processInstanceService.getProcessInstanceMap(
                 convertSet(pageResult.getList(), Task::getProcessInstanceId));
         Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
@@ -89,7 +90,7 @@ public class BpmTaskController {
         Map<String, BpmProcessDefinitionExtDO> bpmProcessDefinitionExtDOMap = processDefinitionService.getProcessDefinitionExtMap(
                 convertSet(processInstanceMap.values(), ProcessInstance::getProcessDefinitionId)
         );
-        PageResult<BpmTaskRespVO> taskRespVOPageResult = BpmTaskConvert.INSTANCE.buildTodoTaskPage(pageResult, processInstanceMap, userMap, bpmProcessDefinitionExtDOMap);
+        PageResult<BpmTaskRespVO> taskRespVOPageResult = BpmTaskConvert.INSTANCE.buildTodoTaskPage(pageResult, processInstanceMap, userMap, bpmProcessDefinitionExtDOMap, taskMap);
         return success(taskRespVOPageResult, "查询我的待办任务成功");
     }
 

+ 6 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmTaskConvert.java

@@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessI
 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
+import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmConstants;
 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
@@ -46,8 +47,12 @@ public interface BpmTaskConvert {
     default PageResult<BpmTaskRespVO> buildTodoTaskPage(PageResult<Task> pageResult,
                                                         Map<String, ProcessInstance> processInstanceMap,
                                                         Map<Long, AdminUserRespDTO> userMap,
-                                                        Map<String, BpmProcessDefinitionExtDO> bpmProcessDefinitionExtDOMap) {
+                                                        Map<String, BpmProcessDefinitionExtDO> bpmProcessDefinitionExtDOMap,
+                                                        Map<String, Task> taskMap) {
         return BeanUtils.toBean(pageResult, BpmTaskRespVO.class, taskVO -> {
+            Task task = taskMap.get(taskVO.getId());
+            Map<String, Object> processVariables = task.getProcessVariables();
+            taskVO.setStatus((Integer) processVariables.get(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS));
             ProcessInstance processInstance = processInstanceMap.get(taskVO.getProcessInstanceId());
             if (processInstance == null) {
                 return;