From 657698fd2fb32794932474648dbaee9e284e38c8 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 12 十月 2026 18:31:20 +0800
Subject: [PATCH] feat(bpm): 添加全局免审批功能支持

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 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 1a26e94..e4f979f 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,6 +8,7 @@
 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;
 
 /**
@@ -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 {
+                // 鏈叧鑱斿鎴风殑妫�楠屽崟鍙锛涘凡鍏宠仈瀹㈡埛浠嶆寜 CRM 鏉冮檺杩囨护銆�
+                wrapper.and(w -> w.isNull(MesQcOqcDO::getClientId)
+                        .or().in(MesQcOqcDO::getClientId, permittedClientIds));
             }
-            wrapper.in(MesQcOqcDO::getClientId, permittedClientIds);
         }
         return selectPage(reqVO, wrapper);
     }
@@ -52,4 +58,19 @@
         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(clientId != null, MesQcOqcDO::getClientId, clientId)
+                .isNull(clientId == null, MesQcOqcDO::getClientId)
+                .eq(batchCode != null, MesQcOqcDO::getBatchCode, batchCode)
+                .isNull(batchCode == null, MesQcOqcDO::getBatchCode)
+                .eq(MesQcOqcDO::getOutDate, outDate)
+                .orderByAsc(MesQcOqcDO::getId));
+    }
+
 }

--
Gitblit v1.9.3