fix: 海运贸易条款出站改用 TMS 的 transportTerms
销售卡片仍写贸易条款,查价请求不再用对不上的 tradeTerms。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+7
-2
@@ -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;
|
||||
|
||||
+2
-1
@@ -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"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+6
-3
@@ -132,7 +132,7 @@ public class TmsV2RequestMapperTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void seaSendsTradeTermsOmitsClass() {
|
||||
public void seaSendsTransportTermsOmitsClass() {
|
||||
Map<String, Object> 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<String, Object> internal = new HashMap<>();
|
||||
internal.put("transportMode", "SEA");
|
||||
@@ -149,7 +150,9 @@ public class TmsV2RequestMapperTest {
|
||||
Map<String, Object> body = TmsV2RequestMapper.quote(internal);
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Map<String, Object>> segs = (List<Map<String, Object>>) 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("运输分类"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user