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 |   19 +++++++++++++++++--
 1 files changed, 17 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 e33b457..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;
@@ -104,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,
@@ -114,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