From 6d67e37ab96516f127e1635e92518109fd1c926c Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期二, 21 四月 2026 14:06:11 +0800
Subject: [PATCH] 料箱码查询优化
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java | 26 ++++++++++++++++++--------
1 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
index 436fed0..ff3e3af 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
@@ -74,7 +74,7 @@
private CheckOrderService checkOrderService;
@Autowired
- private CusItemSyncViewQueryService cusItemSyncViewQueryService;
+ private CusBarcodeSyncViewQueryService cusBarcodeSyncViewQueryService;
@Override
@@ -279,7 +279,15 @@
return R.ok(checkDiffItem);
}
- /** 鎵墿鏂欏厛鏌ヨ鍥撅紝鍛戒腑鍚庡悓姝ョ墿鏂欎富鏁版嵁 */
+ private Matnr findLocalMatnrByCode(String matnrCode) {
+ String t = StringUtils.trimToNull(matnrCode);
+ if (t == null) {
+ return null;
+ }
+ return matnrService.getOneByCodeAndBatch(t, "");
+ }
+
+ /** 瑙嗗浘 barcode 鍗崇墿鏂欏彿锛屼笌 man_matnr.code 涓�鑷� */
private Matnr getMatnrByCodePreferView(String matnrCode) {
String code = StringUtils.trimToNull(matnrCode);
if (code == null) {
@@ -287,28 +295,30 @@
}
List<Map<String, Object>> viewItems = null;
try {
- viewItems = cusItemSyncViewQueryService.listByItemNos(Collections.singletonList(code));
+ viewItems = cusBarcodeSyncViewQueryService.listByItemNos(Collections.singletonList(code));
} catch (Exception ignore) {
}
Map<String, Object> row = null;
if (viewItems != null) {
row = viewItems.stream()
- .filter(v -> StringUtils.equals(code, StringUtils.trimToNull(Objects.toString(v.get("item_no"), null))))
+ .filter(v -> CusBarcodeSyncViewQueryService.rowMatchesOrderMatnr(code, Objects.toString(v.get("barcode"), null)))
.findFirst()
.orElse(null);
}
if (row == null) {
- return matnrService.getOneByCodeAndBatch(code, "");
+ return findLocalMatnrByCode(code);
}
+ String fullCode = CusBarcodeSyncViewQueryService.matnrCodeFromBarcode(Objects.toString(row.get("barcode"), null));
String viewSpec = StringUtils.trimToEmpty(Objects.toString(row.get("item_spec"), ""));
String viewUnit = StringUtils.trimToNull(Objects.toString(row.get("unit_no"), null));
+ String viewName = StringUtils.trimToNull(Objects.toString(row.get("item_name"), null));
Long loginUserId = SystemAuthUtils.getLoginUserId() == null ? 1L : SystemAuthUtils.getLoginUserId();
- Matnr local = matnrService.getOneByCodeAndBatch(code, "");
+ Matnr local = findLocalMatnrByCode(fullCode);
if (local == null) {
Matnr matnr = new Matnr();
- matnr.setCode(code)
+ matnr.setCode(fullCode)
.setBatch("")
- .setName(code)
+ .setName(viewName != null ? viewName : fullCode)
.setSpec(viewSpec)
.setUnit(viewUnit)
.setStockUnit(viewUnit)
--
Gitblit v1.9.1