|
|
@@ -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;
|
|
|
}
|
|
|
}
|
|
|
}
|