From c6a2b472cde9dff4d21b95637ee6d99a412c785c Mon Sep 17 00:00:00 2001
From: 高 <gao@gaodeMacBook-Pro.local>
Date: 星期六, 10 十月 2026 17:21:40 +0800
Subject: [PATCH] feat(mes,crm): 新增质检单批量导入、检测结果台账与开票导入

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 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 0876690..3218466 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
@@ -8,12 +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> {
@@ -25,6 +26,7 @@
                 .likeIfPresent(MesQcOqcDO::getBatchCode, reqVO.getBatchCode())
                 .eqIfPresent(MesQcOqcDO::getItemId, reqVO.getItemId())
                 .eqIfPresent(MesQcOqcDO::getCheckResult, reqVO.getCheckResult())
+                .betweenIfPresent(MesQcOqcDO::getInspectDate, reqVO.getInspectDate())
                 .orderByDesc(MesQcOqcDO::getId));
     }
 
@@ -38,12 +40,16 @@
                 .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.isNull(MesQcOqcDO::getClientId);
+            } else {
+                wrapper.and(w -> w.isNull(MesQcOqcDO::getClientId)
+                        .or().in(MesQcOqcDO::getClientId, permittedClientIds));
             }
-            wrapper.in(MesQcOqcDO::getClientId, permittedClientIds);
         }
         return selectPage(reqVO, wrapper);
     }
@@ -52,4 +58,22 @@
         return selectOne(MesQcOqcDO::getCode, code);
     }
 
+    /**
+     * 鎸夊鍏ュ幓閲嶉敭鏌ヨ锛氬悓涓� 鐗╂枡 + 瀹㈡埛 + 鎵规鍙� + 鍑鸿揣鏃ユ湡 瑙嗕负鍚屼竴鎵瑰嚭璐ф楠屾暟鎹�
+     *
+     * 瀹㈡埛涓庡嚭璐ф棩鏈熷湪鏈垎鏀彲涓虹┖锛屾晠涓変釜鍙┖缁村害鍧囧仛绌哄�煎畨鍏ㄦ瘮杈冿紙null 姣� null锛夈��
+     */
+    default List<MesQcOqcDO> selectListByImportKey(Long itemId, Long clientId, String batchCode,
+                                                   LocalDateTime outDate) {
+        return selectList(new LambdaQueryWrapperX<MesQcOqcDO>()
+                .eq(MesQcOqcDO::getItemId, itemId)
+                .eq(clientId != null, MesQcOqcDO::getClientId, clientId)
+                .isNull(clientId == null, MesQcOqcDO::getClientId)
+                .eq(batchCode != null, MesQcOqcDO::getBatchCode, batchCode)
+                .isNull(batchCode == null, MesQcOqcDO::getBatchCode)
+                .eq(outDate != null, MesQcOqcDO::getOutDate, outDate)
+                .isNull(outDate == null, MesQcOqcDO::getOutDate)
+                .orderByAsc(MesQcOqcDO::getId));
+    }
+
 }

--
Gitblit v1.9.3