feat: 企标权限3级改为主起草部门

This commit is contained in:
2023-11-14 07:12:35 +08:00
parent 10b0e16844
commit 50e4ddb71a
4 changed files with 35 additions and 53 deletions
@@ -67,10 +67,6 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
@Resource
private ISysUserDepartService sysUserDepartService;
// 注入draftDepartName
@Value("${draftDepartName}")
private String draftDepartName;
@Resource
private ILawsGradeService gradeService;
@@ -169,23 +165,16 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
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)) {
// 全部设置为有权限
records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, true));
return;
}
// 获取起草部门的Id
List<SysDepart> sysDeparts = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, draftDepartName));
for (Map<String, Object> map : records) {
String standardId = (String) map.get(FieldCommon.ID);
LawsEnterpriseStandard es = esMap.get(standardId);
String mainDraftUnit = es.getMainDraftingUnit();
Set<EnterpriseStandardAuthDept> curAuthSet = authDeptList.stream()
.filter(e -> e.getAuthDept() != null)
.filter(e -> StrUtil.isNotEmpty(e.getAuthDept()))
.filter(e -> e.getStandardId().equals(standardId))
.filter(e -> !e.getAuthDept().equals(sysDeparts.get(0).getId()))
.filter(e -> !e.getAuthDept().equals(mainDraftUnit))
.collect(Collectors.toSet());
LawsEnterpriseStandard es = esMap.get(standardId);
// 临时权限
if (tempAuthStandardIds.contains(standardId)) {
map.put(FieldCommon.DETAIL_FLAG, true);
@@ -219,6 +208,14 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
continue;
}
}
if ("4".equals(gradeClassification)) {
// 主起草部门有企标的查看权限
if (!departNames.isEmpty() && departNames.contains(mainDraftUnit)) {
// 设置为有权限
map.put(FieldCommon.DETAIL_FLAG, true);
continue;
}
}
}
map.put(FieldCommon.DETAIL_FLAG, false);
}
@@ -285,22 +282,17 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
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)) {
// 全部设置为有权限
records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, true));
}
// 获取起草部门的Id
List<SysDepart> sysDeparts = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, draftDepartName));
for (Map<String, Object> map : records) {
String standardId = (String) map.get(FieldCommon.ID);
LawsEnterpriseStandard es = esMap.get(standardId);
String mainDraftUnit = es.getMainDraftingUnit();
Set<EnterpriseStandardAuthDept> curAuthSet = authDeptList.stream()
.filter(e -> e.getAuthDept() != null)
.filter(e -> StrUtil.isNotEmpty(e.getAuthDept()))
.filter(e -> e.getStandardId().equals(standardId))
.filter(e -> !e.getAuthDept().equals(sysDeparts.get(0).getId()))
.filter(e -> !e.getAuthDept().equals(mainDraftUnit))
.collect(Collectors.toSet());
LawsEnterpriseStandard es = esMap.get(standardId);
// 临时权限
if (tempAuthStandardIds.contains(standardId)) {
map.put(FieldCommon.DETAIL_FLAG, true);
@@ -329,6 +321,14 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
continue;
}
}
if ("4".equals(gradeClassification)) {
// 主起草部门有企标的查看权限
if (!departNames.isEmpty() && departNames.contains(mainDraftUnit)) {
// 全部设置为有权限
map.put(FieldCommon.DETAIL_FLAG, true);
continue;
}
}
}
map.put(FieldCommon.DETAIL_FLAG, false);
}
@@ -350,11 +350,6 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
// 起草部门的人也有维护的权限
List<DepartIdModel> departIdModels = sysUserDepartService.queryDepartIdsOfUser(userId);
List<String> departNames = departIdModels.stream().map(DepartIdModel::getTitle).collect(Collectors.toList());
// 起草部门有全部企标的查看权限
if (departNames.contains(draftDepartName)) {
records.forEach(kv -> kv.put(FieldCommon.EDIT_FLAG, true));
return;
}
// 获取当前用户的角色roleCode
List<String> roleList = sysUserRoleService.getRole(currentUser.getUsername());
if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) {
@@ -515,23 +510,17 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
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;
}
// 获取起草部门的Id
List<SysDepart> sysDeparts = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, draftDepartName));
String finalStandardId = standardId;
LawsEnterpriseStandard es = enterpriseStandardService.getById(standardId);
String mainDraftUnit = es.getMainDraftingUnit();
Set<EnterpriseStandardAuthDept> curAuthSet = authDeptList.stream()
.filter(e -> e.getAuthDept() != null)
.filter(e -> StrUtil.isNotEmpty(e.getAuthDept()))
.filter(e -> e.getStandardId().equals(finalStandardId))
.filter(e -> !e.getAuthDept().equals(sysDeparts.get(0).getId()))
.filter(e -> !e.getAuthDept().equals(mainDraftUnit))
.collect(Collectors.toSet());
LawsEnterpriseStandard es = enterpriseStandardService.getById(standardId);
// 临时权限
if (tempAuthStandardIds.contains(standardId)) {
return true;
@@ -560,6 +549,13 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
return true;
}
}
if ("4".equals(gradeClassification)) {
// 主起草部门有企标的查看权限
if (!departNames.isEmpty() && departNames.contains(mainDraftUnit)) {
// 全部设置为有权限
return true;
}
}
}
return false;
}
@@ -578,12 +574,6 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
// 管理员有所有权限
SysUser currentUser = sysUserService.getById(userId);
String username = currentUser.getUsername();
// 起草部门的人有所有权限
List<DepartIdModel> departIdModels = sysUserDepartService.queryDepartIdsOfUser(userId);
List<String> departNames = departIdModels.stream().map(DepartIdModel::getTitle).collect(Collectors.toList());
if (departNames.contains(draftDepartName)) {
return true;
}
// 获取当前用户的角色roleCode
List<String> roleList = sysUserRoleService.getRole(currentUser.getUsername());
@@ -36,9 +36,6 @@ public class LawsGradeServiceImpl extends ServiceImpl<LawsGradeMapper, LawsGrade
@Autowired
private ISysDepartService sysDepartService;
// 注入draftDepartName
@Value("${draftDepartName}")
private String draftDepartName;
@Override
public List<LawsGrade> queryList() {
List<LawsGrade> grades = lawsGradeService.list();
@@ -58,7 +55,8 @@ public class LawsGradeServiceImpl extends ServiceImpl<LawsGradeMapper, LawsGrade
grade.setDeptIds(departIds);
}
}
grades.get(3).setDeptNames(draftDepartName);
grades.get(0).setDeptNames("供应商");
grades.get(3).setDeptNames("主起草部门");
return grades;
}
@@ -426,6 +426,3 @@ oauth:
userInfoUrl: https://iam-uat.sinotruk.com:7011/idp/oauth2/getUserInfo
# 防止跨站请求伪造(CSRF)标识(暂时不用)
state: zhongQi
# 起草部门部门名称
draftDepartName: 起草部门
@@ -343,7 +343,4 @@ file:
split:
path: /opt/onlyoffice/file/splitImage/
sourceFilePath: /app/onlyoffice/DOCX.docx
path: /app/onlyoffice/file/
# 起草部门部门名称
draftDepartName: 流程与标准化
path: /app/onlyoffice/file/