bugfix:修复首页统计不正确的问题

release_1.0.0
liu 11 months ago
parent 97aed8f4b8
commit 67323144e5

@ -17,7 +17,9 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Slf4j
@Service
@ -70,7 +72,8 @@ public class HomepageServiceImpl implements HomepageService {
// 首先查询用户是否有审批的权限,
List<Integer> roleTypeList = user.getRoleTypeList();
log.info("用户角色信息:{}", JSONUtil.toJsonStr(roleTypeList));
Long passTotalCount = knowledgeService.lambdaQuery().eq(Knowledge::getStatus, StatusEnum.PASS.getStatus()).count();
Set<Integer> passStatusSet = new HashSet<>(List.of(new Integer[]{2, 11, 12, 16, 17}));
Long passTotalCount = knowledgeService.lambdaQuery().in(Knowledge::getStatus, passStatusSet).count();
resVO.setKnowledgeCount(passTotalCount);
// 如果用户有审批权限,则以审批人的视角
if (roleTypeList.contains(RoleTypeEnum.KNOWLEDGE_APPROVAL.getRoleType())) {
@ -100,7 +103,7 @@ 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 {
} else {
log.info("用户没有任何角色权限,就只展示全量的,其他的都是0");
}
// 没有任何角色权限,就只展示全量的,其他的都是0

@ -24,13 +24,13 @@
create_time,update_user_id,update_time
</sql>
<select id="queryKnowledgeSubmitTodoCount" resultType="java.lang.Long">
select count(distinct t1.knowledge_id)
from ks_knowledge_submit_record t1
left join (select flow_id, knowledge_id
from ks_knowledge_flow_todo
group by flow_id, knowledge_id) t3
on t1.flow_id = t3.flow_id and t1.knowledge_id = t3.knowledge_id
where t1.submit_user_id = #{userId}
select count(t1.id)
from ks_knowledge t1
left join (select distinct knowledge_id as submitKnowledgeId
from ks_knowledge_submit_record
where submit_user_id = #{userId}) t3
on t3.submitKnowledgeId = t1.id
where (status in (10, 11, 12) and t3.submitKnowledgeId is not null)
</select>

Loading…
Cancel
Save