package cn.iocoder.yudao.module.hrm.dal.mysql.salary; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmEmployeeSalaryDO; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDate; import java.util.List; /** * 员工薪酬档案 Mapper * * @author 芋道源码 */ @Mapper public interface HrmEmployeeSalaryMapper extends BaseMapperX { default HrmEmployeeSalaryDO selectByUserIdAndEffectiveDate(Long userId, LocalDate effectiveDate) { return selectOne(new LambdaQueryWrapperX() .eq(HrmEmployeeSalaryDO::getUserId, userId) .eq(HrmEmployeeSalaryDO::getEffectiveDate, effectiveDate)); } default HrmEmployeeSalaryDO selectLatestByUserId(Long userId) { return selectOne(new LambdaQueryWrapperX() .eq(HrmEmployeeSalaryDO::getUserId, userId) .eq(HrmEmployeeSalaryDO::getStatus, 0) .orderByDesc(HrmEmployeeSalaryDO::getEffectiveDate) .last("LIMIT 1")); } default List selectListByUserId(Long userId) { return selectList(new LambdaQueryWrapperX() .eq(HrmEmployeeSalaryDO::getUserId, userId) .orderByDesc(HrmEmployeeSalaryDO::getEffectiveDate)); } }