package cn.iocoder.yudao.module.hrm.dal.mysql.salary; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.hrm.controller.admin.salary.vo.HrmSalaryCalculationPageReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmSalaryCalculationDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * 薪酬核算记录 Mapper * * @author 芋道源码 */ @Mapper public interface HrmSalaryCalculationMapper extends BaseMapperX { default PageResult selectPage(HrmSalaryCalculationPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(HrmSalaryCalculationDO::getNo, reqVO.getNo()) .eqIfPresent(HrmSalaryCalculationDO::getPeriod, reqVO.getPeriod()) .eqIfPresent(HrmSalaryCalculationDO::getUserId, reqVO.getUserId()) .eqIfPresent(HrmSalaryCalculationDO::getDeptId, reqVO.getDeptId()) .eqIfPresent(HrmSalaryCalculationDO::getStatus, reqVO.getStatus()) .orderByDesc(HrmSalaryCalculationDO::getId)); } default HrmSalaryCalculationDO selectByNo(String no) { return selectOne(HrmSalaryCalculationDO::getNo, no); } default List selectListByUserIdAndPeriod(Long userId, String period) { return selectList(new LambdaQueryWrapperX() .eq(HrmSalaryCalculationDO::getUserId, userId) .eq(HrmSalaryCalculationDO::getPeriod, period)); } default List selectListByPeriod(String period) { return selectList(new LambdaQueryWrapperX() .eq(HrmSalaryCalculationDO::getPeriod, period) .orderByAsc(HrmSalaryCalculationDO::getUserId)); } default List selectListByPeriodAndDept(String period, Long deptId) { return selectList(new LambdaQueryWrapperX() .eq(HrmSalaryCalculationDO::getPeriod, period) .eqIfPresent(HrmSalaryCalculationDO::getDeptId, deptId) .orderByAsc(HrmSalaryCalculationDO::getUserId)); } default List selectListByPeriodAndStatus(String period, Integer status) { return selectList(new LambdaQueryWrapperX() .eq(HrmSalaryCalculationDO::getPeriod, period) .eq(HrmSalaryCalculationDO::getStatus, status) .orderByAsc(HrmSalaryCalculationDO::getUserId)); } }