From d70c08a37803dcb9885cacb8205caa3ce8518174 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Tue, 18 Aug 2026 16:42:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- firstleg/src/main/resources/openapi/firstleg-v1.yaml | 2 +- .../PlatformSmartLoadingControllerContractTest.java | 2 ++ .../firstleg/repository/InboundOrderRepositoryTest.java | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/firstleg/src/main/resources/openapi/firstleg-v1.yaml b/firstleg/src/main/resources/openapi/firstleg-v1.yaml index 5ce5d1a7d..6ba9fe97a 100644 --- a/firstleg/src/main/resources/openapi/firstleg-v1.yaml +++ b/firstleg/src/main/resources/openapi/firstleg-v1.yaml @@ -427,7 +427,7 @@ paths: description: >- 需要 platform:firstleg:smart-loading:push 权限。push-preload 不要求真实柜号, 只冻结 EDITING 柜次计划的明细并建立稳定预装关联,不创建 PDA 作业任务;计划必须处于 EDITING 且版本匹配。 - 预装页面随后补录真实柜号;只有预装 CONFIRMED、真实柜号存在、已关联 CONFIRMED/RELEASED 订舱时才创建待领取 PDA 任务,领取后才进入 LOADING。 + 预装页面随后补录真实柜号;只有预装 CONFIRMED、真实柜号存在、已关联 RELEASED 订舱时才创建待领取 PDA 任务,领取后才进入 LOADING。 智能装柜首次分配会创建入库单级 PENDING 预装聚合;push 会在同一事务内对全部实际分配再次确保该聚合存在且仍为 PENDING, 但不会覆盖 CONFIRMING/CONFIRMED 记录,也不会在 LOADING 后补建。 推送事务会先为所有已分配入库单建立 PENDING 预装计划与 EDITING 柜次计划的正式关联, diff --git a/firstleg/src/test/java/com/baiyue/firstleg/controller/PlatformSmartLoadingControllerContractTest.java b/firstleg/src/test/java/com/baiyue/firstleg/controller/PlatformSmartLoadingControllerContractTest.java index 89b4cda7e..10bdbfc48 100644 --- a/firstleg/src/test/java/com/baiyue/firstleg/controller/PlatformSmartLoadingControllerContractTest.java +++ b/firstleg/src/test/java/com/baiyue/firstleg/controller/PlatformSmartLoadingControllerContractTest.java @@ -32,7 +32,9 @@ class PlatformSmartLoadingControllerContractTest { assertThat(yaml).contains("/api/platform/v1/first-leg/smart-loading/plans/{planId}/push-preload:") .contains("不要求真实柜号") .contains("不创建 PDA 作业任务") + .contains("已关联 RELEASED 订舱时才创建待领取 PDA 任务") .contains("领取后才进入 LOADING") + .doesNotContain("已关联 CONFIRMED/RELEASED 订舱") .doesNotContain("真实柜号必须已录入"); } @Test void openApiFreezesIncrementalMutationAndCapabilityContract() throws Exception { diff --git a/firstleg/src/test/java/com/baiyue/firstleg/repository/InboundOrderRepositoryTest.java b/firstleg/src/test/java/com/baiyue/firstleg/repository/InboundOrderRepositoryTest.java index b2e119bb7..66d5a1993 100644 --- a/firstleg/src/test/java/com/baiyue/firstleg/repository/InboundOrderRepositoryTest.java +++ b/firstleg/src/test/java/com/baiyue/firstleg/repository/InboundOrderRepositoryTest.java @@ -64,7 +64,9 @@ class InboundOrderRepositoryTest { String sql = captor.getValue().getCustomSqlSegment(); assertThat(sql).contains("inbound_code", "order_status_snapshot", "expected_arrival_at", "channel_name", "container_mode", "measure_review_status", "order_id IN", - "fl_inbound_fee", "fl_inbound_transport_snapshot", "sailing_at", "loading_status"); + "fl_inbound_fee", "fl_loading_plan_item", "fl_loading_plan", "fl_container_booking", + "actual_sailing_at", "estimated_sailing_at", "plan_status"); + assertThat(sql).doesNotContain("fl_inbound_transport_snapshot", "loading_status"); LambdaQueryWrapper wrapper = (LambdaQueryWrapper) captor.getValue(); assertThat(wrapper.getParamNameValuePairs().values())