From 6140eaf932333039e042081e6c78f3c07bf01d41 Mon Sep 17 00:00:00 2001 From: jillion <439912596@qq.com> Date: Sun, 20 Sep 2026 19:50:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B5=B7=E8=BF=90=E8=B4=B8=E6=98=93?= =?UTF-8?q?=E6=9D=A1=E6=AC=BE=E5=87=BA=E7=AB=99=E6=94=B9=E7=94=A8=20TMS=20?= =?UTF-8?q?=E7=9A=84=20transportTerms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 销售卡片仍写贸易条款,查价请求不再用对不上的 tradeTerms。 Co-authored-by: Cursor --- .../modules/inquiry/tms/InquiryTmsQueryService.java | 9 +++++++-- .../jeecg/modules/inquiry/tms/TmsV2RequestMapper.java | 3 ++- .../modules/inquiry/tms/TmsV2RequestMapperTest.java | 9 ++++++--- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/inquiry-api/jeecg-module-inquiry/src/main/java/org/jeecg/modules/inquiry/tms/InquiryTmsQueryService.java b/inquiry-api/jeecg-module-inquiry/src/main/java/org/jeecg/modules/inquiry/tms/InquiryTmsQueryService.java index cc3cc58..79548de 100644 --- a/inquiry-api/jeecg-module-inquiry/src/main/java/org/jeecg/modules/inquiry/tms/InquiryTmsQueryService.java +++ b/inquiry-api/jeecg-module-inquiry/src/main/java/org/jeecg/modules/inquiry/tms/InquiryTmsQueryService.java @@ -93,7 +93,11 @@ public class InquiryTmsQueryService { if (items != null) { segment.put("containerItems", items); } - segment.put("tradeTerms", first(facts.get("贸易条款"), facts.get("trade_terms"), facts.get("tradeTerms"))); + segment.put("transportTerms", first( + facts.get("贸易条款"), + facts.get("trade_terms"), + facts.get("transportTerms"), + facts.get("tradeTerms"))); } else if ("LAND".equals(line)) { // 陆运不套空运包装/件数;分类和中港装载只在工单,mapper 不会放进出站。 segment.putAll(TmsLandSegmentMapper.build(facts)); @@ -654,7 +658,8 @@ public class InquiryTmsQueryService { if (blank(facts.get("箱型箱量"))) { missing.add("箱型箱量"); } - if (blank(facts.get("贸易条款")) && blank(facts.get("trade_terms")) && blank(facts.get("tradeTerms"))) { + if (blank(facts.get("贸易条款")) && blank(facts.get("trade_terms")) + && blank(facts.get("transportTerms")) && blank(facts.get("tradeTerms"))) { missing.add("贸易条款"); } return missing; diff --git a/inquiry-api/jeecg-module-inquiry/src/main/java/org/jeecg/modules/inquiry/tms/TmsV2RequestMapper.java b/inquiry-api/jeecg-module-inquiry/src/main/java/org/jeecg/modules/inquiry/tms/TmsV2RequestMapper.java index 94a3b69..6ac2159 100644 --- a/inquiry-api/jeecg-module-inquiry/src/main/java/org/jeecg/modules/inquiry/tms/TmsV2RequestMapper.java +++ b/inquiry-api/jeecg-module-inquiry/src/main/java/org/jeecg/modules/inquiry/tms/TmsV2RequestMapper.java @@ -113,7 +113,8 @@ public final class TmsV2RequestMapper { } put(target, "containerType", type); put(target, "containerQty", asInteger(qty)); - put(target, "tradeTerms", first(source, "tradeTerms", "贸易条款", "trade_terms")); + // TMS 查询字段是 transportTerms。工单/卡片仍写「贸易条款」,这里只改出站名。 + put(target, "transportTerms", first(source, "transportTerms", "tradeTerms", "贸易条款", "trade_terms")); } /** diff --git a/inquiry-api/jeecg-module-inquiry/src/test/java/org/jeecg/modules/inquiry/tms/TmsV2RequestMapperTest.java b/inquiry-api/jeecg-module-inquiry/src/test/java/org/jeecg/modules/inquiry/tms/TmsV2RequestMapperTest.java index dc7b19e..1b3a92e 100644 --- a/inquiry-api/jeecg-module-inquiry/src/test/java/org/jeecg/modules/inquiry/tms/TmsV2RequestMapperTest.java +++ b/inquiry-api/jeecg-module-inquiry/src/test/java/org/jeecg/modules/inquiry/tms/TmsV2RequestMapperTest.java @@ -132,7 +132,7 @@ public class TmsV2RequestMapperTest { } @Test - public void seaSendsTradeTermsOmitsClass() { + public void seaSendsTransportTermsOmitsClass() { Map seg = new HashMap<>(); seg.put("origin", "上海"); seg.put("destination", "洛杉矶"); @@ -140,7 +140,8 @@ public class TmsV2RequestMapperTest { seg.put("cargoQty", "20吨"); seg.put("loadType", "整柜"); seg.put("containerSpec", "1x40HQ"); - seg.put("tradeTerms", "FOB"); + // 测服 WO202609200019:工单仍是贸易条款,出站必须写成 transportTerms,不能写 tradeTerms。 + seg.put("贸易条款", "4"); seg.put("运输分类", "Port to Port"); Map internal = new HashMap<>(); internal.put("transportMode", "SEA"); @@ -149,7 +150,9 @@ public class TmsV2RequestMapperTest { Map body = TmsV2RequestMapper.quote(internal); @SuppressWarnings("unchecked") List> segs = (List>) body.get("segments"); - assertEquals("FOB", segs.get(0).get("tradeTerms")); + assertEquals("4", segs.get(0).get("transportTerms")); + assertFalse(segs.get(0).containsKey("tradeTerms")); + assertFalse(segs.get(0).containsKey("贸易条款")); assertFalse(segs.get(0).containsKey("运输分类")); assertFalse(body.containsKey("运输分类")); }