fix(firstleg): sequence child inbound codes

This commit is contained in:
2026-08-10 20:18:53 +08:00
parent 4749bd3bc1
commit b1ca37699f
2 changed files with 24 additions and 11 deletions
@@ -62,11 +62,11 @@ class PdaPickSettlementServiceTest {
service.settle(1L, 9L, "operator");
verify(splits).cloneChildWithPurpose(eq(10001L), eq(31L), eq(31L), anyLong(),
eq(1001L), eq("ORDER-LOADED"), anyString(), eq(8),
anyInt(), eq("LOADED"), eq(9L), eq("operator"));
eq(1001L), eq("ORDER-LOADED"), eq("IN-001-1"), eq(8),
eq(1), eq("LOADED"), eq(9L), eq("operator"));
verify(splits).cloneChildWithPurpose(eq(10001L), eq(31L), eq(31L), anyLong(),
eq(1002L), eq("ORDER-REMAINDER"), anyString(), eq(12),
anyInt(), eq("REMAINDER"), eq(9L), eq("operator"));
eq(1002L), eq("ORDER-REMAINDER"), eq("IN-001-2"), eq(12),
eq(2), eq("REMAINDER"), eq(9L), eq("operator"));
verify(allocations).consume(10001L, 31L, 1L, 8);
verify(warehouse).settle(eq("internal-token"), org.mockito.ArgumentMatchers.argThat(request ->
request.warehouseId() == 701L && request.sourceBusinessId() == 31L
@@ -201,6 +201,12 @@ class PdaPickSettlementServiceTest {
assertThat(resolution.skippedPlanItemIds()).isEmpty();
}
@Test
void childInboundCodesUseRootCodeAndGlobalSplitSequence() {
assertThat(PdaPickSettlementService.childInboundCode("RK-001", 1)).isEqualTo("RK-001-1");
assertThat(PdaPickSettlementService.childInboundCode("RK-001", 4)).isEqualTo("RK-001-4");
}
@Test
void orderSplitFailureStopsLocalChildCreationAndCanBeRetriedWithSameKey() {
LoadingPickItemEntity item = item(11L, 21L, 31L, 41L, 20, 20, "PICKED");