fix: 权限问题
This commit is contained in:
+178
-36
@@ -1,6 +1,7 @@
|
|||||||
package com.jero.modules.laws.enterprise.service.impl;
|
package com.jero.modules.laws.enterprise.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
@@ -133,16 +134,35 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
authUserWrapper.eq(EnterpriseStandardAuthUser::getAuthUser, userId);
|
authUserWrapper.eq(EnterpriseStandardAuthUser::getAuthUser, userId);
|
||||||
authUserWrapper.ge(EnterpriseStandardAuthUser::getAuthExpireDate, date);
|
authUserWrapper.ge(EnterpriseStandardAuthUser::getAuthExpireDate, date);
|
||||||
List<EnterpriseStandardAuthUser> authUserList = list(authUserWrapper);
|
List<EnterpriseStandardAuthUser> authUserList = list(authUserWrapper);
|
||||||
Set<String> authStandardIds = authUserList.stream().map(EnterpriseStandardAuthUser::getStandardId).collect(Collectors.toSet());
|
Set<String> tempAuthStandardIds = authUserList.stream().map(EnterpriseStandardAuthUser::getStandardId).collect(Collectors.toSet());
|
||||||
|
// 查询临时授权部门
|
||||||
|
LambdaQueryWrapper<EnterpriseStandardAuthDept> tempAuthDeptWrapper = new LambdaQueryWrapper<>();
|
||||||
|
tempAuthDeptWrapper.in(CollUtil.isNotEmpty(standardIds), EnterpriseStandardAuthDept::getStandardId, standardIds);
|
||||||
|
tempAuthDeptWrapper.in(CollUtil.isNotEmpty(departIds), EnterpriseStandardAuthDept::getAuthDept, departIds);
|
||||||
|
tempAuthDeptWrapper.isNotNull(EnterpriseStandardAuthDept::getAuthExpireDate);
|
||||||
|
tempAuthDeptWrapper.isNotNull(EnterpriseStandardAuthDept::getAuthDept);
|
||||||
|
List<EnterpriseStandardAuthDept> tempAuthDeptList = authDeptService.list(tempAuthDeptWrapper);
|
||||||
|
tempAuthDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
||||||
|
tempAuthDeptList.addAll(authDeptService.list(tempAuthDeptWrapper));
|
||||||
|
// 找出授权部门 和 临时授权部门
|
||||||
|
tempAuthStandardIds.addAll(tempAuthDeptList.stream().map(EnterpriseStandardAuthDept::getStandardId).collect(Collectors.toSet()));
|
||||||
|
|
||||||
// 查询授权部门-和临时授权部门
|
// 查询授权部门
|
||||||
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
||||||
authDeptWrapper.in(CollUtil.isNotEmpty(standardIds), EnterpriseStandardAuthDept::getStandardId, standardIds);
|
authDeptWrapper.in(CollUtil.isNotEmpty(standardIds), EnterpriseStandardAuthDept::getStandardId, standardIds);
|
||||||
authDeptWrapper.in(CollUtil.isNotEmpty(departIds), EnterpriseStandardAuthDept::getAuthDept, departIds);
|
authDeptWrapper.isNull(EnterpriseStandardAuthDept::getAuthExpireDate);
|
||||||
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
||||||
authDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
|
||||||
authDeptList.addAll(authDeptService.list(authDeptWrapper));
|
authDeptList.addAll(authDeptService.list(authDeptWrapper));
|
||||||
authStandardIds.addAll(authDeptList.stream().map(EnterpriseStandardAuthDept::getStandardId).collect(Collectors.toSet()));
|
|
||||||
|
// 企标级别授权的部门
|
||||||
|
List<LawsEnterpriseStandardLevel> standardLevelList = standardLevelService.list();
|
||||||
|
List<LawsGrade> gradeList = gradeService.list();
|
||||||
|
Map<Integer, LawsGrade> gradeMap = gradeList.stream().collect(Collectors.toMap(LawsGrade::getLevel, e -> e));
|
||||||
|
|
||||||
|
List<String> levelOneDeptIds = standardLevelList.stream().filter(l -> l.getGradeId().equals(gradeMap.get(1).getId()))
|
||||||
|
.map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||||
|
List<String> levelTwoDeptIds = standardLevelList.stream().filter(l -> l.getGradeId().equals(gradeMap.get(2).getId()))
|
||||||
|
.map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||||
|
|
||||||
// 起草部门有所有企标的查看权限
|
// 起草部门有所有企标的查看权限
|
||||||
if (!departNames.isEmpty() && departNames.contains(draftDepartName)) {
|
if (!departNames.isEmpty() && departNames.contains(draftDepartName)) {
|
||||||
@@ -152,9 +172,14 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
}
|
}
|
||||||
for (Map<String, Object> map : records) {
|
for (Map<String, Object> map : records) {
|
||||||
String standardId = (String) map.get(FieldCommon.ID);
|
String standardId = (String) map.get(FieldCommon.ID);
|
||||||
|
Set<EnterpriseStandardAuthDept> curAuthSet = authDeptList.stream()
|
||||||
|
.filter(e -> e.getAuthDept() != null)
|
||||||
|
.filter(e -> StrUtil.isNotEmpty(e.getAuthDept()))
|
||||||
|
.filter(e -> e.getStandardId().equals(standardId))
|
||||||
|
.collect(Collectors.toSet());
|
||||||
LawsEnterpriseStandard es = esMap.get(standardId);
|
LawsEnterpriseStandard es = esMap.get(standardId);
|
||||||
// 授权部门和临时权限
|
// 临时权限
|
||||||
if (authStandardIds.contains(standardId)) {
|
if (tempAuthStandardIds.contains(standardId)) {
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -165,6 +190,28 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// 授权部门
|
||||||
|
if (curAuthSet.size() > 0) {
|
||||||
|
// 如果授权部门不等于0
|
||||||
|
if (curAuthSet.stream().map(EnterpriseStandardAuthDept::getAuthDept).anyMatch(departIds::contains)) {
|
||||||
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 企标等级分类级别可查看部门
|
||||||
|
if ("2".equals(gradeClassification)) {
|
||||||
|
if (levelOneDeptIds.stream().anyMatch(departIds::contains)) {
|
||||||
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ("3".equals(gradeClassification)) {
|
||||||
|
if (levelTwoDeptIds.stream().anyMatch(departIds::contains)) {
|
||||||
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
map.put(FieldCommon.DETAIL_FLAG, false);
|
map.put(FieldCommon.DETAIL_FLAG, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,37 +247,77 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
authUserWrapper.eq(EnterpriseStandardAuthUser::getAuthUser, userId);
|
authUserWrapper.eq(EnterpriseStandardAuthUser::getAuthUser, userId);
|
||||||
authUserWrapper.ge(EnterpriseStandardAuthUser::getAuthExpireDate, date);
|
authUserWrapper.ge(EnterpriseStandardAuthUser::getAuthExpireDate, date);
|
||||||
List<EnterpriseStandardAuthUser> authUserList = list(authUserWrapper);
|
List<EnterpriseStandardAuthUser> authUserList = list(authUserWrapper);
|
||||||
Set<String> authStandardIds = authUserList.stream().map(EnterpriseStandardAuthUser::getStandardId).collect(Collectors.toSet());
|
Set<String> tempAuthStandardIds = authUserList.stream().map(EnterpriseStandardAuthUser::getStandardId).collect(Collectors.toSet());
|
||||||
|
// 查询临时授权部门
|
||||||
|
LambdaQueryWrapper<EnterpriseStandardAuthDept> tempAuthDeptWrapper = new LambdaQueryWrapper<>();
|
||||||
|
tempAuthDeptWrapper.in(CollUtil.isNotEmpty(standardIds), EnterpriseStandardAuthDept::getStandardId, standardIds);
|
||||||
|
tempAuthDeptWrapper.in(CollUtil.isNotEmpty(departIds), EnterpriseStandardAuthDept::getAuthDept, departIds);
|
||||||
|
tempAuthDeptWrapper.isNotNull(EnterpriseStandardAuthDept::getAuthExpireDate);
|
||||||
|
tempAuthDeptWrapper.isNotNull(EnterpriseStandardAuthDept::getAuthDept);
|
||||||
|
List<EnterpriseStandardAuthDept> tempAuthDeptList = authDeptService.list(tempAuthDeptWrapper);
|
||||||
|
tempAuthDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
||||||
|
tempAuthDeptList.addAll(authDeptService.list(tempAuthDeptWrapper));
|
||||||
|
// 找出授权部门 和 临时授权部门
|
||||||
|
tempAuthStandardIds.addAll(tempAuthDeptList.stream().map(EnterpriseStandardAuthDept::getStandardId).collect(Collectors.toSet()));
|
||||||
|
|
||||||
// 查询授权部门-和临时授权部门
|
// 查询授权部门
|
||||||
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
||||||
authDeptWrapper.in(CollUtil.isNotEmpty(standardIds), EnterpriseStandardAuthDept::getStandardId, standardIds);
|
authDeptWrapper.in(CollUtil.isNotEmpty(standardIds), EnterpriseStandardAuthDept::getStandardId, standardIds);
|
||||||
authDeptWrapper.in(CollUtil.isNotEmpty(departIds), EnterpriseStandardAuthDept::getAuthDept, departIds);
|
authDeptWrapper.isNull(EnterpriseStandardAuthDept::getAuthExpireDate);
|
||||||
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
||||||
authDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
|
||||||
authDeptList.addAll(authDeptService.list(authDeptWrapper));
|
authDeptList.addAll(authDeptService.list(authDeptWrapper));
|
||||||
authStandardIds.addAll(authDeptList.stream().map(EnterpriseStandardAuthDept::getStandardId).collect(Collectors.toSet()));
|
|
||||||
|
// 企标级别授权的部门
|
||||||
|
List<LawsEnterpriseStandardLevel> standardLevelList = standardLevelService.list();
|
||||||
|
List<LawsGrade> gradeList = gradeService.list();
|
||||||
|
Map<Integer, LawsGrade> gradeMap = gradeList.stream().collect(Collectors.toMap(LawsGrade::getLevel, e -> e));
|
||||||
|
|
||||||
|
List<String> levelOneDeptIds = standardLevelList.stream().filter(l -> l.getGradeId().equals(gradeMap.get(1).getId()))
|
||||||
|
.map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||||
|
List<String> levelTwoDeptIds = standardLevelList.stream().filter(l -> l.getGradeId().equals(gradeMap.get(2).getId()))
|
||||||
|
.map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||||
|
|
||||||
// 起草部门有所有企标的查看权限
|
// 起草部门有所有企标的查看权限
|
||||||
if (!departNames.isEmpty() && departNames.contains(draftDepartName)) {
|
if (!departNames.isEmpty() && departNames.contains(draftDepartName)) {
|
||||||
// 全部设置为有权限
|
// 全部设置为有权限
|
||||||
records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, true));
|
records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, true));
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
for (Map<String, Object> map : records) {
|
for (Map<String, Object> map : records) {
|
||||||
String standardId = (String) map.get(FieldCommon.ID);
|
String standardId = (String) map.get(FieldCommon.ID);
|
||||||
|
Set<EnterpriseStandardAuthDept> curAuthSet = authDeptList.stream()
|
||||||
|
.filter(e -> e.getAuthDept() != null)
|
||||||
|
.filter(e -> StrUtil.isNotEmpty(e.getAuthDept()))
|
||||||
|
.filter(e -> e.getStandardId().equals(standardId))
|
||||||
|
.collect(Collectors.toSet());
|
||||||
LawsEnterpriseStandard es = esMap.get(standardId);
|
LawsEnterpriseStandard es = esMap.get(standardId);
|
||||||
// 授权部门和临时权限
|
// 临时权限
|
||||||
if (authStandardIds.contains(standardId)) {
|
if (tempAuthStandardIds.contains(standardId)) {
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// 等级分类
|
// 等级分类
|
||||||
String gradeClassification = es.getGradeClassification();
|
String gradeClassification = es.getGradeClassification();
|
||||||
// 全公司可以看
|
// 授权部门
|
||||||
if ("1".equals(gradeClassification)) {
|
if (curAuthSet.size() > 0) {
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
// 如果授权部门不等于0
|
||||||
continue;
|
if (curAuthSet.stream().map(EnterpriseStandardAuthDept::getAuthDept).anyMatch(departIds::contains)) {
|
||||||
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 企标等级分类级别可查看部门
|
||||||
|
if ("2".equals(gradeClassification)) {
|
||||||
|
if (levelOneDeptIds.stream().anyMatch(departIds::contains)) {
|
||||||
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ("3".equals(gradeClassification)) {
|
||||||
|
if (levelTwoDeptIds.stream().anyMatch(departIds::contains)) {
|
||||||
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
map.put(FieldCommon.DETAIL_FLAG, false);
|
map.put(FieldCommon.DETAIL_FLAG, false);
|
||||||
}
|
}
|
||||||
@@ -369,10 +456,6 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
List<DepartIdModel> departIdModels = sysUserDepartService.queryDepartIdsOfUser(userId);
|
List<DepartIdModel> departIdModels = sysUserDepartService.queryDepartIdsOfUser(userId);
|
||||||
List<String> departIds = departIdModels.stream().map(DepartIdModel::getKey).collect(Collectors.toList());
|
List<String> departIds = departIdModels.stream().map(DepartIdModel::getKey).collect(Collectors.toList());
|
||||||
List<String> departNames = departIdModels.stream().map(DepartIdModel::getTitle).collect(Collectors.toList());
|
List<String> departNames = departIdModels.stream().map(DepartIdModel::getTitle).collect(Collectors.toList());
|
||||||
// 起草部门有全部企标的查看权限
|
|
||||||
if (departNames.contains(draftDepartName)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (StringUtils.isBlank(standardId) && StringUtils.isBlank(standardNumber)) {
|
if (StringUtils.isBlank(standardId) && StringUtils.isBlank(standardNumber)) {
|
||||||
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "id和标准号不能同时为空");
|
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "id和标准号不能同时为空");
|
||||||
@@ -383,12 +466,6 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
LawsEnterpriseStandard es = enterpriseStandardService.getOne(lambdaQueryWrapper);
|
LawsEnterpriseStandard es = enterpriseStandardService.getOne(lambdaQueryWrapper);
|
||||||
standardId = es.getId();
|
standardId = es.getId();
|
||||||
}
|
}
|
||||||
// 判断企标是不是公开的
|
|
||||||
LawsEnterpriseStandard es = enterpriseStandardService.getById(standardId);
|
|
||||||
String gradeClassification = es.getGradeClassification();
|
|
||||||
if (gradeClassification.equals("1")) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询临时授权人员
|
// 查询临时授权人员
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
@@ -397,18 +474,80 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
authUserWrapper.eq(EnterpriseStandardAuthUser::getAuthUser, userId);
|
authUserWrapper.eq(EnterpriseStandardAuthUser::getAuthUser, userId);
|
||||||
authUserWrapper.ge(EnterpriseStandardAuthUser::getAuthExpireDate, date);
|
authUserWrapper.ge(EnterpriseStandardAuthUser::getAuthExpireDate, date);
|
||||||
List<EnterpriseStandardAuthUser> authUserList = list(authUserWrapper);
|
List<EnterpriseStandardAuthUser> authUserList = list(authUserWrapper);
|
||||||
if (authUserList.size() > 0) {
|
Set<String> tempAuthStandardIds = authUserList.stream().map(EnterpriseStandardAuthUser::getStandardId).collect(Collectors.toSet());
|
||||||
return true;
|
// 查询临时授权部门
|
||||||
}
|
LambdaQueryWrapper<EnterpriseStandardAuthDept> tempAuthDeptWrapper = new LambdaQueryWrapper<>();
|
||||||
// 查询授权部门-和临时授权部门
|
tempAuthDeptWrapper.eq(EnterpriseStandardAuthDept::getStandardId, standardId);
|
||||||
|
tempAuthDeptWrapper.in(CollUtil.isNotEmpty(departIds), EnterpriseStandardAuthDept::getAuthDept, departIds);
|
||||||
|
tempAuthDeptWrapper.isNotNull(EnterpriseStandardAuthDept::getAuthExpireDate);
|
||||||
|
tempAuthDeptWrapper.isNotNull(EnterpriseStandardAuthDept::getAuthDept);
|
||||||
|
List<EnterpriseStandardAuthDept> tempAuthDeptList = authDeptService.list(tempAuthDeptWrapper);
|
||||||
|
tempAuthDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
||||||
|
tempAuthDeptList.addAll(authDeptService.list(tempAuthDeptWrapper));
|
||||||
|
// 找出授权部门 和 临时授权部门
|
||||||
|
tempAuthStandardIds.addAll(tempAuthDeptList.stream().map(EnterpriseStandardAuthDept::getStandardId).collect(Collectors.toSet()));
|
||||||
|
|
||||||
|
// 查询授权部门
|
||||||
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
||||||
authDeptWrapper.eq(EnterpriseStandardAuthDept::getStandardId, standardId);
|
authDeptWrapper.eq(EnterpriseStandardAuthDept::getStandardId, standardId);
|
||||||
authDeptWrapper.in(CollUtil.isNotEmpty(departIds), EnterpriseStandardAuthDept::getAuthDept, departIds);
|
authDeptWrapper.isNull(EnterpriseStandardAuthDept::getAuthExpireDate);
|
||||||
authDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
|
||||||
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
||||||
if (authDeptList.size() > 0) {
|
authDeptList.addAll(authDeptService.list(authDeptWrapper));
|
||||||
|
|
||||||
|
// 企标级别授权的部门
|
||||||
|
List<LawsEnterpriseStandardLevel> standardLevelList = standardLevelService.list();
|
||||||
|
List<LawsGrade> gradeList = gradeService.list();
|
||||||
|
Map<Integer, LawsGrade> gradeMap = gradeList.stream().collect(Collectors.toMap(LawsGrade::getLevel, e -> e));
|
||||||
|
|
||||||
|
List<String> levelOneDeptIds = standardLevelList.stream().filter(l -> l.getGradeId().equals(gradeMap.get(1).getId()))
|
||||||
|
.map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||||
|
List<String> levelTwoDeptIds = standardLevelList.stream().filter(l -> l.getGradeId().equals(gradeMap.get(2).getId()))
|
||||||
|
.map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 起草部门有所有企标的查看权限
|
||||||
|
if (!departNames.isEmpty() && departNames.contains(draftDepartName)) {
|
||||||
|
// 全部设置为有权限
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String finalStandardId = standardId;
|
||||||
|
Set<EnterpriseStandardAuthDept> curAuthSet = authDeptList.stream()
|
||||||
|
.filter(e -> e.getAuthDept() != null)
|
||||||
|
.filter(e -> StrUtil.isNotEmpty(e.getAuthDept()))
|
||||||
|
.filter(e -> e.getStandardId().equals(finalStandardId))
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
LawsEnterpriseStandard es = enterpriseStandardService.getById(standardId);
|
||||||
|
|
||||||
|
// 临时权限
|
||||||
|
if (tempAuthStandardIds.contains(standardId)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// 等级分类
|
||||||
|
String gradeClassification = es.getGradeClassification();
|
||||||
|
// 全公司可以看
|
||||||
|
if ("1".equals(gradeClassification)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// 授权部门
|
||||||
|
if (curAuthSet.size() > 0) {
|
||||||
|
// 如果授权部门不等于0
|
||||||
|
if (curAuthSet.stream().map(EnterpriseStandardAuthDept::getAuthDept).anyMatch(departIds::contains)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 企标等级分类级别可查看部门
|
||||||
|
if ("2".equals(gradeClassification)) {
|
||||||
|
if (levelOneDeptIds.stream().anyMatch(departIds::contains)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ("3".equals(gradeClassification)) {
|
||||||
|
if (levelTwoDeptIds.stream().anyMatch(departIds::contains)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -459,6 +598,9 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
authDeptService.remove(wrapper);
|
authDeptService.remove(wrapper);
|
||||||
|
|
||||||
List<EnterpriseStandardAuthDept> authDeptList = new ArrayList<>();
|
List<EnterpriseStandardAuthDept> authDeptList = new ArrayList<>();
|
||||||
|
if (authDeptIdList.length == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
for (String deptId : authDeptIdList) {
|
for (String deptId : authDeptIdList) {
|
||||||
EnterpriseStandardAuthDept authDept1 = new EnterpriseStandardAuthDept();
|
EnterpriseStandardAuthDept authDept1 = new EnterpriseStandardAuthDept();
|
||||||
authDept1.setStandardId(id);
|
authDept1.setStandardId(id);
|
||||||
|
|||||||
Reference in New Issue
Block a user