From c0ccbb980be6975389f09ad13dcabd7d3156dae3 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 22 九月 2025 19:03:56 +0800
Subject: [PATCH] 更新提醒-》只提醒编程员;工控网显示临时更改单号
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/MdmUserService.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/MdmUserService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/MdmUserService.java
index 067bec7..7da3d7f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/MdmUserService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/MdmUserService.java
@@ -1,18 +1,24 @@
package org.springblade.mdm.basesetting.producedivision.service;
+import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.basesetting.producedivision.entity.MdmDept;
import org.springblade.mdm.basesetting.producedivision.entity.MdmRole;
import org.springblade.mdm.basesetting.producedivision.entity.MdmUser;
import org.springblade.mdm.basesetting.producedivision.mapper.MdmUserMapper;
import org.springblade.mdm.commons.service.ParamService;
+import org.springblade.mdm.gkw.programnode.vo.ProgramNodeVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.function.Consumer;
+import java.util.stream.Collectors;
@Service
public class MdmUserService extends ServiceImpl<MdmUserMapper, MdmUser> {
@@ -20,6 +26,8 @@
private ParamService paramService;
@Autowired
private MdmRoleService roleService;
+ @Autowired
+ private MdmDeptService deptService;
public Long getUserIdByName(String name) {
List<MdmUser> users = this.lambdaQuery().eq(MdmUser::getName, name).eq(MdmUser::getStatus, 1).orderByDesc(MdmUser::getCreateTime).list();
Long userId = null;
@@ -30,6 +38,10 @@
return userId;
}
+ /**
+ * 鎵�鏈夊鎵圭敤鎴峰垪琛�
+ * @return
+ */
public List<MdmUser> listByDeptAndRoleAlias() {
List<String> approveRoleAliasList = Func.split(paramService.getApproveRoleAlias(),',');
List<MdmUser> approveUserList = userListByRoleAlias(approveRoleAliasList);
@@ -55,4 +67,49 @@
return userList;
}
+
+ /**
+ * 瀹℃壒鐢ㄦ埛鏍�
+ * @return 鏍硅妭鐐瑰垪琛�
+ */
+ public List<ProgramNodeVO> flowUserTree() {
+ List<ProgramNodeVO> rootNodeVOS = new ArrayList<>();
+ List<MdmUser> users = listByDeptAndRoleAlias();
+ Map<String,List<MdmUser>> userMap = users.stream().collect(Collectors.groupingBy(MdmUser::getDeptId));
+
+ List<Long> deptIds = new ArrayList<>();
+ userMap.keySet().stream().forEach(deptId -> {
+ deptIds.addAll(Func.toLongList(deptId));
+ });
+
+ List<MdmDept> deptList = deptService.lambdaQuery().in(MdmDept::getId,deptIds).list();
+ for(MdmDept dept : deptList) {
+ String strDeptId = String.valueOf(dept.getId());
+ ProgramNodeVO deptNode = new ProgramNodeVO();
+ deptNode.setId(strDeptId);
+ deptNode.setName(dept.getDeptName());
+ deptNode.setNodeType("dept");
+ deptNode.setChildren(new ArrayList<>());
+
+ userMap.forEach((k, usersInDept) -> {
+ if(k.contains(strDeptId)){
+ for(MdmUser u : usersInDept) {
+ ProgramNodeVO userNode = new ProgramNodeVO();
+ userNode.setId(String.valueOf(u.getId()));
+ userNode.setName(u.getName());
+ if(u.isManager()){
+ userNode.setNodeType("manager");
+ }else {
+ userNode.setNodeType("user");
+ }
+ deptNode.getChildren().add(userNode);
+ }
+ }
+ });
+
+ rootNodeVOS.add(deptNode);
+ }
+
+ return rootNodeVOS;
+ }
}
--
Gitblit v1.9.3