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.HrmResignationApplicationPageReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmResignationApplicationDO; import org.apache.ibatis.annotations.Mapper; /** * 离职申请 Mapper * * @author 芋道源码 */ @Mapper public interface HrmResignationApplicationMapper extends BaseMapperX { default PageResult selectPage(HrmResignationApplicationPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(HrmResignationApplicationDO::getNo, reqVO.getNo()) .eqIfPresent(HrmResignationApplicationDO::getUserId, reqVO.getUserId()) .eqIfPresent(HrmResignationApplicationDO::getDeptId, reqVO.getDeptId()) .eqIfPresent(HrmResignationApplicationDO::getResignationType, reqVO.getResignationType()) .eqIfPresent(HrmResignationApplicationDO::getStatus, reqVO.getStatus()) .betweenIfPresent(HrmResignationApplicationDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(HrmResignationApplicationDO::getId)); } default HrmResignationApplicationDO selectByNo(String no) { return selectOne(HrmResignationApplicationDO::getNo, no); } default HrmResignationApplicationDO selectByProcessInstanceId(String processInstanceId) { return selectOne(HrmResignationApplicationDO::getProcessInstanceId, processInstanceId); } default HrmResignationApplicationDO selectByUserIdAndStatusNot(Long userId, Integer status) { return selectOne(new LambdaQueryWrapperX() .eq(HrmResignationApplicationDO::getUserId, userId) .ne(HrmResignationApplicationDO::getStatus, status)); } }