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.MesDvSpareMovementDO;
|
import cn.iocoder.yudao.module.mes.controller.admin.dv.spare.vo.MesDvSparePageReqVO;
|
import org.apache.ibatis.annotations.Mapper;
|
import java.util.*;
|
@Mapper
|
public interface MesDvSpareMovementMapper extends BaseMapperX<MesDvSpareMovementDO> {
|
default MesDvSpareMovementDO byKey(String key) {
|
return selectOne(MesDvSpareMovementDO::getRequestKey,key);
|
}
|
default MesDvSpareMovementDO lock(Long id) {
|
return selectOne(new LambdaQueryWrapperX<MesDvSpareMovementDO>().eq(MesDvSpareMovementDO::getId,id).last("FOR UPDATE"));
|
}
|
default List<MesDvSpareMovementDO> returns(Collection<Long> ids) {
|
if (ids.isEmpty()) return List.of();
|
return selectList(new LambdaQueryWrapperX<MesDvSpareMovementDO>()
|
.eq(MesDvSpareMovementDO::getType,4).in(MesDvSpareMovementDO::getOriginalId,ids));
|
}
|
default PageResult<MesDvSpareMovementDO> page(MesDvSparePageReqVO req) {
|
return selectPage(req,new LambdaQueryWrapperX<MesDvSpareMovementDO>()
|
.eqIfPresent(MesDvSpareMovementDO::getSparePartId,req.getSparePartId())
|
.eqIfPresent(MesDvSpareMovementDO::getRepairId,req.getRepairId())
|
.eqIfPresent(MesDvSpareMovementDO::getRepairCode,req.getRepairCode())
|
.eqIfPresent(MesDvSpareMovementDO::getType,req.getType())
|
.orderByDesc(MesDvSpareMovementDO::getId));
|
}
|
}
|