fix: 企标等级映射二级三级问题
This commit is contained in:
+44
-8
@@ -17,7 +17,9 @@ import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
|||||||
import com.jero.modules.laws.standard.entity.LawsStandardTempPermission;
|
import com.jero.modules.laws.standard.entity.LawsStandardTempPermission;
|
||||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||||
import com.jero.modules.sys.entity.LawsEnterpriseStandardLevel;
|
import com.jero.modules.sys.entity.LawsEnterpriseStandardLevel;
|
||||||
|
import com.jero.modules.sys.entity.LawsGrade;
|
||||||
import com.jero.modules.sys.service.ILawsEnterpriseStandardLevelService;
|
import com.jero.modules.sys.service.ILawsEnterpriseStandardLevelService;
|
||||||
|
import com.jero.modules.sys.service.ILawsGradeService;
|
||||||
import com.jero.modules.sys.utils.UserUtils;
|
import com.jero.modules.sys.utils.UserUtils;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
import com.jero.modules.system.model.DepartIdModel;
|
import com.jero.modules.system.model.DepartIdModel;
|
||||||
@@ -66,6 +68,9 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
@Value("${draftDepartName}")
|
@Value("${draftDepartName}")
|
||||||
private String draftDepartName;
|
private String draftDepartName;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ILawsGradeService gradeService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveTempPermission(LawsStandardTempPermission lawsStandardTempPermission) {
|
public void saveTempPermission(LawsStandardTempPermission lawsStandardTempPermission) {
|
||||||
@@ -141,7 +146,13 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
|
|
||||||
// 企标级别授权的部门
|
// 企标级别授权的部门
|
||||||
List<LawsEnterpriseStandardLevel> standardLevelList = standardLevelService.list();
|
List<LawsEnterpriseStandardLevel> standardLevelList = standardLevelService.list();
|
||||||
List<String> levelDeptIds = standardLevelList.stream().map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
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)) {
|
||||||
@@ -151,7 +162,6 @@ 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);
|
||||||
LawsEnterpriseStandard es = esMap.get(standardId);
|
LawsEnterpriseStandard es = esMap.get(standardId);
|
||||||
String mainDraftingUnit = es.getMainDraftingUnit();
|
|
||||||
// 授权部门和临时权限
|
// 授权部门和临时权限
|
||||||
if (authStandardIds.contains(standardId)) {
|
if (authStandardIds.contains(standardId)) {
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
@@ -165,8 +175,14 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// 企标等级分类级别可查看部门
|
// 企标等级分类级别可查看部门
|
||||||
if ("2".equals(gradeClassification) || "3".equals(gradeClassification)) {
|
if ("2".equals(gradeClassification)) {
|
||||||
if (levelDeptIds.stream().anyMatch(departIds::contains)) {
|
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);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -177,6 +193,13 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasESAuth(String userId, List<String> standardIds) {
|
public boolean hasESAuth(String userId, List<String> standardIds) {
|
||||||
|
SysUser currentUser = sysUserService.getById(userId);
|
||||||
|
// 管理员有所有企标的权限
|
||||||
|
List<String> roleList = sysUserRoleService.getRole(currentUser.getUsername());
|
||||||
|
if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
List<Map<String, Object>> records = new ArrayList<>();
|
List<Map<String, Object>> records = new ArrayList<>();
|
||||||
for (String id : standardIds) {
|
for (String id : standardIds) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
@@ -212,7 +235,14 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
|
|
||||||
// 企标级别授权的部门
|
// 企标级别授权的部门
|
||||||
List<LawsEnterpriseStandardLevel> standardLevelList = standardLevelService.list();
|
List<LawsEnterpriseStandardLevel> standardLevelList = standardLevelService.list();
|
||||||
List<String> levelDeptIds = standardLevelList.stream().map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
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)) {
|
||||||
@@ -230,13 +260,19 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
// 等级分类
|
// 等级分类
|
||||||
String gradeClassification = es.getGradeClassification();
|
String gradeClassification = es.getGradeClassification();
|
||||||
// 全公司可以看
|
// 全公司可以看
|
||||||
if (gradeClassification.equals("1")) {
|
if ("1".equals(gradeClassification)) {
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// 企标等级分类级别可查看部门
|
// 企标等级分类级别可查看部门
|
||||||
if (gradeClassification.equals("2") || gradeClassification.equals("3") || gradeClassification.equals("4")) {
|
if ("2".equals(gradeClassification)) {
|
||||||
if (levelDeptIds.stream().anyMatch(departIds::contains)) {
|
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);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user