feat(hrm): 添加请假统计功能

- 在控制器中新增 /stats 接口用于获取请假统计数据
- 新增 HrmLeaveStatsVo 数据传输对象定义统计结构
- 在数据访问层添加多个统计查询方法,包括按类型、部门、月份统计
- 实现服务层统计业务逻辑,包括请假汇总、分类统计、员工状态统计
- 配置 MyBatis 映射文件实现各维度统计 SQL 查询
- 添加员工总数和请假中员工数的统计功能
This commit is contained in:
2026-02-24 14:56:51 +08:00
parent 613bf59833
commit 4447fb1cb1
6 changed files with 211 additions and 0 deletions

View File

@@ -5,10 +5,13 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.hrm.domain.HrmLeaveReq;
import com.ruoyi.hrm.domain.bo.HrmLeaveReqBo;
import com.ruoyi.hrm.domain.vo.HrmLeaveReqVo;
import com.ruoyi.hrm.domain.vo.HrmLeaveStatsVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import java.util.List;
import java.util.Map;
public interface HrmLeaveReqMapper extends BaseMapperPlus<HrmLeaveReqMapper, HrmLeaveReq, HrmLeaveReqVo> {
@@ -17,4 +20,17 @@ public interface HrmLeaveReqMapper extends BaseMapperPlus<HrmLeaveReqMapper, Hrm
List<HrmLeaveReqVo> selectVoWithProjectByPage(IPage<HrmLeaveReqVo> page, @Param("bo") HrmLeaveReqBo bo);
List<HrmLeaveReqVo> selectVoWithProjectList(@Param("bo") HrmLeaveReqBo bo);
// 统计相关方法
Map<String, Object> selectLeaveSummary();
List<Map<String, Object>> selectLeaveByType();
List<Map<String, Object>> selectLeaveByDept();
List<Map<String, Object>> selectLeaveByMonth(@Param("year") Integer year);
Integer selectTotalEmployees();
Integer selectLeavingEmployees();
}