Forráskód Böngészése

作者:张哲
时间:2023/05/11
类型:优化
描述:里程碑(1) 列表判断审核权限

zizg 2 éve
szülő
commit
9eae6cdcb7

+ 1 - 0
src/main/java/com/redxun/knowledge/controller/KnowledgeController.java

@@ -106,6 +106,7 @@ public class KnowledgeController extends BaseController<Knowledge> {
         jsonResult = JsonResult.getSuccessResult("");
         if (knowledgeVo == null) {
             // 知识不存在或者没有权限
+            jsonResult.setMessage("您查看的知识不存在或您没有访问权限");
             jsonResult.setData(1);
         } else {
             jsonResult.setData(knowledgeVo);

+ 103 - 102
src/main/java/com/redxun/knowledge/service/KnowledgeServiceImpl.java

@@ -276,7 +276,7 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         }
         knowledgeVo.setApprovals(approvals);
 
-        if (flag != null && flag == 1) {
+        if (flag != null && flag == 1 && knowledgeVo.getApprovalStatus() == 5) {
             // 解析组织架构/职系/职等数据
             Map<String, Object> organizationIdMap = new HashMap<>();
             if (StringUtils.isNotEmpty(knowledge.getOrganizationId())) {
@@ -300,7 +300,6 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
                     }
                 }
             }
-            //String deptId = osUserDto.getDeptId();
             // 如果知识最终审核通过,判断组织架构/职系/职等是否符合(前台判断)
             if (knowledge.getOrganizationId() == null) {
                 addCountViews(osUserDto.getUserId(), pkId);
@@ -448,124 +447,126 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
             e.setParams(map);
 
             // 解析组织架构/职系/职等数据
-            Map<String, Object> organizationIdMap = new HashMap<>();
-            if (StringUtils.isNotEmpty(e.getOrganizationId())) {
-                List<Map> mapList = JSON.parseArray(e.getOrganizationId(), Map.class);
-                for (int i = 0; i < mapList.size(); i++) {
-                    Map maps = mapList.get(i);
-                    maps.forEach((k, v) -> organizationIdMap.put((String) k, v));
+            if (e.getApprovalStatus() == 5) {
+                Map<String, Object> organizationIdMap = new HashMap<>();
+                if (StringUtils.isNotEmpty(e.getOrganizationId())) {
+                    List<Map> mapList = JSON.parseArray(e.getOrganizationId(), Map.class);
+                    for (int i = 0; i < mapList.size(); i++) {
+                        Map maps = mapList.get(i);
+                        maps.forEach((k, v) -> organizationIdMap.put((String) k, v));
+                    }
                 }
-            }
-            // 获取当前登录人的组织架构/职系/职等数据
-            OsUserDto osUserDto = userService.queryOsUserDto(userService.queryLoginUser());
-            String sequenceCode = osUserDto.getSequenceCode();
-            String slyGrade = osUserDto.getSlyGrade();
-            List<String> deptAuthority = knowledgeApproveMapper.deptAuthority(userService.queryLoginUser());
-            boolean flags = false;
-            if (StringUtils.isNotEmpty((String) organizationIdMap.get("organizationId"))) {
-                for (int i = 0; i < deptAuthority.size(); i++) {
-                    if (deptAuthority.get(i).contains((String) organizationIdMap.get("organizationId"))) {
-                        flags = true;
-                        break;
+                // 获取当前登录人的组织架构/职系/职等数据
+                OsUserDto osUserDto = userService.queryOsUserDto(userService.queryLoginUser());
+                String sequenceCode = osUserDto.getSequenceCode();
+                String slyGrade = osUserDto.getSlyGrade();
+                List<String> deptAuthority = knowledgeApproveMapper.deptAuthority(userService.queryLoginUser());
+                boolean flags = false;
+                if (StringUtils.isNotEmpty((String) organizationIdMap.get("organizationId"))) {
+                    for (int i = 0; i < deptAuthority.size(); i++) {
+                        if (deptAuthority.get(i).contains((String) organizationIdMap.get("organizationId"))) {
+                            flags = true;
+                            break;
+                        }
                     }
                 }
-            }
-            // 如果知识最终审核通过,判断组织架构/职系/职等是否符合(前台判断)
-            if (e.getOrganizationId() == null) {
-                e.setIsOrganizationId(0);
-            } else {
-                // 如果职系,职等,组织架构id全部为空
-                if (organizationIdMap.get("organizationId") == null && organizationIdMap.get("gradeId") == null &&
-                        organizationIdMap.get("gradeLevelId") == null) {
-                    // 符合条件,增加点击量
+                // 如果知识最终审核通过,判断组织架构/职系/职等是否符合(前台判断)
+                if (e.getOrganizationId() == null) {
                     e.setIsOrganizationId(0);
-                }
-                // 如果职系,职等为空,组织架构id不为空
-                if (organizationIdMap.get("organizationId") != null && organizationIdMap.get("gradeId") == null &&
-                        organizationIdMap.get("gradeLevelId") == null) {
-                    // 比较当前用户的组织架构是否符合条件
-                    if (flags) {
+                } else {
+                    // 如果职系,职等,组织架构id全部为空
+                    if (organizationIdMap.get("organizationId") == null && organizationIdMap.get("gradeId") == null &&
+                            organizationIdMap.get("gradeLevelId") == null) {
                         // 符合条件,增加点击量
                         e.setIsOrganizationId(0);
-                    } else {
-                        // 没有权限(不增加点击量)
-                        e.setIsOrganizationId(1);
                     }
-                }
+                    // 如果职系,职等为空,组织架构id不为空
+                    if (organizationIdMap.get("organizationId") != null && organizationIdMap.get("gradeId") == null &&
+                            organizationIdMap.get("gradeLevelId") == null) {
+                        // 比较当前用户的组织架构是否符合条件
+                        if (flags) {
+                            // 符合条件,增加点击量
+                            e.setIsOrganizationId(0);
+                        } else {
+                            // 没有权限(不增加点击量)
+                            e.setIsOrganizationId(1);
+                        }
+                    }
 
-                // 如果组织架构id,职等为空,职系不为空
-                if (organizationIdMap.get("organizationId") == null && organizationIdMap.get("gradeId") != null &&
-                        organizationIdMap.get("gradeLevelId") == null) {
-                    // 比较当前用户的职系是否符合条件
-                    if (sequenceCode.equals(organizationIdMap.get("gradeId"))) {
-                        // 符合条件,增加点击量
-                        e.setIsOrganizationId(0);
-                    } else {
-                        // 没有权限(不增加点击量)
-                        e.setIsOrganizationId(1);
+                    // 如果组织架构id,职等为空,职系不为空
+                    if (organizationIdMap.get("organizationId") == null && organizationIdMap.get("gradeId") != null &&
+                            organizationIdMap.get("gradeLevelId") == null) {
+                        // 比较当前用户的职系是否符合条件
+                        if (sequenceCode.equals(organizationIdMap.get("gradeId"))) {
+                            // 符合条件,增加点击量
+                            e.setIsOrganizationId(0);
+                        } else {
+                            // 没有权限(不增加点击量)
+                            e.setIsOrganizationId(1);
+                        }
                     }
-                }
 
-                // 如果组织架构id,职系为空,职等不为空
-                if (organizationIdMap.get("organizationId") == null && organizationIdMap.get("gradeId") == null &&
-                        organizationIdMap.get("gradeLevelId") != null) {
-                    // 比较当前用户的职系是否符合条件
-                    if (slyGrade.equals(organizationIdMap.get("gradeLevelId"))) {
-                        // 符合条件,增加点击量
-                        e.setIsOrganizationId(0);
-                    } else {
-                        // 没有权限(不增加点击量)
-                        e.setIsOrganizationId(1);
+                    // 如果组织架构id,职系为空,职等不为空
+                    if (organizationIdMap.get("organizationId") == null && organizationIdMap.get("gradeId") == null &&
+                            organizationIdMap.get("gradeLevelId") != null) {
+                        // 比较当前用户的职系是否符合条件
+                        if (slyGrade.equals(organizationIdMap.get("gradeLevelId"))) {
+                            // 符合条件,增加点击量
+                            e.setIsOrganizationId(0);
+                        } else {
+                            // 没有权限(不增加点击量)
+                            e.setIsOrganizationId(1);
+                        }
                     }
-                }
 
-                // 如果职等为空,组织架构id,职系不为空
-                if (organizationIdMap.get("organizationId") != null && organizationIdMap.get("gradeId") != null &&
-                        organizationIdMap.get("gradeLevelId") == null) {
-                    if (flags && sequenceCode.equals(organizationIdMap.get("gradeId"))) {
-                        // 符合条件,增加点击量
-                        e.setIsOrganizationId(0);
-                    } else {
-                        // 没有权限(不增加点击量)
-                        e.setIsOrganizationId(1);
+                    // 如果职等为空,组织架构id,职系不为空
+                    if (organizationIdMap.get("organizationId") != null && organizationIdMap.get("gradeId") != null &&
+                            organizationIdMap.get("gradeLevelId") == null) {
+                        if (flags && sequenceCode.equals(organizationIdMap.get("gradeId"))) {
+                            // 符合条件,增加点击量
+                            e.setIsOrganizationId(0);
+                        } else {
+                            // 没有权限(不增加点击量)
+                            e.setIsOrganizationId(1);
+                        }
                     }
-                }
 
-                // 如果职系为空,组织架构id,职等不为空
-                if (organizationIdMap.get("organizationId") != null && organizationIdMap.get("gradeId") == null &&
-                        organizationIdMap.get("gradeLevelId") != null) {
-                    if (flags && slyGrade.equals(organizationIdMap.get("gradeLevelId"))) {
-                        // 符合条件,增加点击量
-                        e.setIsOrganizationId(0);
-                    } else {
-                        // 没有权限(不增加点击量)
-                        e.setIsOrganizationId(1);
+                    // 如果职系为空,组织架构id,职等不为空
+                    if (organizationIdMap.get("organizationId") != null && organizationIdMap.get("gradeId") == null &&
+                            organizationIdMap.get("gradeLevelId") != null) {
+                        if (flags && slyGrade.equals(organizationIdMap.get("gradeLevelId"))) {
+                            // 符合条件,增加点击量
+                            e.setIsOrganizationId(0);
+                        } else {
+                            // 没有权限(不增加点击量)
+                            e.setIsOrganizationId(1);
+                        }
                     }
-                }
 
-                // 如果组织架构id为空,职系,职等不为空
-                if (organizationIdMap.get("organizationId") == null && organizationIdMap.get("gradeId") != null &&
-                        organizationIdMap.get("gradeLevelId") != null) {
-                    if (sequenceCode.equals(organizationIdMap.get("gradeId")) && slyGrade.equals(organizationIdMap.get("gradeLevelId"))) {
-                        // 符合条件,增加点击量
-                        e.setIsOrganizationId(0);
-                    } else {
-                        // 没有权限(不增加点击量)
-                        e.setIsOrganizationId(1);
+                    // 如果组织架构id为空,职系,职等不为空
+                    if (organizationIdMap.get("organizationId") == null && organizationIdMap.get("gradeId") != null &&
+                            organizationIdMap.get("gradeLevelId") != null) {
+                        if (sequenceCode.equals(organizationIdMap.get("gradeId")) && slyGrade.equals(organizationIdMap.get("gradeLevelId"))) {
+                            // 符合条件,增加点击量
+                            e.setIsOrganizationId(0);
+                        } else {
+                            // 没有权限(不增加点击量)
+                            e.setIsOrganizationId(1);
+                        }
                     }
-                }
 
-                // 如果组织架构id,职系,职等都不为空
-                if (organizationIdMap.get("organizationId") != null && organizationIdMap.get("gradeId") != null &&
-                        organizationIdMap.get("gradeLevelId") != null) {
-                    if (flags &&
-                            sequenceCode.equals(organizationIdMap.get("gradeId")) &&
-                            slyGrade.equals(organizationIdMap.get("gradeLevelId"))) {
-                        e.setIsOrganizationId(0);
-                        // 符合条件,增加点击量
-                    } else {
-                        // 没有权限(不增加点击量)
-                        e.setIsOrganizationId(1);
+                    // 如果组织架构id,职系,职等都不为空
+                    if (organizationIdMap.get("organizationId") != null && organizationIdMap.get("gradeId") != null &&
+                            organizationIdMap.get("gradeLevelId") != null) {
+                        if (flags &&
+                                sequenceCode.equals(organizationIdMap.get("gradeId")) &&
+                                slyGrade.equals(organizationIdMap.get("gradeLevelId"))) {
+                            e.setIsOrganizationId(0);
+                            // 符合条件,增加点击量
+                        } else {
+                            // 没有权限(不增加点击量)
+                            e.setIsOrganizationId(1);
+                        }
                     }
                 }
             }

+ 1 - 1
src/main/resources/mapper/knowledge/KnowledgeApprovalNodeFlowerMapper.xml

@@ -59,7 +59,7 @@
                            on flower.PK_ID = node.FLOWER_ID and node.IS_DEL = 0
                  left join KM_KNOWLEDGE_APPROVAL_NODE_CATEGORY category on flower.PK_ID = category.FLOWER_ID and category.IS_DEL = 0
        where flower.IS_DEL = 0
-       order by flower.CREATE_TIME_
+       order by node.IS_FINAL,node.CREATE_TIME_,flower.CREATE_TIME_
     </select>
 
     <select id="findAllNodesByCategoryId" resultType="com.redxun.knowledge.entity.vo.KnowledgeApprovalNodeVo">