package cn.iocoder.yudao.module.asset.dal.mysql.requisition; 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.asset.controller.admin.requisition.vo.AssetRequisitionPageReqVO; import cn.iocoder.yudao.module.asset.dal.dataobject.requisition.AssetRequisitionDO; import org.apache.ibatis.annotations.Mapper; @Mapper public interface AssetRequisitionMapper extends BaseMapperX { default PageResult selectPage(AssetRequisitionPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(AssetRequisitionDO::getNo, reqVO.getNo()) .likeIfPresent(AssetRequisitionDO::getAssetName, reqVO.getAssetName()) .likeIfPresent(AssetRequisitionDO::getRecipientName, reqVO.getRecipientName()) .eqIfPresent(AssetRequisitionDO::getCategory, reqVO.getCategory()) .eqIfPresent(AssetRequisitionDO::getReturnStatus, reqVO.getReturnStatus()) .orderByDesc(AssetRequisitionDO::getId)); } default Long selectCountByAssetIdAndNotReturned(Long assetId) { return selectCount(new LambdaQueryWrapperX() .eq(AssetRequisitionDO::getAssetId, assetId) .ne(AssetRequisitionDO::getReturnStatus, 3)); } }