package cn.iocoder.yudao.module.mes.dal.mysql.wm.returnissue; import cn.hutool.core.util.StrUtil; 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.wm.returnissue.vo.MesWmReturnIssuePageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnissue.MesWmReturnIssueDO; import org.apache.ibatis.annotations.Mapper; /** * MES 生产退料单 Mapper */ @Mapper public interface MesWmReturnIssueMapper extends BaseMapperX { default PageResult selectPage(MesWmReturnIssuePageReqVO reqVO) { LambdaQueryWrapperX wrapper = new LambdaQueryWrapperX() .likeIfPresent(MesWmReturnIssueDO::getCode, reqVO.getCode()) .likeIfPresent(MesWmReturnIssueDO::getName, reqVO.getName()) .eqIfPresent(MesWmReturnIssueDO::getWorkstationId, reqVO.getWorkstationId()) .eqIfPresent(MesWmReturnIssueDO::getWorkOrderId, reqVO.getWorkOrderId()) .eqIfPresent(MesWmReturnIssueDO::getTaskId, reqVO.getTaskId()) .eqIfPresent(MesWmReturnIssueDO::getType, reqVO.getType()) .eqIfPresent(MesWmReturnIssueDO::getStatus, reqVO.getStatus()) .orderByDesc(MesWmReturnIssueDO::getId); // 按工单编号检索:走子查询,避免与工单表联表影响分页总数 if (StrUtil.isNotBlank(reqVO.getWorkOrderCode())) { wrapper.apply("work_order_id IN (SELECT id FROM mes_pro_work_order" + " WHERE deleted = 0 AND code LIKE CONCAT('%', {0}, '%'))", reqVO.getWorkOrderCode()); } return selectPage(reqVO, wrapper); } default MesWmReturnIssueDO selectByCode(String code) { return selectOne(MesWmReturnIssueDO::getCode, code); } }