Browse Source

1、已发起列表返回添加nickname
2、原有监听执行内容取消

dongpo 6 months ago
parent
commit
83b6725b5b

+ 13 - 7
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java

@@ -89,15 +89,18 @@ public class BpmProcessInstanceController {
                 convertSet(pageResult.getList(), HistoricProcessInstance::getProcessDefinitionId));
         List<Task> tasksByProcessInstanceIds = taskService.getTasksByProcessInstanceIds(pageResult.getList().stream().map(HistoricProcessInstance::getId).collect(Collectors.toList()));
         List<Long> collect = tasksByProcessInstanceIds.stream().map(task -> Long.valueOf(task.getAssignee())).collect(Collectors.toList());
-        List<AdminUserRespDTO> userList = adminUserApi.getUserList(collect);
-        Map<Long, AdminUserRespDTO> userMap = convertMap(userList, AdminUserRespDTO::getId);
+        // List<AdminUserRespDTO> userList = adminUserApi.getUserList(collect);
+        // Map<Long, AdminUserRespDTO> userMap = convertMap(userList, AdminUserRespDTO::getId);
+        List<EmployeeRespDTO> employeeList = employeeApi.getEmployeeListByIds(collect);
+        Map<Long, EmployeeRespDTO> employeeMap = convertMap(employeeList, EmployeeRespDTO::getId);
+
         Map<String, BpmCategoryDO> categoryMap = categoryService.getCategoryMap(
                 convertSet(processDefinitionMap.values(), ProcessDefinition::getCategory));
         Map<String, BpmProcessDefinitionExtDO> bpmProcessDefinitionExtDOMap = processDefinitionService.getProcessDefinitionExtMap(
                 convertSet(pageResult.getList(), HistoricProcessInstance::getProcessDefinitionId)
         );
         return success(BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePage(pageResult,
-                processDefinitionMap, categoryMap, taskMap, userMap, null, bpmProcessDefinitionExtDOMap));
+                processDefinitionMap, categoryMap, taskMap, employeeMap, null, bpmProcessDefinitionExtDOMap));
     }
 
     @GetMapping("/manager-page")
@@ -119,12 +122,15 @@ public class BpmProcessInstanceController {
         Map<String, BpmCategoryDO> categoryMap = categoryService.getCategoryMap(
                 convertSet(processDefinitionMap.values(), ProcessDefinition::getCategory));
         // 发起人信息
-        Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
-                convertSet(pageResult.getList(), processInstance -> NumberUtils.parseLong(processInstance.getStartUserId())));
+        // Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
+        //         convertSet(pageResult.getList(), processInstance -> NumberUtils.parseLong(processInstance.getStartUserId())));
+        Map<Long, EmployeeRespDTO> employeeMap = employeeApi.getEmployeeMap(
+                convertSet(pageResult.getList(), processInstance -> NumberUtils.parseLong(processInstance.getStartUserId()))
+        );
         Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(
-                convertSet(userMap.values(), AdminUserRespDTO::getDeptId));
+                convertSet(employeeMap.values(), EmployeeRespDTO::getDeptId));
         return success(BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePage(pageResult,
-                processDefinitionMap, categoryMap, taskMap, userMap, deptMap, null));
+                processDefinitionMap, categoryMap, taskMap, employeeMap, deptMap, null));
     }
 
     @PostMapping("/create")

+ 14 - 9
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java

@@ -15,6 +15,7 @@ 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.BpmMessageSendWhenProcessInstanceApproveReqDTO;
 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO;
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import io.swagger.v3.oas.models.security.SecurityScheme;
@@ -44,7 +45,7 @@ public interface BpmProcessInstanceConvert {
                                                                           Map<String, ProcessDefinition> processDefinitionMap,
                                                                           Map<String, BpmCategoryDO> categoryMap,
                                                                           Map<String, List<Task>> taskMap,
-                                                                          Map<Long, AdminUserRespDTO> userMap,
+                                                                          Map<Long, EmployeeRespDTO> employeeMap,
                                                                           Map<Long, DeptRespDTO> deptMap,
                                                                           Map<String, BpmProcessDefinitionExtDO> bpmProcessDefinitionExtDOMap) {
         PageResult<BpmProcessInstanceRespVO> vpPageResult = BeanUtils.toBean(pageResult, BpmProcessInstanceRespVO.class);
@@ -65,17 +66,21 @@ public interface BpmProcessInstanceConvert {
             respVO.setTasks(BeanUtils.toBean(tasks, BpmProcessInstanceRespVO.Task.class));
             if (CollectionUtil.isNotEmpty(tasks)) {
                 String assignee = tasks.get(0).getAssignee();
-                if (userMap != null){
-                    AdminUserRespDTO adminUserRespDTO = userMap.get(Long.valueOf(assignee));
-                    respVO.setCurrentAuditUser(BeanUtils.toBean(adminUserRespDTO, BpmProcessInstanceRespVO.User.class));
+                if (employeeMap != null){
+                    EmployeeRespDTO adminEmployeeRespDTO = employeeMap.get(Long.valueOf(assignee));
+                    BpmProcessInstanceRespVO.User user = BeanUtils.toBean(adminEmployeeRespDTO, BpmProcessInstanceRespVO.User.class);
+                    user.setNickname(adminEmployeeRespDTO.getName());
+                    respVO.setCurrentAuditUser(user);
                 }
             }
             // user
-            if (userMap != null) {
-                AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(pageResult.getList().get(i).getStartUserId()));
-                if (startUser != null) {
-                    respVO.setStartUser(BeanUtils.toBean(startUser, BpmProcessInstanceRespVO.User.class));
-                    MapUtils.findAndThen(deptMap, startUser.getDeptId(), dept -> respVO.getStartUser().setDeptName(dept.getName()));
+            if (employeeMap != null) {
+                EmployeeRespDTO startEmployee = employeeMap.get(NumberUtils.parseLong(pageResult.getList().get(i).getStartUserId()));
+                if (startEmployee != null) {
+                    BpmProcessInstanceRespVO.User user = BeanUtils.toBean(startEmployee, BpmProcessInstanceRespVO.User.class);
+                    user.setNickname(startEmployee.getName());
+                    respVO.setStartUser(user);
+                    MapUtils.findAndThen(deptMap, startEmployee.getDeptId(), dept -> respVO.getStartUser().setDeptName(dept.getName()));
                 }
             }
             BpmProcessDefinitionExtDO bpmProcessDefinitionExtDO = bpmProcessDefinitionExtDOMap.get(respVO.getProcessDefinitionId());

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/listener/BpmProcessInstanceEventListener.java

@@ -36,12 +36,12 @@ public class BpmProcessInstanceEventListener extends AbstractFlowableEngineEvent
 
     @Override
     protected void processCancelled(FlowableCancelledEvent event) {
-        processInstanceService.updateProcessInstanceWhenCancel(event);
+        // processInstanceService.updateProcessInstanceWhenCancel(event);
     }
 
     @Override
     protected void processCompleted(FlowableEngineEntityEvent event) {
-        processInstanceService.updateProcessInstanceWhenApprove((ProcessInstance)event.getEntity());
+        // processInstanceService.updateProcessInstanceWhenApprove((ProcessInstance)event.getEntity());
     }
 
 }