feat: 海运查价带贸易条款且不带运输分类

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-20 17:47:12 +08:00
co-authored by Cursor
parent 27aeebb593
commit 3a6884e27d
6 changed files with 67 additions and 5 deletions
@@ -93,6 +93,7 @@ public class InquiryTmsQueryService {
if (items != null) {
segment.put("containerItems", items);
}
segment.put("tradeTerms", first(facts.get("贸易条款"), facts.get("trade_terms"), facts.get("tradeTerms")));
} else if ("LAND".equals(line)) {
// 陆运不套空运包装/件数;分类和中港装载只在工单,mapper 不会放进出站。
segment.putAll(TmsLandSegmentMapper.build(facts));
@@ -623,8 +624,8 @@ public class InquiryTmsQueryService {
* 对不上机场也要查,TMS 自己回无价或 1003。
*/
/**
* 海运出站必填:工单号、报价日期、起运/目的名称、品名、货量、整柜或拼柜、箱型箱量。
* 不要求机场三字码、件数、重量、体积、包装。
* 海运出站必填:工单号、报价日期、起运/目的名称、品名、货量、整柜或拼柜、箱型箱量、贸易条款。
* 不要求机场三字码、件数、重量、体积、包装;运输分类不进出站。
*/
private static List<String> missingSeaQuery(String workOrderNo, String quoteDate,
Map<String, Object> segment, Map<String, Object> facts) {
@@ -649,6 +650,9 @@ public class InquiryTmsQueryService {
if (blank(facts.get("箱型箱量"))) {
missing.add("箱型箱量");
}
if (blank(facts.get("贸易条款")) && blank(facts.get("trade_terms")) && blank(facts.get("tradeTerms"))) {
missing.add("贸易条款");
}
return missing;
}
@@ -113,6 +113,7 @@ public final class TmsV2RequestMapper {
}
put(target, "containerType", type);
put(target, "containerQty", asInteger(qty));
put(target, "tradeTerms", first(source, "tradeTerms", "贸易条款", "trade_terms"));
}
/**