This commit is contained in:
2026-09-11 17:01:56 +08:00
parent b6c66565b9
commit 1683977e0b
2 changed files with 12 additions and 2 deletions
@@ -23,7 +23,11 @@ public interface LoadingListQueryMapper {
p.id AS plan_id, p.plan_no, p.container_booking_id, p.plan_status, p.remark,
p.created_by, p.created_by_name, p.created_at, p.version,
b.container_no, b.cabinet_no, b.warehouse_id, b.warehouse_name,
b.channel_code, b.outbound_confirmed_at, b.actual_empty_reported_at,
b.channel_code,
(SELECT MIN(outbound.confirmed_at) FROM fl_outbound_dispatch outbound
WHERE outbound.container_booking_id = p.container_booking_id AND outbound.confirmed_at IS NOT NULL
AND outbound.reversed_at IS NULL AND outbound.status = 'WAITING_FOR_LOADING') AS outbound_confirmed_at,
b.actual_empty_reported_at,
b.vessel_name, b.voyage_no, b.container_type,
(SELECT COUNT(*) FROM fl_preload_loading_plan_link preload_link
WHERE preload_link.loading_plan_id = p.id) AS preload_link_count,
@@ -52,7 +56,7 @@ public interface LoadingListQueryMapper {
p.id, p.plan_no, p.container_booking_id, p.plan_status, p.remark,
p.created_by, p.created_by_name, p.created_at, p.version,
b.container_no, b.cabinet_no, b.warehouse_id, b.warehouse_name,
b.channel_code, b.outbound_confirmed_at, b.actual_empty_reported_at,
b.channel_code, b.actual_empty_reported_at,
b.vessel_name, b.voyage_no, b.container_type
""";
@@ -34,6 +34,10 @@ class LoadingListQueryMapperContractTest {
.contains("FROM fl_loading_plan p")
.contains("JOIN fl_container_booking b")
.contains("LEFT JOIN fl_loading_plan_item i")
.contains("FROM fl_outbound_dispatch outbound")
.contains("outbound.container_booking_id = p.container_booking_id")
.contains("AS outbound_confirmed_at")
.doesNotContain("b.outbound_confirmed_at")
.doesNotContain("preload_pushed_at")
.contains("p.plan_status IN ('EDITING', 'LOADING')")
.doesNotContain("active_item.deleted = 0")
@@ -47,6 +51,8 @@ class LoadingListQueryMapperContractTest {
.doesNotContain("PRELOAD_PUSHED");
assertThat(confirmed)
.contains("FROM fl_loading_plan p")
.contains("FROM fl_outbound_dispatch outbound")
.doesNotContain("b.outbound_confirmed_at")
.contains("p.plan_status = 'COMPLETED'")
.contains("customer_item.account_id = #{query.customerId}")
.contains("b.warehouse_id = #{query.warehouseId}")