package cn.iocoder.yudao.module.pms.dal.mysql.qhse.safe;

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.pms.controller.admin.qhse.safe.vo.QhseSafeDayPageReqVO;
import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.safe.QhseSafeDayDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * QHSE_安全生产天数 Mapper
 *
 * @author 超级管理员
 */
@Mapper
public interface QhseSafeDayMapper extends BaseMapperX<QhseSafeDayDO> {

    default PageResult<QhseSafeDayDO> selectPage(QhseSafeDayPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<QhseSafeDayDO>()
                .eqIfPresent(QhseSafeDayDO::getDayNumber, reqVO.getDayNumber())
                .eqIfPresent(QhseSafeDayDO::getDeptId, reqVO.getDeptId())
                .likeIfPresent(QhseSafeDayDO::getDeptName, reqVO.getDeptName())
                .eqIfPresent(QhseSafeDayDO::getRemark, reqVO.getRemark())
                .betweenIfPresent(QhseSafeDayDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(QhseSafeDayDO::getId));
    }

    default List<QhseSafeDayDO> selectListByDept(QhseSafeDayPageReqVO reqVO,List<Long> deptIds) {
        return selectList(new LambdaQueryWrapperX<QhseSafeDayDO>()
                .eqIfPresent(QhseSafeDayDO::getDayNumber, reqVO.getDayNumber())
                .inIfPresent(QhseSafeDayDO::getDeptId, deptIds)
                .likeIfPresent(QhseSafeDayDO::getDeptName, reqVO.getDeptName())
                .eqIfPresent(QhseSafeDayDO::getRemark, reqVO.getRemark())
                .betweenIfPresent(QhseSafeDayDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(QhseSafeDayDO::getId));
    }
}