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