package cn.iocoder.yudao.module.hrm.dal.mysql.performanceappraise; 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.performanceappraise.vo.HrmPerformanceAppraisePageReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.performanceappraise.HrmPerformanceAppraiseDO; import org.apache.ibatis.annotations.Mapper; /** * HRM 绩效考核方案 Mapper */ @Mapper public interface HrmPerformanceAppraiseMapper extends BaseMapperX { default PageResult selectPage(HrmPerformanceAppraisePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(HrmPerformanceAppraiseDO::getName, reqVO.getName()) .eqIfPresent(HrmPerformanceAppraiseDO::getPeriodType, reqVO.getPeriodType()) .eqIfPresent(HrmPerformanceAppraiseDO::getStatus, reqVO.getStatus()) .orderByDesc(HrmPerformanceAppraiseDO::getId)); } default HrmPerformanceAppraiseDO selectMonthlyCompletedByPeriod(String period) { return selectOne(new LambdaQueryWrapperX() .eq(HrmPerformanceAppraiseDO::getPeriodType, 1) .eq(HrmPerformanceAppraiseDO::getPeriod, period) .eq(HrmPerformanceAppraiseDO::getStatus, 30) .orderByDesc(HrmPerformanceAppraiseDO::getId) .last("LIMIT 1")); } }