From 6a40531396583fac35bd06e5e1b92433e5a56acf Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期二, 12 五月 2026 15:01:03 +0800
Subject: [PATCH] #
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncMatnrService.java | 43 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 38 insertions(+), 5 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncMatnrService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncMatnrService.java
index c7d512d..51a3c03 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncMatnrService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusBarcodeSyncMatnrService.java
@@ -159,8 +159,9 @@
continue;
}
boolean viewHit = viewItems != null && CusBarcodeSyncViewQueryService.orderMatnrHitsBarcodeView(code, viewItems);
- log.info("[cus_barcode_sync] 鏈湴鏃犺褰� code={} viewHit={} viewRowCount={}", code, viewHit,
- viewItems == null ? 0 : viewItems.size());
+ int viewRowCount = viewItems == null ? 0 : viewItems.size();
+ log.info("[cus_barcode_sync] 鏈湴鏃犺褰� code={} viewHit={} viewRowCount={}", code, viewHit, viewRowCount);
+ Exception applyEx = null;
if (viewHit && viewItems != null) {
List<Map<String, Object>> rowsForCode = viewItems.stream()
.filter(r -> CusBarcodeSyncViewQueryService.rowMatchesOrderMatnr(code, Objects.toString(r.get("barcode"), null)))
@@ -170,19 +171,51 @@
log.info("[cus_barcode_sync] 鎸夋潯鐮佽ˉ妗� apply rows={} code={}", rowsForCode.size(), code);
cusBarcodeSyncMatnrApplyService.applyFromViewRows(rowsForCode, orderItemByCode, loginUserId);
} catch (Exception ex) {
+ applyEx = ex;
log.warn("[cus_barcode_sync] 鎸夎鍥捐ˉ鍏ㄧ墿鏂欏け璐� code={}", code, ex);
}
m = findLocalMatnrForOrderCode(code);
}
}
if (m == null) {
- log.warn("[cus_barcode_sync] 浠嶆棤娉曡惤鍦� man_matnr code={} viewHit={} viewSample=[{}]",
- code, viewHit, summarizeViewBarcodes(viewItems));
- throw new CoolException("鐗╂枡涓嶅瓨鍦細" + code);
+ ManMatnrFailReason fr = resolveManMatnrFailReason(viewItems, viewHit, applyEx);
+ log.warn("[cus_barcode_sync] 鏃犳硶钀藉湴 man_matnr code={} reason={} viewRowCount={} viewBarcodes=[{}]",
+ code, fr.name(), viewRowCount, summarizeViewBarcodes(viewItems));
+ throw new CoolException("鐗╂枡涓嶅瓨鍦細" + code + "锛�" + fr.userMessage);
}
}
}
+ private enum ManMatnrFailReason {
+ VIEW_QUERY_ERROR("鍓簱瑙嗗浘鏌ヨ寮傚父锛屾湭鎷垮埌缁撴灉闆�"),
+ VIEW_ZERO_ROWS("鍓簱瑙嗗浘鏈鏌ヨ 0 琛岋紝璇锋牳瀵� dj-cloud-wms 涓庤鍥炬暟鎹�"),
+ VIEW_CODE_NOT_IN_RESULT("鍓簱瑙嗗浘鏈夎繑鍥炶浣嗘棤涓庢湰鍗� matnr 鐩哥瓑鐨� barcode"),
+ APPLY_ERROR("瑙嗗浘宸插懡涓絾鍐欏叆 man_matnr 澶辫触"),
+ APPLY_STILL_EMPTY("瑙嗗浘宸插懡涓笖宸� apply 浠嶆棤涓诲簱鐗╂枡璁板綍");
+
+ final String userMessage;
+
+ ManMatnrFailReason(String userMessage) {
+ this.userMessage = userMessage;
+ }
+ }
+
+ private static ManMatnrFailReason resolveManMatnrFailReason(List<Map<String, Object>> viewItems, boolean viewHit, Exception applyEx) {
+ if (viewItems == null) {
+ return ManMatnrFailReason.VIEW_QUERY_ERROR;
+ }
+ if (viewItems.isEmpty()) {
+ return ManMatnrFailReason.VIEW_ZERO_ROWS;
+ }
+ if (!viewHit) {
+ return ManMatnrFailReason.VIEW_CODE_NOT_IN_RESULT;
+ }
+ if (applyEx != null) {
+ return ManMatnrFailReason.APPLY_ERROR;
+ }
+ return ManMatnrFailReason.APPLY_STILL_EMPTY;
+ }
+
private static String joinCodesForLog(List<String> matnrCodes) {
if (matnrCodes == null || matnrCodes.isEmpty()) {
return "";
--
Gitblit v1.9.1