From 4abcc3dfc43c5c9c58bdaf8bd85df129467a60ed Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期五, 01 五月 2026 15:35:48 +0800
Subject: [PATCH] 多加入参数和修改规则

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncViewQueryService.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncViewQueryService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncViewQueryService.java
index 4c79d69..115b48d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncViewQueryService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncViewQueryService.java
@@ -1,5 +1,6 @@
 package com.vincent.rsf.server.manager.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -13,6 +14,8 @@
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.ObjectProvider;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.sql.DataSource;
 import java.util.Collection;
@@ -25,6 +28,7 @@
 
 /**
  * cus_barcode_sync_view锛歜arcode 鍗充负鐗╂枡鍙凤紙鍚� # 绛夊瓧绗︿害鍘熸牱锛夛紝瀵瑰簲 man_matnr.code銆備笌 {@link CusItemSyncViewQueryService} 鐙珛銆�
+ * 鏌ヨ涓嶅惎浜嬪姟锛泏@code NOT_SUPPORTED} 鎸傝捣澶栧眰浜嬪姟锛岄伩鍏嶄富搴撹繛鎺ュ崰鐢ㄥ鑷村壇搴撹矾鐢卞け鏁堛��
  */
 @UseDataSource(DataSourceNames.DJ_CLOUD_WMS)
 @Service
@@ -65,6 +69,8 @@
         return viewItems.stream().anyMatch(r -> rowMatchesOrderMatnr(oc, Objects.toString(r.get("barcode"), null)));
     }
 
+    /** 鎸傝捣澶栧眰浜嬪姟锛屾煡璇㈡湰韬笉鍖呬簨鍔� */
+    @Transactional(propagation = Propagation.NOT_SUPPORTED)
     public List<Map<String, Object>> probeSample(int limit) {
         if (cusItemSyncDataSourceProvider.getIfAvailable() == null) {
             return Collections.emptyList();
@@ -81,6 +87,7 @@
         return toViewMaps(page.getRecords());
     }
 
+    @Transactional(propagation = Propagation.NOT_SUPPORTED)
     public List<Map<String, Object>> listByItemNos(Collection<String> itemNos) {
         if (itemNos == null || itemNos.isEmpty()) {
             return Collections.emptyList();
@@ -98,8 +105,7 @@
             return Collections.emptyList();
         }
         List<CusBarcodeSyncView> rows = cusBarcodeSyncViewMapper.selectList(
-                Wrappers.<CusBarcodeSyncView>lambdaQuery()
-                        .in(CusBarcodeSyncView::getBarcode, codes)
+                buildBarcodeOrQuery(codes)
                         .select(
                                 CusBarcodeSyncView::getBarcode,
                                 CusBarcodeSyncView::getItemName,
@@ -108,6 +114,21 @@
         return toViewMaps(rows);
     }
 
+    private LambdaQueryWrapper<CusBarcodeSyncView> buildBarcodeOrQuery(List<String> codes) {
+        LambdaQueryWrapper<CusBarcodeSyncView> wrapper = Wrappers.lambdaQuery();
+        wrapper.and(q -> {
+            for (int i = 0; i < codes.size(); i++) {
+                String code = codes.get(i);
+                if (i == 0) {
+                    q.eq(CusBarcodeSyncView::getBarcode, code);
+                } else {
+                    q.or().eq(CusBarcodeSyncView::getBarcode, code);
+                }
+            }
+        });
+        return wrapper;
+    }
+
     private List<Map<String, Object>> toViewMaps(List<CusBarcodeSyncView> rows) {
         if (rows == null || rows.isEmpty()) {
             return Collections.emptyList();

--
Gitblit v1.9.1