gaoluyang
3 小时以前 1cbc592d8b674b63a6e2117d7c48ab4ff8cb867e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package cn.iocoder.yudao.module.hrm.dal.mysql.attendance;
 
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.attendance.vo.HrmAttendanceExceptionPageReqVO;
import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceExceptionDO;
import org.apache.ibatis.annotations.Mapper;
 
import java.time.LocalDate;
 
/**
 * 考勤异常申请 Mapper
 *
 * @author 超级管理员
 */
@Mapper
public interface HrmAttendanceExceptionMapper extends BaseMapperX<HrmAttendanceExceptionDO> {
 
    default PageResult<HrmAttendanceExceptionDO> selectPage(HrmAttendanceExceptionPageReqVO reqVO) {
        LambdaQueryWrapperX<HrmAttendanceExceptionDO> query = new LambdaQueryWrapperX<HrmAttendanceExceptionDO>()
                .likeIfPresent(HrmAttendanceExceptionDO::getNo, reqVO.getNo())
                .eqIfPresent(HrmAttendanceExceptionDO::getUserId, reqVO.getUserId())
                .eqIfPresent(HrmAttendanceExceptionDO::getDeptId, reqVO.getDeptId())
                .eqIfPresent(HrmAttendanceExceptionDO::getType, reqVO.getType())
                .eqIfPresent(HrmAttendanceExceptionDO::getStatus, reqVO.getStatus());
        // 异常日期区间筛选
        LocalDate[] dateRange = reqVO.getDate();
        if (dateRange != null && dateRange.length >= 2 && dateRange[0] != null && dateRange[1] != null) {
            query.between(HrmAttendanceExceptionDO::getExceptionDate, dateRange[0], dateRange[1]);
        }
        return selectPage(reqVO, query.orderByDesc(HrmAttendanceExceptionDO::getId));
    }
 
    default HrmAttendanceExceptionDO selectByNo(String no) {
        return selectOne(HrmAttendanceExceptionDO::getNo, no);
    }
 
    default HrmAttendanceExceptionDO selectByProcessInstanceId(String processInstanceId) {
        return selectOne(HrmAttendanceExceptionDO::getProcessInstanceId, processInstanceId);
    }
 
}