云
3 小时以前 e09f103259fa602382bb5ce2a03361a6397af46a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package cn.iocoder.yudao.module.mes.dal.mysql.dv.spare;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.mes.dal.dataobject.dv.spare.MesDvSparePartDO;
import cn.iocoder.yudao.module.mes.controller.admin.dv.spare.vo.MesDvSparePageReqVO;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MesDvSparePartMapper extends BaseMapperX<MesDvSparePartDO> {
    default MesDvSparePartDO lock(Long id) {
        return selectOne(new LambdaQueryWrapperX<MesDvSparePartDO>().eq(MesDvSparePartDO::getId,id).last("FOR UPDATE"));
    }
    default PageResult<MesDvSparePartDO> page(MesDvSparePageReqVO req) {
        return selectPage(req,new LambdaQueryWrapperX<MesDvSparePartDO>()
                .eqIfPresent(MesDvSparePartDO::getCode,req.getCode())
                .likeIfPresent(MesDvSparePartDO::getName,req.getName())
                .eqIfPresent(MesDvSparePartDO::getStatus,req.getStatus())
                .apply(Boolean.TRUE.equals(req.getShortageOnly()),"stock_quantity < safety_quantity")
                .orderByDesc(MesDvSparePartDO::getId));
    }
}