package cn.iocoder.yudao.module.hrm.dal.mysql.approval; 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.approval.vo.HrmRegularizeApplicationPageReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmRegularizeApplicationDO; import org.apache.ibatis.annotations.Mapper; /** * 转正申请 Mapper * * @author 超级管理员 */ @Mapper public interface HrmRegularizeApplicationMapper extends BaseMapperX { default PageResult selectPage(HrmRegularizeApplicationPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(HrmRegularizeApplicationDO::getNo, reqVO.getNo()) .eqIfPresent(HrmRegularizeApplicationDO::getUserId, reqVO.getUserId()) .eqIfPresent(HrmRegularizeApplicationDO::getDeptId, reqVO.getDeptId()) .eqIfPresent(HrmRegularizeApplicationDO::getEmploymentType, reqVO.getEmploymentType()) .eqIfPresent(HrmRegularizeApplicationDO::getStatus, reqVO.getStatus()) .betweenIfPresent(HrmRegularizeApplicationDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(HrmRegularizeApplicationDO::getId)); } default HrmRegularizeApplicationDO selectByNo(String no) { return selectOne(HrmRegularizeApplicationDO::getNo, no); } default HrmRegularizeApplicationDO selectByProcessInstanceId(String processInstanceId) { return selectOne(HrmRegularizeApplicationDO::getProcessInstanceId, processInstanceId); } default HrmRegularizeApplicationDO selectByUserIdAndStatusNot(Long userId, Integer status) { return selectOne(new LambdaQueryWrapperX() .eq(HrmRegularizeApplicationDO::getUserId, userId) .ne(HrmRegularizeApplicationDO::getStatus, status) .orderByDesc(HrmRegularizeApplicationDO::getId) .last("LIMIT 1")); } }