package cn.iocoder.yudao.module.mes.dal.mysql.pro.batch; 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.mes.controller.admin.pro.batch.vo.MesProBatchPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.batch.MesProBatchDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; /** * MES 生产批次 Mapper * * @author 超级管理员 */ @Mapper public interface MesProBatchMapper extends BaseMapperX { default MesProBatchDO selectByCode(String code) { return selectOne(MesProBatchDO::getCode, code); } default Long selectCountByLineId(Long lineId) { return selectCount(MesProBatchDO::getLineId, lineId); } @Select("SELECT * FROM mes_pro_batch WHERE id = #{id} AND deleted = 0 FOR UPDATE") MesProBatchDO selectByIdForUpdate(@org.apache.ibatis.annotations.Param("id") Long id); default PageResult selectPage(MesProBatchPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(MesProBatchDO::getCode, reqVO.getCode()) .eqIfPresent(MesProBatchDO::getItemId, reqVO.getItemId()) .eqIfPresent(MesProBatchDO::getLineId, reqVO.getLineId()) .likeIfPresent(MesProBatchDO::getLineCode, reqVO.getLineCode()) .likeIfPresent(MesProBatchDO::getLineName, reqVO.getLineName()) .eqIfPresent(MesProBatchDO::getOwnerUserId, reqVO.getOwnerUserId()) .eqIfPresent(MesProBatchDO::getStatus, reqVO.getStatus()) .betweenIfPresent(MesProBatchDO::getProduceDate, reqVO.getProduceDate()) .betweenIfPresent(MesProBatchDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(MesProBatchDO::getId)); } }