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 { default MesDvSpareMovementDO byKey(String key) { return selectOne(MesDvSpareMovementDO::getRequestKey,key); } default MesDvSpareMovementDO lock(Long id) { return selectOne(new LambdaQueryWrapperX().eq(MesDvSpareMovementDO::getId,id).last("FOR UPDATE")); } default List returns(Collection ids) { if (ids.isEmpty()) return List.of(); return selectList(new LambdaQueryWrapperX() .eq(MesDvSpareMovementDO::getType,4).in(MesDvSpareMovementDO::getOriginalId,ids)); } default PageResult page(MesDvSparePageReqVO req) { return selectPage(req,new LambdaQueryWrapperX() .eqIfPresent(MesDvSpareMovementDO::getSparePartId,req.getSparePartId()) .eqIfPresent(MesDvSpareMovementDO::getRepairId,req.getRepairId()) .eqIfPresent(MesDvSpareMovementDO::getRepairCode,req.getRepairCode()) .eqIfPresent(MesDvSpareMovementDO::getType,req.getType()) .orderByDesc(MesDvSpareMovementDO::getId)); } }