From fbc80648adf176fed54046c3aa52173b20e5d12e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 12 十月 2026 14:57:32 +0800
Subject: [PATCH] 宁夏万通需求:商机状态组改为非必填;过程检验单生产订单、工位改为非必填

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java |   42 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 41 insertions(+), 1 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java
index 2625818..8674163 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java
@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.mes.dal.mysql.qc.oqc;
 
+import cn.hutool.core.collection.CollUtil;
 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;
@@ -7,10 +8,13 @@
 import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.time.LocalDateTime;
+import java.util.List;
+
 /**
  * MES 鍑鸿揣妫�楠屽崟锛圤QC锛� Mapper
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @Mapper
 public interface MesQcOqcMapper extends BaseMapperX<MesQcOqcDO> {
@@ -22,11 +26,47 @@
                 .likeIfPresent(MesQcOqcDO::getBatchCode, reqVO.getBatchCode())
                 .eqIfPresent(MesQcOqcDO::getItemId, reqVO.getItemId())
                 .eqIfPresent(MesQcOqcDO::getCheckResult, reqVO.getCheckResult())
+                .betweenIfPresent(MesQcOqcDO::getInspectDate, reqVO.getInspectDate())
                 .orderByDesc(MesQcOqcDO::getId));
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ锛堝甫瀹㈡埛鏉冮檺杩囨护锛�
+     */
+    default PageResult<MesQcOqcDO> selectPage(MesQcOqcPageReqVO reqVO, List<Long> permittedClientIds) {
+        LambdaQueryWrapperX<MesQcOqcDO> wrapper = new LambdaQueryWrapperX<MesQcOqcDO>()
+                .likeIfPresent(MesQcOqcDO::getCode, reqVO.getCode())
+                .eqIfPresent(MesQcOqcDO::getClientId, reqVO.getClientId())
+                .likeIfPresent(MesQcOqcDO::getBatchCode, reqVO.getBatchCode())
+                .eqIfPresent(MesQcOqcDO::getItemId, reqVO.getItemId())
+                .eqIfPresent(MesQcOqcDO::getCheckResult, reqVO.getCheckResult())
+                .betweenIfPresent(MesQcOqcDO::getInspectDate, reqVO.getInspectDate())
+                .orderByDesc(MesQcOqcDO::getId);
+        if (permittedClientIds != null) {
+            if (CollUtil.isEmpty(permittedClientIds)) {
+                return PageResult.empty();
+            }
+            wrapper.in(MesQcOqcDO::getClientId, permittedClientIds);
+        }
+        return selectPage(reqVO, wrapper);
     }
 
     default MesQcOqcDO selectByCode(String code) {
         return selectOne(MesQcOqcDO::getCode, code);
     }
 
+    /**
+     * 鎸夊鍏ュ幓閲嶉敭鏌ヨ锛氬悓涓� 鐗╂枡 + 瀹㈡埛 + 鎵规鍙� + 鍑鸿揣鏃ユ湡 瑙嗕负鍚屼竴鎵瑰嚭璐ф楠屾暟鎹�
+     */
+    default List<MesQcOqcDO> selectListByImportKey(Long itemId, Long clientId, String batchCode,
+                                                   LocalDateTime outDate) {
+        return selectList(new LambdaQueryWrapperX<MesQcOqcDO>()
+                .eq(MesQcOqcDO::getItemId, itemId)
+                .eq(MesQcOqcDO::getClientId, clientId)
+                .eq(batchCode != null, MesQcOqcDO::getBatchCode, batchCode)
+                .isNull(batchCode == null, MesQcOqcDO::getBatchCode)
+                .eq(MesQcOqcDO::getOutDate, outDate)
+                .orderByAsc(MesQcOqcDO::getId));
+    }
+
 }

--
Gitblit v1.9.3