From 90cde8da4a749a1c2017f0559307ab936f81e035 Mon Sep 17 00:00:00 2001 From: wuweihua <88888888> Date: Wed, 30 Sep 2026 11:51:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bms/price/service/impl/BmsProductServiceImpl.java | 9 ++++++++- .../price/service/impl/PrcPriceSetServiceImpl.java | 11 ++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/BmsProductServiceImpl.java b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/BmsProductServiceImpl.java index 2453fb53..edb5b081 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/BmsProductServiceImpl.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/BmsProductServiceImpl.java @@ -1586,10 +1586,17 @@ public class BmsProductServiceImpl implements IBmsProductService { return null; } + s = s.trim(); + // Excel NA markers: / 、- 、— 、N/A + if ("/".equals(s) || "-".equals(s) || "\u2014".equals(s) || "\uff0d".equals(s) + || "N/A".equalsIgnoreCase(s) || "NA".equalsIgnoreCase(s)) + { + return null; + } // strip currency / unit suffixes: 56、56元、56 RMB s = s.replace(",", "").replace("\uffe5", "").replace("\u5143", "") .replace("RMB", "").replace("rmb", "").trim(); - if (s.isEmpty()) + if (s.isEmpty() || "/".equals(s)) { return null; } diff --git a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java index c6f57b97..1c5c3bd3 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java @@ -1031,7 +1031,12 @@ public class PrcPriceSetServiceImpl implements IPrcPriceSetService } continue; } - // New band: always insert weight/country row (fees may be null; editable later). + // New band: skip when Excel has no usable fee (blank / slash = no service). + if (freight == null && registration == null) + { + skippedFee++; + continue; + } PrcPriceSetDetail created = buildDetailFromImportRow( priceSetId, psvId, productCode, productName, row, freight, registration); created.setPspId(pspId); @@ -1041,10 +1046,6 @@ public class PrcPriceSetServiceImpl implements IPrcPriceSetService { touched.add(created.getPsdId()); } - if (freight == null && registration == null) - { - skippedFee++; - } inserted++; } }