|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package com.supervision.knowsub.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
|
|
|
|
import com.supervision.knowsub.domain.UserInfo;
|
|
|
|
|
import com.supervision.knowsub.entity.vo.homepage.MyKnowledgeStatisticsResVO;
|
|
|
|
@ -68,10 +69,12 @@ public class HomepageServiceImpl implements HomepageService {
|
|
|
|
|
resVO.setLastLoginTime(systemUser.getRecentLoginTime());
|
|
|
|
|
// 首先查询用户是否有审批的权限,
|
|
|
|
|
List<Integer> roleTypeList = user.getRoleTypeList();
|
|
|
|
|
log.info("用户角色信息:{}", JSONUtil.toJsonStr(roleTypeList));
|
|
|
|
|
Long passTotalCount = knowledgeService.lambdaQuery().eq(Knowledge::getStatus, StatusEnum.PASS.getStatus()).count();
|
|
|
|
|
resVO.setKnowledgeCount(passTotalCount);
|
|
|
|
|
// 如果用户有审批权限,则以审批人的视角
|
|
|
|
|
if (roleTypeList.contains(RoleTypeEnum.KNOWLEDGE_APPROVAL.getRoleType())) {
|
|
|
|
|
log.info("用户有知识审批权限,以审批人的视角进行统计");
|
|
|
|
|
// 待审批
|
|
|
|
|
resVO.setWaitProcessCount(knowledgeFlowTodoService.lambdaQuery().eq(KnowledgeFlowTodo::getTodoUserId, user.getId()).count());
|
|
|
|
|
// 由我审批并标记为审批通过的数量
|
|
|
|
@ -83,6 +86,7 @@ public class HomepageServiceImpl implements HomepageService {
|
|
|
|
|
}
|
|
|
|
|
// 没有被配置审批权限,则以报送人员视角进行统计
|
|
|
|
|
else if (roleTypeList.contains(RoleTypeEnum.KNOWLEDGE_SUBMIT.getRoleType())) {
|
|
|
|
|
log.info("用户没有被配置知识审批权限,则以报送人员视角进行统计");
|
|
|
|
|
// 然后找到属于自己的知识的草稿
|
|
|
|
|
Long userSelfCount = knowledgeService.lambdaQuery().ne(Knowledge::getStatus, StatusEnum.PASS.getStatus())
|
|
|
|
|
.eq(Knowledge::getDraftBelongUserId, user.getId()).count();
|
|
|
|
@ -96,6 +100,8 @@ public class HomepageServiceImpl implements HomepageService {
|
|
|
|
|
resVO.setRejectProcessCount(NumberUtil.add(recallSubmitCount, recallDeleteCount, recallRecallCount).longValue());
|
|
|
|
|
resVO.setInvalidProcessCount(knowledgeSubmitRecordService.queryKnowledgeSubmitStatusCount(user.getId(), StatusEnum.INVALID.getStatus()));
|
|
|
|
|
resVO.setPassProcessCount(knowledgeSubmitRecordService.queryKnowledgeSubmitStatusCount(user.getId(), StatusEnum.PASS.getStatus()));
|
|
|
|
|
}else {
|
|
|
|
|
log.info("用户没有任何角色权限,就只展示全量的,其他的都是0");
|
|
|
|
|
}
|
|
|
|
|
// 没有任何角色权限,就只展示全量的,其他的都是0
|
|
|
|
|
return resVO;
|
|
|
|
|