Browse Source

1、审批记录添加nickname

dongpo 6 months ago
parent
commit
12e8a2f5b9

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

@@ -177,14 +177,15 @@ public class BpmTaskController {
         Set<Long> userIds = convertSetByFlatMap(taskList, task ->
                 Stream.of(NumberUtils.parseLong(task.getAssignee()), NumberUtils.parseLong(task.getOwner())));
         userIds.add(NumberUtils.parseLong(processInstance.getStartUserId()));
-        Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
+        // Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
+        Map<Long, EmployeeRespDTO> employeeMap = employeeApi.getEmployeeMap(userIds);
         Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(
-                convertSet(userMap.values(), AdminUserRespDTO::getDeptId));
+                convertSet(employeeMap.values(), EmployeeRespDTO::getDeptId));
         // 获得 Form Map
         Map<Long, BpmFormDO> formMap = formService.getFormMap(
                 convertSet(taskList, task -> NumberUtils.parseLong(task.getFormKey())));
         return success(BpmTaskConvert.INSTANCE.buildTaskListByProcessInstanceId(taskList, processInstance,
-                formMap, userMap, deptMap));
+                formMap, employeeMap, deptMap));
     }
 
     @PutMapping("/approve")

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

@@ -110,15 +110,17 @@ public interface BpmTaskConvert {
     default List<BpmTaskRespVO> buildTaskListByProcessInstanceId(List<HistoricTaskInstance> taskList,
                                                                  HistoricProcessInstance processInstance,
                                                                  Map<Long, BpmFormDO> formMap,
-                                                                 Map<Long, AdminUserRespDTO> userMap,
+                                                                 Map<Long, EmployeeRespDTO> employeeMap,
                                                                  Map<Long, DeptRespDTO> deptMap) {
         List<BpmTaskRespVO> taskVOList = CollectionUtils.convertList(taskList, task -> {
             BpmTaskRespVO taskVO = BeanUtils.toBean(task, BpmTaskRespVO.class);
             taskVO.setStatus(FlowableUtils.getTaskStatus(task)).setReason(FlowableUtils.getTaskReason(task));
             // 流程实例
-            AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId()));
+            EmployeeRespDTO startEmployee = employeeMap.get(NumberUtils.parseLong(processInstance.getStartUserId()));
             taskVO.setProcessInstance(BeanUtils.toBean(processInstance, BpmTaskRespVO.ProcessInstance.class));
-            taskVO.getProcessInstance().setStartUser(BeanUtils.toBean(startUser, BpmProcessInstanceRespVO.User.class));
+            BpmProcessInstanceRespVO.User user = BeanUtils.toBean(startEmployee, BpmProcessInstanceRespVO.User.class);
+            user.setNickname(startEmployee.getName());
+            taskVO.getProcessInstance().setStartUser(user);
             // 表单信息
             BpmFormDO form = MapUtil.get(formMap, NumberUtils.parseLong(task.getFormKey()), BpmFormDO.class);
             if (form != null) {
@@ -126,15 +128,19 @@ public interface BpmTaskConvert {
                         .setFormFields(form.getFields()).setFormVariables(FlowableUtils.getTaskFormVariable(task));
             }
             // 用户信息
-            AdminUserRespDTO assignUser = userMap.get(NumberUtils.parseLong(task.getAssignee()));
-            if (assignUser != null) {
-                taskVO.setAssigneeUser(BeanUtils.toBean(assignUser, BpmProcessInstanceRespVO.User.class));
-                findAndThen(deptMap, assignUser.getDeptId(), dept -> taskVO.getAssigneeUser().setDeptName(dept.getName()));
+            EmployeeRespDTO assignEmployee = employeeMap.get(NumberUtils.parseLong(task.getAssignee()));
+            if (assignEmployee != null) {
+                BpmProcessInstanceRespVO.User user1 = BeanUtils.toBean(assignEmployee, BpmProcessInstanceRespVO.User.class);
+                user1.setNickname(assignEmployee.getName());
+                taskVO.setAssigneeUser(user1);
+                findAndThen(deptMap, assignEmployee.getDeptId(), dept -> taskVO.getAssigneeUser().setDeptName(dept.getName()));
             }
-            AdminUserRespDTO ownerUser = userMap.get(NumberUtils.parseLong(task.getOwner()));
-            if (ownerUser != null) {
-                taskVO.setOwnerUser(BeanUtils.toBean(ownerUser, BpmProcessInstanceRespVO.User.class));
-                findAndThen(deptMap, ownerUser.getDeptId(), dept -> taskVO.getOwnerUser().setDeptName(dept.getName()));
+            EmployeeRespDTO ownerEmployee = employeeMap.get(NumberUtils.parseLong(task.getOwner()));
+            if (ownerEmployee != null) {
+                BpmProcessInstanceRespVO.User user1 = BeanUtils.toBean(ownerEmployee, BpmProcessInstanceRespVO.User.class);
+                user1.setNickname(ownerEmployee.getName());
+                taskVO.setOwnerUser(user1);
+                findAndThen(deptMap, ownerEmployee.getDeptId(), dept -> taskVO.getOwnerUser().setDeptName(dept.getName()));
             }
             return taskVO;
         });

+ 8 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java

@@ -23,6 +23,8 @@ import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
 import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
 import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService;
 import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService;
+import cn.iocoder.yudao.module.employee.api.EmployeeApi;
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
@@ -92,6 +94,8 @@ public class BpmTaskServiceImpl implements BpmTaskService {
     private AdminUserApi adminUserApi;
     @Resource
     private DeptApi deptApi;
+    @Resource
+    private EmployeeApi employeeApi;
 
     @Override
     public Long getTaskTodoCount(Long userId, BpmTaskPageReqVO pageVO) {
@@ -888,15 +892,16 @@ public class BpmTaskServiceImpl implements BpmTaskService {
         Set<Long> userIds = convertSetByFlatMap(taskList, task ->
                 Stream.of(NumberUtils.parseLong(task.getAssignee()), NumberUtils.parseLong(task.getOwner())));
         userIds.add(NumberUtils.parseLong(processInstance.getStartUserId()));
-        Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
+        // Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
+        Map<Long, EmployeeRespDTO> employeeMap = employeeApi.getEmployeeMap(userIds);
         Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(
-                convertSet(userMap.values(), AdminUserRespDTO::getDeptId));
+                convertSet(employeeMap.values(), EmployeeRespDTO::getDeptId));
         // 获得 Form Map
         Map<Long, BpmFormDO> formMap = formService.getFormMap(
                 convertSet(taskList, task -> NumberUtils.parseLong(task.getFormKey())));
 
         return BpmTaskConvert.INSTANCE.buildTaskListByProcessInstanceId(taskList, processInstance,
-                formMap, userMap, deptMap);
+                formMap, employeeMap, deptMap);
     }
 
 }