Browse Source

驾驶舱班长添加超时工单

wanglt 4 tháng trước cách đây
mục cha
commit
19866e96f5

+ 23 - 19
ygtx-admin/src/main/java/com/ygtx/web/controller/system/SysPostHomePageController.java

@@ -186,25 +186,29 @@ public class SysPostHomePageController extends BaseController
     @GetMapping("/getHomePage")
     public AjaxResult getHomePage()
     {
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        SysUser user = loginUser.getUser();
-        List<Long> postIds = sysRoleService.selectRoleListByUserId(user.getUserId());
-        if (postIds!=null && !postIds.isEmpty()) {
-            SysPostHomePage postHomePage = new SysPostHomePage();
-            postHomePage.setStatus("0");
-            List<SysPostHomePage> list = sysPostHomePageService.selectSysPostHomePageList(postHomePage);
-            if (!list.isEmpty()) {
-                for (SysPostHomePage homePage:list) {
-                    if (StringUtil.isNotEmpty(homePage.getHomePageType()) && !homePage.getHomePageType().equals("-1")) {
-                        String[] roleIdStrings = homePage.getPostIds().split(",");
-                        Set<Long> roleIdSet = Arrays.stream(roleIdStrings)
-                                .map(String::trim)
-                                .map(Long::valueOf)
-                                .collect(Collectors.toSet()); // 转换为 Set,提高 contains() 效率
-
-                        boolean allMatch = postIds.stream().allMatch(roleIdSet::contains);
-                        if (allMatch) {
-                            return AjaxResult.success(homePage);
+        List<SysRole> roleList = sysRoleService.selectRolesByUserName(getUsername());
+        if (!roleList.isEmpty()) {
+            Integer roleSort = null;
+            Long userHighRoleId = null;
+            for (SysRole sysRole : roleList) {
+                if (roleSort==null || (sysRole.getRoleSort()!=null && roleSort>sysRole.getRoleSort())) {
+                    roleSort = sysRole.getRoleSort();
+                    userHighRoleId = sysRole.getRoleId();
+                }
+            }
+            if (userHighRoleId!=null) {
+                SysPostHomePage postHomePage = new SysPostHomePage();
+                postHomePage.setStatus("0");
+                List<SysPostHomePage> list = sysPostHomePageService.selectSysPostHomePageList(postHomePage);
+                if (!list.isEmpty()) {
+                    for (SysPostHomePage homePage : list) {
+                        if (StringUtil.isNotEmpty(homePage.getHomePageType()) && !homePage.getHomePageType().equals("-1")) {
+                            String[] roleIdStrings = homePage.getPostIds().split(",");
+                            for (String roleStr : roleIdStrings) {
+                                if (Long.parseLong(roleStr) == userHighRoleId) {
+                                    return AjaxResult.success(homePage);
+                                }
+                            }
                         }
                     }
                 }

+ 44 - 49
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtRepairOrderServiceImpl.java

@@ -2036,7 +2036,7 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
         result.setGfjsy(gfjsy);
 
         // 排名权限
-        String permission = getJXY(userId);
+        String permission = getJXY(loginUser.getUsername());
         if (StringUtil.isNotEmpty(permission)) {
             GxtUserScore userScoreC = new GxtUserScore();
             userScoreC.setPermission(permission);
@@ -2107,59 +2107,54 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
         return firstSameScoreIndex + 1;
     }
 
-    private String getJXY(Long userId) {
-        List<Long> postIds = sysRoleService.selectRoleListByUserId(userId);
+    private String getJXY(String userName) {
+        List<SysRole> roleList = sysRoleService.selectRolesByUserName(userName);
         String rankPermission = "";
-        if (postIds!=null && !postIds.isEmpty()) {
-            SysPostHomePage postHomePage = new SysPostHomePage();
-            postHomePage.setStatus("0");
-            postHomePage.setHomePageType("5");
-            List<SysPostHomePage> list = sysPostHomePageService.selectSysPostHomePageList(postHomePage);
-            if (!list.isEmpty()) {
-                postHomePage = list.get(0);
-                rankPermission = list.get(0).getPostIds();
-                String[] roleIdStrings = postHomePage.getPostIds().split(",");
-                Set<Long> roleIdSet = Arrays.stream(roleIdStrings)
-                        .map(String::trim)
-                        .map(Long::valueOf)
-                        .collect(Collectors.toSet()); // 转换为 Set,提高 contains() 效率
-
-                boolean allMatch = postIds.stream().allMatch(roleIdSet::contains);
-                if (!allMatch) {
-                    postHomePage = new SysPostHomePage();
-                    postHomePage.setStatus("0");
-                    postHomePage.setHomePageType("6");
-                    list = sysPostHomePageService.selectSysPostHomePageList(postHomePage);
-                    if (!list.isEmpty()) {
-                        postHomePage = list.get(0);
-                        if (StringUtil.isNotEmpty(rankPermission)) {
-                            rankPermission = rankPermission + "," + list.get(0).getPostIds();
-                        }else {
-                            rankPermission = postHomePage.getPostIds();
+        if (!roleList.isEmpty()) {
+            Integer roleSort = null;
+            Long userHighRoleId = null;
+            for (SysRole sysRole : roleList) {
+                if (roleSort==null || (sysRole.getRoleSort()!=null && roleSort>sysRole.getRoleSort())) {
+                    roleSort = sysRole.getRoleSort();
+                    userHighRoleId = sysRole.getRoleId();
+                }
+            }
+            if (userHighRoleId!=null) {
+                SysPostHomePage postHomePage = new SysPostHomePage();
+                postHomePage.setStatus("0");
+                List<SysPostHomePage> list = sysPostHomePageService.selectSysPostHomePageList(postHomePage);
+                if (!list.isEmpty()) {
+                    for (SysPostHomePage homePage : list) {
+                        if (homePage.getHomePageType().equals("5") || homePage.getHomePageType().equals("6")) {
+                            if (StringUtil.isNotEmpty(rankPermission)) {
+                                rankPermission = rankPermission + "," + homePage.getPostIds();
+                            }else {
+                                rankPermission = homePage.getPostIds();
+                            }
                         }
-                        roleIdStrings = postHomePage.getPostIds().split(",");
-                        roleIdSet = Arrays.stream(roleIdStrings)
-                                .map(String::trim)
-                                .map(Long::valueOf)
-                                .collect(Collectors.toSet()); // 转换为 Set,提高 contains() 效率
-
-                        allMatch = postIds.stream().allMatch(roleIdSet::contains);
                     }
-                }
-                if (allMatch) {
-                    String permission = "";
-                    SysUser user = new SysUser();
-                    user.setStatus("0");
-                    user.setDelFlag("0");
-                    user.setRankPermission(rankPermission);
-                    List<SysUser> users = sysUserService.selectUserListByDeptId(user);
-                    if (!users.isEmpty()) {
-                        for (SysUser sysUser : users) {
-                            permission += "," + sysUser.getUserId();
+                    for (SysPostHomePage homePage : list) {
+                        if (StringUtil.isNotEmpty(homePage.getHomePageType()) && !homePage.getHomePageType().equals("-1")) {
+                            String[] roleIdStrings = homePage.getPostIds().split(",");
+                            for (String roleStr : roleIdStrings) {
+                                if (Long.parseLong(roleStr) == userHighRoleId) {
+                                    String permission = "";
+                                    SysUser user = new SysUser();
+                                    user.setStatus("0");
+                                    user.setDelFlag("0");
+                                    user.setRankPermission(rankPermission);
+                                    List<SysUser> users = sysUserService.selectUserListByDeptId(user);
+                                    if (!users.isEmpty()) {
+                                        for (SysUser sysUser : users) {
+                                            permission += "," + sysUser.getUserId();
+                                        }
+                                        permission = permission.substring(1);
+                                    }
+                                    return permission;
+                                }
+                            }
                         }
-                        permission = permission.substring(1);
                     }
-                    return permission;
                 }
             }
         }

+ 2 - 0
ygtx-system/src/main/java/com/ygtx/system/service/ISysRoleService.java

@@ -178,4 +178,6 @@ public interface ISysRoleService
      * @return 结果
      */
     public int insertAuthUsers(Long roleId, Long[] userIds);
+
+    public List<SysRole> selectRolesByUserName(String userName);
 }

+ 5 - 0
ygtx-system/src/main/java/com/ygtx/system/service/impl/SysRoleServiceImpl.java

@@ -436,4 +436,9 @@ public class SysRoleServiceImpl implements ISysRoleService
         }
         return userRoleMapper.batchUserRole(list);
     }
+
+    @Override
+    public List<SysRole> selectRolesByUserName(String userName) {
+        return roleMapper.selectRolesByUserName(userName);
+    }
 }