fix(lastleg): keep completed containers editable

This commit is contained in:
2026-09-08 11:51:04 +08:00
parent cc6df5993f
commit 847df6a85f
5 changed files with 63 additions and 18 deletions
@@ -18,6 +18,7 @@ import java.util.List;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
class ContainerPlanProgressContractTest {
@@ -40,8 +41,8 @@ class ContainerPlanProgressContractTest {
String sql = String.join("", rows.value()).toLowerCase();
assertTrue(sql.contains("left join ll_inbound_plan"));
assertTrue(sql.contains("o.estimated_warehouse_at"));
assertTrue(sql.contains("having count(distinct case when p.id is not null"));
assertTrue(sql.contains("< count(distinct nullif(trim(o.inbound_code),''))"));
assertTrue(sql.contains("group by o.source_container_booking_id"));
assertFalse(sql.contains("having "));
assertTrue(sql.contains("progress.plannedarrivalat asc"));
assertTrue(sql.contains("progress.sourcecontainerbookingid asc"));
assertTrue(sql.contains("limit #{limit} offset #{offset}"));
@@ -58,7 +59,12 @@ class ContainerPlanProgressContractTest {
assertTrue(openApi.contains("/api/platform/v1/last-leg/orders/container-summaries/{sourceContainerBookingId}:"));
assertTrue(openApi.contains("ContainerPlanProgressSummary:"));
assertTrue(openApi.contains("allPlansReady:"));
assertTrue(openApi.contains("仅返回仍有入仓码待生成有效独立计划的柜"));
assertTrue(openApi.contains("返回全部稳定来源柜"));
assertTrue(openApi.contains("全部入仓码均已生成有效独立计划的柜仍保留"));
assertTrue(openApi.contains("权限 platform:overseas-warehouse:last-mile-order:list"));
assertTrue(openApi.contains("权限 platform:overseas-warehouse:last-mile-order:edit"));
assertFalse(openApi.contains("platform:overseas-warehouse:order:list"));
assertFalse(openApi.contains("platform:overseas-warehouse:order:edit"));
assertTrue(openApi.contains("ll_order.estimated_warehouse_at"));
assertTrue(schema.contains("idx_ll_order_container_progress(source_container_booking_id,estimated_warehouse_at,created_at,id)"));
assertTrue(deployment.contains("idx_ll_order_container_progress(source_container_booking_id,estimated_warehouse_at,created_at,id)"));
@@ -77,8 +83,8 @@ class ContainerPlanProgressContractTest {
assertTrue(sql.contains("source_container_booking_id<>''"));
assertTrue(sql.contains("LEFT JOIN ll_inbound_plan"));
assertTrue(sql.contains("HAVING COUNT(DISTINCT CASE WHEN p.id IS NOT NULL"));
assertTrue(sql.contains("< COUNT(DISTINCT NULLIF(TRIM(o.inbound_code),''))"));
assertTrue(sql.contains("GROUP BY o.source_container_booking_id"));
assertFalse(sql.contains("HAVING "));
assertTrue(!sql.contains("&lt;"));
}
}