package cn.iocoder.yudao.module.system.dal.mysql.biz;

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.system.controller.admin.biz.vo.ElderlyTempOutPageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderlyTempOutDO;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface ElderlyTempOutMapper extends BaseMapperX<ElderlyTempOutDO> {

    default PageResult<ElderlyTempOutDO> selectPage(ElderlyTempOutPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<ElderlyTempOutDO>()
                .eqIfPresent(ElderlyTempOutDO::getElderId, reqVO.getElderId())
                .eqIfPresent(ElderlyTempOutDO::getBedId, reqVO.getBedId())
                .eqIfPresent(ElderlyTempOutDO::getOutStatus, reqVO.getOutStatus())
                .betweenIfPresent(ElderlyTempOutDO::getOutTime, reqVO.getOutTime())
                .betweenIfPresent(ElderlyTempOutDO::getComeTime, reqVO.getComeTime())
                .inIfPresent(ElderlyTempOutDO::getTenantId, reqVO.getTenantIds())
                .orderByDesc(ElderlyTempOutDO::getCreateTime));
    }
}

