|
@@ -271,6 +271,8 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
List<String> fullNameList = knowledgeMapper.selectFullNameByDeptIds(knowledge.getDownloadDeptId().split(","));
|
|
|
knowledgeVo.setDownloadDeptName(fullNameList.stream().collect(Collectors.joining(",")));
|
|
|
}
|
|
|
+ } else {
|
|
|
+ knowledgeVo.setIsAllowDownload(0);
|
|
|
}
|
|
|
if (knowledge.getIsDraft() == 0){
|
|
|
return knowledgeVo;
|
|
@@ -1017,36 +1019,50 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
private Integer isAllowDownload(String downloadUserId,String downloadDeptId){
|
|
|
String userId = userService.queryLoginUser();
|
|
|
String deptId = userService.queryLoginUserDeptId();
|
|
|
- boolean deptFlag = false;
|
|
|
- //可下载部门情况
|
|
|
- if (StringUtils.isNotEmpty(downloadDeptId)){
|
|
|
+ //二者都不为空
|
|
|
+ if (StringUtils.isNotEmpty(downloadDeptId) && StringUtils.isNotEmpty(downloadUserId)){
|
|
|
//可下载部门数组
|
|
|
List<String> deptAuthority = knowledgeApproveMapper.findAllDeptIdByParent(deptId);
|
|
|
String[] downloadDeptIdStr = downloadDeptId.split(",");
|
|
|
+ boolean flag = false;
|
|
|
for (int i = 0; i < downloadDeptIdStr.length; i++) {
|
|
|
if (deptAuthority.contains(downloadDeptIdStr[i])) {
|
|
|
- deptFlag = true;
|
|
|
+ flag = true;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- deptFlag = true;
|
|
|
-
|
|
|
- }
|
|
|
- //可下载人员情况
|
|
|
- boolean userFlag = false;
|
|
|
- if (StringUtils.isNotEmpty(downloadUserId)){
|
|
|
List<String> approverIdList = Arrays.asList(downloadUserId.split(","));
|
|
|
- userFlag = approverIdList.contains(userId);
|
|
|
+ // 如果有权限
|
|
|
+ if (!approverIdList.contains(userId) && !flag) {
|
|
|
+ // 不是该部门的人,不能查看
|
|
|
+ return 1;
|
|
|
+ } else {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
} else {
|
|
|
- userFlag = true;
|
|
|
- }
|
|
|
+ //可下载部门情况
|
|
|
+ if (StringUtils.isNotEmpty(downloadDeptId)){
|
|
|
+ //可下载部门数组
|
|
|
+ String[] downloadDeptIdStr = downloadDeptId.split(",");
|
|
|
+ for (String downloadDeptIds : downloadDeptIdStr) {
|
|
|
+ List<String> deptAuthority = knowledgeApproveMapper.findAllDeptIdByParent(downloadDeptIds);
|
|
|
+ if (deptAuthority.contains(deptId)){
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- // 如果有权限
|
|
|
- if (userFlag || deptFlag) {
|
|
|
- return 0;
|
|
|
- } else {
|
|
|
- return 1;
|
|
|
+ //可下载人员情况
|
|
|
+ if (StringUtils.isNotEmpty(downloadUserId)){
|
|
|
+ List<String> approverIdList = Arrays.asList(downloadUserId.split(","));
|
|
|
+ if (approverIdList.contains(userId)){
|
|
|
+ return 0;
|
|
|
+ } else {
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
+ return 1;
|
|
|
}
|
|
|
}
|