fix: deduplicate unified order locations

This commit is contained in:
2026-09-04 15:54:53 +08:00
parent 15b16634db
commit dc6a0debca
3 changed files with 25 additions and 4 deletions
@@ -487,7 +487,7 @@ class UnifiedOrderQueryServiceTest {
assertThat(row.inboundCode()).isEqualTo("RK-77");
assertThat(row.channelCode()).isEqualTo("MATSON");
assertThat(row.recommendedPalletType()).isNull();
assertThat(row.locationCodes()).isEqualTo("A0-01, B2-03");
assertThat(row.locationCodes()).isEqualTo("A0-01、B2-03");
assertThat(row.companyName()).isEqualTo("测试客户有限公司");
assertThat(row.businessType()).isEqualTo("SEA_LCL");
assertThat(row.totalPalletCount()).isEqualTo(2);
@@ -512,6 +512,19 @@ class UnifiedOrderQueryServiceTest {
assertThat(row.totalNetWeightKg()).isNull();
}
@Test
void unifiedRowDeduplicatesLocationCodesInFirstSeenOrder() {
UnifiedOrderQuery query = query("INBOUNDED");
var summary = summary("INBOUNDED", null);
when(summary.inbound().locationCodes()).thenReturn("A0、 A0, A0,A0");
when(firstleg.page(eq("internal-token"), any())).thenReturn(
ApiResponse.success(new PageResult<>(List.of(summary), 1, 20, 1, 1)));
var row = service.page(null, query).records().get(0);
assertThat(row.locationCodes()).isEqualTo("A0");
}
@Test
void waitSplitFilterForwardsAndReturnsWaitSplitIndependently() {
UnifiedOrderQuery query = query("WAIT_SPLIT");