gaoluyang
9 天以前 3e8b8d3cb363b2a23e90e7f03e36472bfd27d696
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueMapper.java
@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue;
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;
@@ -16,15 +17,23 @@
public interface MesWmProductIssueMapper extends BaseMapperX<MesWmProductIssueDO> {
    default PageResult<MesWmProductIssueDO> selectPage(MesWmProductIssuePageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<MesWmProductIssueDO>()
        LambdaQueryWrapperX<MesWmProductIssueDO> wrapper = new LambdaQueryWrapperX<MesWmProductIssueDO>()
                .likeIfPresent(MesWmProductIssueDO::getCode, reqVO.getCode())
                .likeIfPresent(MesWmProductIssueDO::getName, reqVO.getName())
                .eqIfPresent(MesWmProductIssueDO::getWorkstationId, reqVO.getWorkstationId())
                .eqIfPresent(MesWmProductIssueDO::getWorkOrderId, reqVO.getWorkOrderId())
                .eqIfPresent(MesWmProductIssueDO::getIssueType, reqVO.getIssueType())
                .eqIfPresent(MesWmProductIssueDO::getTaskId, reqVO.getTaskId())
                .eqIfPresent(MesWmProductIssueDO::getStatus, reqVO.getStatus())
                .betweenIfPresent(MesWmProductIssueDO::getIssueDate, reqVO.getIssueDate())
                .orderByDesc(MesWmProductIssueDO::getId));
                .orderByDesc(MesWmProductIssueDO::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 MesWmProductIssueDO selectByCode(String code) {
@@ -37,4 +46,9 @@
                .eq(MesWmProductIssueDO::getStatus, status));
    }
    default List<MesWmProductIssueDO> selectListByWorkOrderId(Long workOrderId) {
        return selectList(new LambdaQueryWrapperX<MesWmProductIssueDO>()
                .eq(MesWmProductIssueDO::getWorkOrderId, workOrderId));
    }
}