Przeglądaj źródła

提资需求审核人调整

sangwenwei 7 miesięcy temu
rodzic
commit
7bf6f7d833

+ 59 - 43
src/main/java/com/jeeplus/modules/externalUnit/web/ExternalUnitCapitalDemandController.java

@@ -35,10 +35,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Controller
 @RequestMapping(value = "${adminPath}/externalUnit/capitalDemand")
@@ -120,31 +117,40 @@ public class ExternalUnitCapitalDemandController extends BaseController {
         //项目基本信息
         ExternalUnitProjectRecords externalUnitProjectRecords = unitProjectRecordsService.get(capitalDemand.getProjectId());
         capitalDemand.setProject(externalUnitProjectRecords);
+        Office office = officeService.getByName("外部单位");
+
+        List<User> roleActivityEnname = UserUtils.getByRoleActivityEnname("sgf", 3, office.getId(),office.getParent().getId(), "5");
+
         //项目组成员
-        ArrayList<User> users = new ArrayList<>();
-        if (StringUtils.isNotBlank(externalUnitProjectRecords.getProjectMember())){
-            if (externalUnitProjectRecords.getProjectMember().contains(",")){
-                String[] split = externalUnitProjectRecords.getProjectMember().split(",");
-                for (String s : split) {
-                    User user = UserUtils.get(s);
-                    if (user.getRoleList() != null){
-                        for (Role role : user.getRoleList()) {
-                            if (role.getEnname().equals("sgf")){
-                                users.add(user);
-                            }
-                        }
-                    }
 
-                }
-            }else {
-                User user = UserUtils.get(externalUnitProjectRecords.getProjectMember());
-                if (user.getRoleList() != null){
-                    for (Role role : user.getRoleList()) {
-                        if (role.getEnname().equals("sgf")){
+        Set<String> roleActivityUserIds = new HashSet<>();
+        for (User user : roleActivityEnname) {
+            roleActivityUserIds.add(user.getId());
+        }
+
+        // 初始化项目成员列表
+        List<User> users = new ArrayList<>();
+
+        // 获取项目成员并进行处理
+        String projectMemberStr = externalUnitProjectRecords.getProjectMember();
+        if (StringUtils.isNotBlank(projectMemberStr)) {
+            if (projectMemberStr.contains(",")) {
+                // 处理多个成员
+                String[] members = projectMemberStr.split(",");
+                for (String memberId : members) {
+                    if (roleActivityUserIds.contains(memberId)) {
+                        User user = UserUtils.get(memberId);
+                        if (user != null) {
                             users.add(user);
                         }
                     }
                 }
+            } else {
+                // 只有一个成员的情况
+                User singleMember = UserUtils.get(projectMemberStr);
+                if (singleMember != null && roleActivityUserIds.contains(singleMember.getId())) {
+                    users.add(singleMember);
+                }
             }
         }
 
@@ -162,31 +168,41 @@ public class ExternalUnitCapitalDemandController extends BaseController {
         //项目基本信息
         ExternalUnitProjectRecords externalUnitProjectRecords = unitProjectRecordsService.get(capitalDemand.getProjectId());
         capitalDemand.setProject(externalUnitProjectRecords);
-//项目组成员
-        ArrayList<User> users = new ArrayList<>();
-        if (StringUtils.isNotBlank(externalUnitProjectRecords.getProjectMember())){
-            if (externalUnitProjectRecords.getProjectMember().contains(",")){
-                String[] split = externalUnitProjectRecords.getProjectMember().split(",");
-                for (String s : split) {
-                    User user = UserUtils.get(s);
-                    if (user.getRoleList() != null){
-                        for (Role role : user.getRoleList()) {
-                            if (role.getEnname().equals("sgf")){
-                                users.add(user);
-                            }
-                        }
-                    }
 
-                }
-            }else {
-                User user = UserUtils.get(externalUnitProjectRecords.getProjectMember());
-                if (user.getRoleList() != null){
-                    for (Role role : user.getRoleList()) {
-                        if (role.getEnname().equals("sgf")){
+        Office office = officeService.getByName("外部单位");
+
+        List<User> roleActivityEnname = UserUtils.getByRoleActivityEnname("sgf", 3, office.getId(),office.getParent().getId(), "5");
+
+        //项目组成员
+
+        Set<String> roleActivityUserIds = new HashSet<>();
+        for (User user : roleActivityEnname) {
+            roleActivityUserIds.add(user.getId());
+        }
+
+        // 初始化项目成员列表
+        List<User> users = new ArrayList<>();
+
+        // 获取项目成员并进行处理
+        String projectMemberStr = externalUnitProjectRecords.getProjectMember();
+        if (StringUtils.isNotBlank(projectMemberStr)) {
+            if (projectMemberStr.contains(",")) {
+                // 处理多个成员
+                String[] members = projectMemberStr.split(",");
+                for (String memberId : members) {
+                    if (roleActivityUserIds.contains(memberId)) {
+                        User user = UserUtils.get(memberId);
+                        if (user != null) {
                             users.add(user);
                         }
                     }
                 }
+            } else {
+                // 只有一个成员的情况
+                User singleMember = UserUtils.get(projectMemberStr);
+                if (singleMember != null && roleActivityUserIds.contains(singleMember.getId())) {
+                    users.add(singleMember);
+                }
             }
         }
         model.addAttribute("projectMembers", users);