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));
|
}
|
}
|