4
0
Эх сурвалжийг харах

作者:张哲
时间:2022/12/27
类型:优化
描述:修改TAPD中bug

ZizgZh 2 жил өмнө
parent
commit
2a6f821c73

+ 13 - 0
src/main/java/com/redxun/knowledge/common/UserService.java

@@ -59,6 +59,17 @@ public class UserService {
         return fullName;
     }
 
+    /**
+     * 获取当前系统登录用户部门id
+     *
+     * @return
+     */
+    public String queryLoginUserDeptId() {
+        String userId = queryLoginUser();
+        String deptId = userClient.findByUserId(userId).getDeptId();
+        return deptId;
+    }
+
     /**
      * 根据用户ID查询用户对象
      *
@@ -84,4 +95,6 @@ public class UserService {
         }
         return userClient.findByUserId(userId);
     }
+
+
 }

+ 2 - 0
src/main/java/com/redxun/knowledge/controller/TestController.java

@@ -88,6 +88,8 @@ public class TestController extends BaseController {
         JsonResult jsonResult = JsonResult.getSuccessResult("返回数据成功!");
         JPaasUser jPaasUser = userService.queryUser("0000001");
         jsonResult.setData(jPaasUser);
+        log.info("当前登录人id -> {}",userService.queryLoginUser());
+        log.info("当前登录人姓名 -> {}",userService.queryLoginUserName());
         return jsonResult;
     }
 }

+ 3 - 0
src/main/java/com/redxun/knowledge/entity/vo/KnowledgeApprovalListVo.java

@@ -73,6 +73,9 @@ public class KnowledgeApprovalListVo {
     //审批人名称
     private String approverName;
 
+    //审批人Id
+    private String approverId;
+
     private KnowledgeCategoryAdminVo knowledgeCategoryAdminVo;
 }
 

+ 2 - 1
src/main/java/com/redxun/knowledge/mapper/KnowledgeMapper.java

@@ -27,5 +27,6 @@ public interface KnowledgeMapper extends BaseDao<Knowledge> {
     // 修改知识审核状态
     void updateApprovalStatus(@Param("knowledgeId") String knowledgeId,@Param("status") Integer status);
 
-    Integer countAuditKnowledge();
+    // 查询待审核的知识数量
+    Integer countAuditKnowledge(@Param("userId") String userId,@Param("deptId") String deptId);
 }

+ 1 - 1
src/main/java/com/redxun/knowledge/service/BannerServiceImpl.java

@@ -201,7 +201,7 @@ public class BannerServiceImpl extends SuperServiceImpl<BannerMapper, Banner> im
     public List<BannerPcVo> getAllList() {
         QueryWrapper<Banner> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("ENABLED",1);
-        queryWrapper.orderByDesc("ASC").orderByDesc("CREATE_TIME_");
+        queryWrapper.orderByAsc("SORT").orderByDesc("CREATE_TIME_");
         List<Banner> bannersList = bannerMapper.selectList(queryWrapper);
         List<Banner> result = bannersList.parallelStream().limit(10).collect(Collectors.toList());
         List<BannerPcVo> collectBannerPcVo = result.parallelStream().map(e -> {

+ 32 - 17
src/main/java/com/redxun/knowledge/service/KnowledgeCategoryServiceImpl.java

@@ -90,23 +90,38 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
         Map<String, Object> params = PageHelper.constructParams(filter);
         IPage page = knowledgeCategoryMapper.findAllKnowledgeCategory(filter.getPage(), filter.getParams(), params);
         List<KnowledgeCategoryAdminVo> knowledgeCategoryList = page.getRecords();
-        // 查询顶级记录的所有子集合(顶级记录id为0)
-        List<KnowledgeCategoryAdminVo> collect = knowledgeCategoryList.
-                stream().
-                filter(knowledgeCategoryAdminVo -> "0".equals(knowledgeCategoryAdminVo.getParent())).
-                collect(Collectors.toList());
-        // 查询其孩子节点
-        collect.forEach(e -> {
-            e.setLevel(1);
-            List<KnowledgeCategoryAdminVo> childrens = findChildrens(e);
-            if (childrens.size() == 0){
-                e.setChildren(null);
-            } else {
-                e.setChildren(childrens);
-            }
-        });
-        // 把数据放回到分页中,结果返回
-        page.setRecords(collect);
+        // 如果有name参数,特殊处理
+        if (!filter.getParams().containsKey("name")){
+            // 查询顶级记录的所有子集合(顶级记录id为0)
+            List<KnowledgeCategoryAdminVo> collect = knowledgeCategoryList.
+                    stream().
+                    filter(knowledgeCategoryAdminVo -> "0".equals(knowledgeCategoryAdminVo.getParent())).
+                    collect(Collectors.toList());
+            // 查询其孩子节点
+            collect.forEach(e -> {
+                e.setLevel(1);
+                List<KnowledgeCategoryAdminVo> childrens = findChildrens(e);
+                if (childrens.size() == 0){
+                    e.setChildren(null);
+                } else {
+                    e.setChildren(childrens);
+                }
+            });
+            // 把数据放回到分页中,结果返回
+            page.setRecords(collect);
+        } else {
+            knowledgeCategoryList.forEach(e -> {
+                e.setLevel(1);
+                List<KnowledgeCategoryAdminVo> childrens = findChildrens(e);
+                if (childrens.size() == 0){
+                    e.setChildren(null);
+                } else {
+                    e.setChildren(childrens);
+                }
+            });
+            page.setRecords(knowledgeCategoryList);
+        }
+        //page.setTotal(collect.size());
         return page;
     }
 

+ 7 - 8
src/main/java/com/redxun/knowledge/service/KnowledgeServiceImpl.java

@@ -63,9 +63,6 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
     @Autowired
     private SearchService searchService;
 
-    @Autowired
-    private UserClient userClient;
-
     @Override
     public BaseDao<Knowledge> getRepository() {
         return knowledgeMapper;
@@ -279,6 +276,8 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
      */
     public IPage findAllAuditKnowledge(QueryFilter filter) {
         Map<String, Object> params = PageHelper.constructParams(filter);
+        filter.getParams().put("userId",userService.queryLoginUser());
+        filter.getParams().put("deptId",userService.queryLoginUserDeptId());
         // 只查询待节点审核的数据
         IPage page = knowledgeMapper.findAllAuditKnowledge(filter.getPage(), filter.getParams(), params);
         List<KnowledgeVo> knowledgeVoList = page.getRecords();
@@ -286,10 +285,8 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         knowledgeVoList.forEach(e -> {
             KnowledgeCategoryAdminVo knowledgeCategoryAdminVo = knowledgeCategoryService.findAllParentByCategoryId(e.getCategoryId());
             e.setKnowledgeCategoryAdminVo(knowledgeCategoryAdminVo);
-            JPaasUser jPaasUser = userClient.getUserById(e.getApproverId());
-            String deptId = jPaasUser.getDeptId();
             List<KnowledgeApprove> knowledgerList = knowledgeApproveMapper.selectList(
-                    new QueryWrapper<KnowledgeApprove>().eq("APPROVER_ID",e.getApproverId()).or().eq("APPROVER_ID",deptId).eq("KNOWLEDGER_ID", e.getPkId()).isNull("RESULT").orderByAsc("SORT"));
+                    new QueryWrapper<KnowledgeApprove>().eq("KNOWLEDGER_ID", e.getPkId()).orderByAsc("SORT"));
             e.setApprovalsFirst(knowledgerList.get(0));
         });
         // 数据大于99条,取前99条数据返回
@@ -347,10 +344,12 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
     }
 
     /**
-     * 获取未审核知识的数量
+     * 获取当前人未审核知识的数量
      * @return
      */
     public Integer getAuditKnowledgeSum() {
-        return knowledgeMapper.countAuditKnowledge();
+        String userId = userService.queryLoginUser();
+        String deptId = userService.queryLoginUserDeptId();
+        return knowledgeMapper.countAuditKnowledge(userId,deptId);
     }
 }

+ 1 - 1
src/main/resources/application.yml

@@ -128,7 +128,7 @@ spring:
     nacos:
       discovery:
         metadata:
-          developer: yl
+          developer: ray
 #logging:
 #  level:
 #    root: info

+ 2 - 2
src/main/resources/mapper/knowledge/KnowledgeApproveMapper.xml

@@ -51,9 +51,9 @@
     </select>
 
     <select id="findAllKnowledgeApprove" resultType="com.redxun.knowledge.entity.vo.KnowledgeApprovalListVo">
-        SELECT ka.PK_ID,ka.KNOWLEDGER_ID,k.TITLES,k.TYPE,k.CATEGORY_ID,k.AUTHOR,
+        SELECT ka.PK_ID,ka.KNOWLEDGER_ID,k.TITLES,k.TYPE,k.CATEGORY_ID,k.AUTHOR,ka.APPROVER_ID,
         ka.CREATE_TIME_,k.APPROVAL_STATUS,ka.CREATE_BY_,ka.RESULT,ka.APPROVER_NAME,ka.APPROVAL_TIME,ka.IS_FINAL
-        from KM_KNOWLEDGE_APPROVE  ka
+        from KM_KNOWLEDGE_APPROVE ka
         JOIN KM_KNOWLEDGE k
         on ka.KNOWLEDGER_ID = k.PK_ID
         <where>

+ 5 - 2
src/main/resources/mapper/knowledge/KnowledgeCategoryMapper.xml

@@ -45,9 +45,12 @@
     FROM KM_KNOWLEDGE_CATEGORY
     <where>
         <if test="@rx.Ognl@isNotEmpty(params.name)">
-            NAME LIKE '%' || #{params.name} || '%'
+            NAME LIKE '%' || #{params.name} || '%' and IS_DEL = 0
         </if>
-        and IS_DEL = 0 and PARENT = 0
+        <if test="@rx.Ognl@isEmpty(params.name)">
+            and IS_DEL = 0 and PARENT = 0
+        </if>
+
     </where>
     ORDER BY SORT ASC,UPDATE_TIME_ DESC
     </select>

+ 20 - 11
src/main/resources/mapper/knowledge/KnowledgeMapper.xml

@@ -103,30 +103,33 @@
 
     <select id="findAllAuditKnowledge" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
         SELECT
-        <include refid="COLUMNS" />
-        FROM KM_KNOWLEDGE
+        k.PK_ID,k.CATEGORY_ID,k.TITLES,k.TYPE,k.SUMMARY,k.VIEWS,k.AUTHOR,k.CONTENT,k.ATTACHMENT,
+        k.ATTACHMENT_NAME,k.ATTACHMENT_TYPE,k.APPROVAL_STATUS,k.APPROVAL_BATCH,k.ORGANIZATION_ID,k.IS_DEL,
+        k.COMPANY_ID_,k.CREATE_DEP_ID_,k.TENANT_ID_,k.CREATE_BY_,k.CREATE_TIME_,k.UPDATE_BY_,k.UPDATE_TIME_,k.DOCUMENT_ID
+        FROM KM_KNOWLEDGE k JOIN KM_KNOWLEDGE_APPROVE ka ON k.PK_ID = ka.KNOWLEDGER_ID
         <where>
             <if test="@rx.Ognl@isNotEmpty(params.titles)">
-                TITLES LIKE '%' || #{params.titles} || '%'
+                k.TITLES LIKE '%' || #{params.titles} || '%'
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.categoryId)">
-                CATEGORY_ID = #{params.categoryId}
+                k.CATEGORY_ID = #{params.categoryId}
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.type)">
-                and TYPE = #{params.type}
+                and k.TYPE = #{params.type}
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.author)">
-                and AUTHOR LIKE '%' || #{params.author} || '%'
+                and k.AUTHOR LIKE '%' || #{params.author} || '%'
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.beginTime)">
-                and CREATE_TIME_ &gt;= TO_DATE(#{params.beginTime}, 'YYYY-MM-DD')
+                and ka.CREATE_TIME_ &gt;= TO_DATE(#{params.beginTime}, 'YYYY-MM-DD')
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.endTime)">
-                and CREATE_TIME_ &lt;= TO_DATE(#{params.endTime}, 'YYYY-MM-DD')
+                and ka.CREATE_TIME_ &lt;= TO_DATE(#{params.endTime}, 'YYYY-MM-DD')
             </if>
-            and IS_DEL = 0 and APPROVAL_STATUS = 1
+            and k.IS_DEL = 0 and (APPROVAL_STATUS = 1 OR APPROVAL_STATUS = 3) and
+            (APPROVER_ID = #{params.userId} or APPROVER_ID = #{params.deptId})
         </where>
-        ORDER BY CREATE_TIME_ DESC
+        ORDER BY ka.CREATE_TIME_ DESC
     </select>
 
     <select id="getAllKnowledgeByCategoryId" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
@@ -156,7 +159,13 @@
     </update>
 
     <select id="countAuditKnowledge" resultType="integer">
-        select count(*) from KM_KNOWLEDGE where (APPROVAL_STATUS = 1 OR APPROVAL_STATUS = 3) and IS_DEL = 0
+        select count(*) from KM_KNOWLEDGE k
+            JOIN KM_KNOWLEDGE_APPROVE ka
+            ON k.PK_ID = ka.KNOWLEDGER_ID
+            where (APPROVER_ID = #{userId} or APPROVER_ID = #{deptId})
+            and
+            (APPROVAL_STATUS = 1 OR APPROVAL_STATUS = 3)
+        and k.IS_DEL = 0
     </select>