package cn.iocoder.yudao.module.pms.dal.mysql.laswelldata;

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.laswelldata.vo.LasWellDataPageReqVO;
import cn.iocoder.yudao.module.pms.dal.dataobject.laswelldata.LasWellDataDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 数字油藏LAS数据文件-测井数据 Mapper
 *
 * @author ruiqi
 */
@Mapper
public interface LasWellDataMapper extends BaseMapperX<LasWellDataDO> {

    default PageResult<LasWellDataDO> selectPage(LasWellDataPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<LasWellDataDO>()
                .eqIfPresent(LasWellDataDO::getDeptId, reqVO.getDeptId())
                .eqIfPresent(LasWellDataDO::getWellId, reqVO.getWellId())
                .eqIfPresent(LasWellDataDO::getDepth, reqVO.getDepth())
                .eqIfPresent(LasWellDataDO::getCali, reqVO.getCali())
                .eqIfPresent(LasWellDataDO::getCgr, reqVO.getCgr())
                .eqIfPresent(LasWellDataDO::getCild, reqVO.getCild())
                .eqIfPresent(LasWellDataDO::getDt, reqVO.getDt())
                .eqIfPresent(LasWellDataDO::getGr, reqVO.getGr())
                .eqIfPresent(LasWellDataDO::getMinv, reqVO.getMinv())
                .eqIfPresent(LasWellDataDO::getMnor, reqVO.getMnor())
                .eqIfPresent(LasWellDataDO::getPerm, reqVO.getPerm())
                .eqIfPresent(LasWellDataDO::getPora, reqVO.getPora())
                .eqIfPresent(LasWellDataDO::getPord, reqVO.getPord())
                .eqIfPresent(LasWellDataDO::getPorn, reqVO.getPorn())
                .eqIfPresent(LasWellDataDO::getR25, reqVO.getR25())
                .eqIfPresent(LasWellDataDO::getRhob, reqVO.getRhob())
                .eqIfPresent(LasWellDataDO::getRxo, reqVO.getRxo())
                .eqIfPresent(LasWellDataDO::getSp, reqVO.getSp())
                .eqIfPresent(LasWellDataDO::getSw, reqVO.getSw())
                .eqIfPresent(LasWellDataDO::getSxo, reqVO.getSxo())
                .betweenIfPresent(LasWellDataDO::getCreateTime, reqVO.getCreateTime())
                .orderByAsc(LasWellDataDO::getId));
    }

}