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

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.file.vo.QhseInfoPageReqVO;
import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.file.QhseInfoDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.Collection;

/**
 * QHSE文件资料 Mapper
 *
 * @author 超级管理员
 */
@Mapper
public interface QhseInfoMapper extends BaseMapperX<QhseInfoDO> {

    default PageResult<QhseInfoDO> selectPage(QhseInfoPageReqVO reqVO, Collection<Long> classIds ) {
        return selectPage(reqVO, new LambdaQueryWrapperX<QhseInfoDO>()
                .eqIfPresent(QhseInfoDO::getDeviceId, reqVO.getDeviceId())
                .eqIfPresent(QhseInfoDO::getDeptId, reqVO.getDeptId())
                .likeIfPresent(QhseInfoDO::getFilename, reqVO.getFilename())
                .eqIfPresent(QhseInfoDO::getFileType, reqVO.getFileType())
                .eqIfPresent(QhseInfoDO::getFilePath, reqVO.getFilePath())
                .inIfPresent(QhseInfoDO::getClassId, classIds)
                .eqIfPresent(QhseInfoDO::getRemark, reqVO.getRemark())
                .betweenIfPresent(QhseInfoDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(QhseInfoDO::getId));
    }

}