feat: 起草部门的人员具有所有企标的查看编辑权限
This commit is contained in:
@@ -95,6 +95,9 @@ public class FieldCommon {
|
|||||||
// 被引用标准
|
// 被引用标准
|
||||||
public static final String REFERENCED_STANDARD = "referenced_standard";
|
public static final String REFERENCED_STANDARD = "referenced_standard";
|
||||||
|
|
||||||
|
// 授权部门
|
||||||
|
public static final String AUTH_DEPT = "auth_dept";
|
||||||
|
|
||||||
// 字典值统一后缀
|
// 字典值统一后缀
|
||||||
public static final String _DICT_TEXT = "_dictText";
|
public static final String _DICT_TEXT = "_dictText";
|
||||||
// 标准拆分单后缀
|
// 标准拆分单后缀
|
||||||
|
|||||||
+3
@@ -762,6 +762,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
|||||||
lawsNodeRelationService.removeByStandardId(id);
|
lawsNodeRelationService.removeByStandardId(id);
|
||||||
lawsNodeRelationService.addRelation(standardSystem, standardNumber, id);
|
lawsNodeRelationService.addRelation(standardSystem, standardNumber, id);
|
||||||
|
|
||||||
|
// 企标授权部门处理
|
||||||
|
esAuthUserService.resetAuthDept(id, parameterMap.get(FieldCommon.AUTH_DEPT).toString());
|
||||||
|
|
||||||
return MessageUtils.getMessage(ResultCommon.OK);
|
return MessageUtils.getMessage(ResultCommon.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
@@ -31,4 +31,11 @@ public interface EnterpriseStandardAuthUserService extends IService<EnterpriseSt
|
|||||||
boolean detailPermissionByUser(String standardNumber, String userId, String user);
|
boolean detailPermissionByUser(String standardNumber, String userId, String user);
|
||||||
|
|
||||||
boolean verifyESDeleteAuth(String ids, String userId);
|
boolean verifyESDeleteAuth(String ids, String userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企标编辑保存后 重置授权部门
|
||||||
|
* @param id
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
void resetAuthDept(String id,String string);
|
||||||
}
|
}
|
||||||
|
|||||||
+48
-39
@@ -18,10 +18,9 @@ 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.service.ILawsEnterpriseStandardLevelService;
|
import com.jero.modules.sys.service.ILawsEnterpriseStandardLevelService;
|
||||||
import com.jero.modules.sys.utils.UserUtils;
|
import com.jero.modules.sys.utils.UserUtils;
|
||||||
import com.jero.modules.system.entity.SysDepart;
|
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
import com.jero.modules.system.service.ISysDepartService;
|
import com.jero.modules.system.model.DepartIdModel;
|
||||||
import com.jero.modules.system.service.ISysRoleService;
|
import com.jero.modules.system.service.ISysUserDepartService;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -49,9 +48,6 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
@Resource
|
@Resource
|
||||||
private ISysUserService sysUserService;
|
private ISysUserService sysUserService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private ISysDepartService sysDepartService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ILawsEnterpriseStandardService enterpriseStandardService;
|
private ILawsEnterpriseStandardService enterpriseStandardService;
|
||||||
|
|
||||||
@@ -59,10 +55,10 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
private ILawsEnterpriseStandardLevelService standardLevelService;
|
private ILawsEnterpriseStandardLevelService standardLevelService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ISysRoleService sysRoleService;
|
private ISysUserService sysUserRoleService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ISysUserService sysUserRoleService;
|
private ISysUserDepartService sysUserDepartService;
|
||||||
|
|
||||||
// 注入draftDepartName
|
// 注入draftDepartName
|
||||||
@Value("${draftDepartName}")
|
@Value("${draftDepartName}")
|
||||||
@@ -91,9 +87,9 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, false));
|
records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, false));
|
||||||
SysUser currentUser = sysUserService.getById(UserUtils.getUserId());
|
SysUser currentUser = sysUserService.getById(UserUtils.getUserId());
|
||||||
String userId = currentUser.getId();
|
String userId = currentUser.getId();
|
||||||
String deptId = currentUser.getDepartIds();
|
List<DepartIdModel> departIdModels = sysUserDepartService.queryDepartIdsOfUser(userId);
|
||||||
SysDepart dept = sysDepartService.getById(deptId);
|
List<String> departIds = departIdModels.stream().map(DepartIdModel::getKey).collect(Collectors.toList());
|
||||||
String curDeptName = dept == null ? "" : dept.getDepartName();
|
List<String> departNames = departIdModels.stream().map(DepartIdModel::getTitle).collect(Collectors.toList());
|
||||||
List<String> standardIds = new ArrayList<>();
|
List<String> standardIds = new ArrayList<>();
|
||||||
records.forEach(kv -> standardIds.add(String.valueOf(kv.get(FieldCommon.ID))));
|
records.forEach(kv -> standardIds.add(String.valueOf(kv.get(FieldCommon.ID))));
|
||||||
List<LawsEnterpriseStandard> esList = enterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
List<LawsEnterpriseStandard> esList = enterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||||
@@ -113,7 +109,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
// 查询授权部门-和临时授权部门
|
// 查询授权部门-和临时授权部门
|
||||||
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.eq(EnterpriseStandardAuthDept::getAuthDept, deptId);
|
authDeptWrapper.in(EnterpriseStandardAuthDept::getAuthDept, departIds);
|
||||||
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
||||||
authDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
authDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
||||||
authDeptList.addAll(authDeptService.list(authDeptWrapper));
|
authDeptList.addAll(authDeptService.list(authDeptWrapper));
|
||||||
@@ -124,45 +120,32 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
List<String> levelDeptIds = standardLevelList.stream().map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
List<String> levelDeptIds = standardLevelList.stream().map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||||
|
|
||||||
// 起草部门有所有企标的查看权限
|
// 起草部门有所有企标的查看权限
|
||||||
if (draftDepartName.equals(curDeptName)) {
|
if (!departNames.isEmpty() && departNames.contains(draftDepartName)) {
|
||||||
// 全部设置为有权限
|
// 全部设置为有权限
|
||||||
records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, true));
|
records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, 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);
|
||||||
LawsEnterpriseStandard es = esMap.get(standardId);
|
LawsEnterpriseStandard es = esMap.get(standardId);
|
||||||
// 等级分类
|
// 授权部门和临时权限
|
||||||
String gradeClassification = es.getGradeClassification();
|
if (authStandardIds.contains(standardId)) {
|
||||||
String mainDraftUser = es.getMainDraftingUser();
|
|
||||||
// 主起草人可以看
|
|
||||||
if (userId.equals(mainDraftUser)) {
|
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// 等级分类
|
||||||
|
String gradeClassification = es.getGradeClassification();
|
||||||
// 全公司可以看
|
// 全公司可以看
|
||||||
if (gradeClassification.equals("1")) {
|
if (gradeClassification.equals("1")) {
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// 企标等级分类级别可查看部门
|
// 企标等级分类级别可查看部门
|
||||||
if (gradeClassification.equals("2") || gradeClassification.equals("3")) {
|
if (gradeClassification.equals("2") || gradeClassification.equals("3") || gradeClassification.equals("4")) {
|
||||||
if (levelDeptIds.contains(deptId)) {
|
if (levelDeptIds.stream().anyMatch(departIds::contains)) {
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
map.put(FieldCommon.DETAIL_FLAG, true);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 企标等级分类级别可查看部门
|
|
||||||
if (gradeClassification.equals("4")) {
|
|
||||||
if (deptId.equals(es.getMainDraftingUnit())) {
|
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 授权部门和临时权限
|
|
||||||
if (authStandardIds.contains(standardId)) {
|
|
||||||
map.put(FieldCommon.DETAIL_FLAG, true);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
map.put(FieldCommon.DETAIL_FLAG, false);
|
map.put(FieldCommon.DETAIL_FLAG, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -173,6 +156,14 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
// 只有创建人和管理员才有维护的权限
|
// 只有创建人和管理员才有维护的权限
|
||||||
String userId = UserUtils.getUserId();
|
String userId = UserUtils.getUserId();
|
||||||
SysUser currentUser = sysUserService.getById(userId);
|
SysUser currentUser = sysUserService.getById(userId);
|
||||||
|
// 起草部门的人也有维护的权限
|
||||||
|
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
|
// 获取当前用户的角色roleCode
|
||||||
List<String> roleList = sysUserRoleService.getRole(currentUser.getUsername());
|
List<String> roleList = sysUserRoleService.getRole(currentUser.getUsername());
|
||||||
if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) {
|
if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) {
|
||||||
@@ -191,12 +182,11 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean detailPermissionByUser(String standardId, String standardNumber, String userId) {
|
public boolean detailPermissionByUser(String standardId, String standardNumber, String userId) {
|
||||||
SysUser user = sysUserService.getById(userId);
|
List<DepartIdModel> departIdModels = sysUserDepartService.queryDepartIdsOfUser(userId);
|
||||||
String deptId = user.getDepartIds();
|
List<String> departIds = departIdModels.stream().map(DepartIdModel::getKey).collect(Collectors.toList());
|
||||||
SysDepart dept = sysDepartService.getById(deptId);
|
List<String> departNames = departIdModels.stream().map(DepartIdModel::getTitle).collect(Collectors.toList());
|
||||||
String curDeptName = dept == null ? "" : dept.getDepartName();
|
|
||||||
// 起草部门有全部企标的查看权限
|
// 起草部门有全部企标的查看权限
|
||||||
if (draftDepartName.equals(curDeptName)) {
|
if (departNames.contains(draftDepartName)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -218,7 +208,7 @@ 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<String> levelDeptIds = standardLevelList.stream().map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||||
if (levelDeptIds.contains(deptId)) {
|
if (levelDeptIds.stream().anyMatch(departIds::contains)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -236,7 +226,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
// 查询授权部门-和临时授权部门
|
// 查询授权部门-和临时授权部门
|
||||||
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
||||||
authDeptWrapper.eq(EnterpriseStandardAuthDept::getStandardId, standardId);
|
authDeptWrapper.eq(EnterpriseStandardAuthDept::getStandardId, standardId);
|
||||||
authDeptWrapper.eq(EnterpriseStandardAuthDept::getAuthDept, deptId);
|
authDeptWrapper.in(EnterpriseStandardAuthDept::getAuthDept, departIds);
|
||||||
authDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
authDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
||||||
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
|
||||||
if (authDeptList.size() > 0) {
|
if (authDeptList.size() > 0) {
|
||||||
@@ -272,6 +262,25 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resetAuthDept(String id, String authDept) {
|
||||||
|
// 逗号拼接转换List
|
||||||
|
String[] authDeptIdList = authDept.split(",");
|
||||||
|
// 先删后增
|
||||||
|
LambdaQueryWrapper<EnterpriseStandardAuthDept> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(EnterpriseStandardAuthDept::getStandardId, id);
|
||||||
|
authDeptService.remove(wrapper);
|
||||||
|
|
||||||
|
List<EnterpriseStandardAuthDept> authDeptList = new ArrayList<>();
|
||||||
|
for (String deptId : authDeptIdList) {
|
||||||
|
EnterpriseStandardAuthDept authDept1 = new EnterpriseStandardAuthDept();
|
||||||
|
authDept1.setStandardId(id);
|
||||||
|
authDept1.setAuthDept(deptId);
|
||||||
|
authDeptList.add(authDept1);
|
||||||
|
}
|
||||||
|
authDeptService.saveBatch(authDeptList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user