diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java index 76e5e35..e24abdf 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java @@ -1,9 +1,11 @@ package com.ruoyi.ccdi.project.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.ccdi.project.domain.CcdiProject; import com.ruoyi.ccdi.project.domain.dto.CcdiProjectQueryDTO; import com.ruoyi.ccdi.project.domain.dto.CcdiProjectSaveDTO; +import com.ruoyi.ccdi.project.domain.vo.CcdiProjectStatusCountsVO; import com.ruoyi.ccdi.project.domain.vo.CcdiProjectVO; import com.ruoyi.ccdi.project.mapper.CcdiProjectMapper; import com.ruoyi.ccdi.project.service.ICcdiProjectService; @@ -86,4 +88,36 @@ public class CcdiProjectServiceImpl implements ICcdiProjectService { public Page selectProjectPage(Page page, CcdiProjectQueryDTO queryDTO) { return projectMapper.selectProjectPage(page, queryDTO); } + + @Override + public CcdiProjectStatusCountsVO getStatusCounts() { + CcdiProjectStatusCountsVO vo = new CcdiProjectStatusCountsVO(); + + // 统计全部项目 + Long totalCount = projectMapper.selectCount(null); + vo.setAll(totalCount); + + // 统计进行中项目(状态0) + Long status0Count = projectMapper.selectCount( + new LambdaQueryWrapper() + .eq(CcdiProject::getStatus, "0") + ); + vo.setStatus0(status0Count); + + // 统计已完成项目(状态1) + Long status1Count = projectMapper.selectCount( + new LambdaQueryWrapper() + .eq(CcdiProject::getStatus, "1") + ); + vo.setStatus1(status1Count); + + // 统计已归档项目(状态2) + Long status2Count = projectMapper.selectCount( + new LambdaQueryWrapper() + .eq(CcdiProject::getStatus, "2") + ); + vo.setStatus2(status2Count); + + return vo; + } }