fix(firstleg): align coload loading route gates

This commit is contained in:
2026-08-29 12:36:07 +08:00
parent ba641754de
commit 0cf76df168
3 changed files with 54 additions and 26 deletions
@@ -58,6 +58,7 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.doAnswer;
@@ -821,15 +822,15 @@ class LoadingPickServiceTest {
complete.setPickedPackageCount(5);
complete.setItemStatus("PICKED");
GroupSnapshot group = coloadGroup("LOCKED", 10L,
new Member(101L, 301L, 50L, 5), new Member(202L, 302L, 60L, 5));
new Member(101L, 301L, 50L, 5), new Member(101L, 301L, 60L, 5));
when(repository.taskForUpdate(20L)).thenReturn(task);
when(repository.allTaskItemsResolved(20L)).thenReturn(true);
when(repository.inboundOwners(20L)).thenReturn(List.of(
new LoadingPickItemMapper.InboundOwner(101L, 50L),
new LoadingPickItemMapper.InboundOwner(202L, 60L)));
new LoadingPickItemMapper.InboundOwner(101L, 60L)));
when(repository.items(20L)).thenReturn(List.of(shortPicked, complete));
when(coloadGroups.findByInbound(101L, 50L)).thenReturn(group);
when(coloadGroups.findByInbound(202L, 60L)).thenReturn(group);
when(coloadGroups.findByInbound(101L, 60L)).thenReturn(group);
assertThatThrownBy(() -> service.complete(20L,
new CompleteLoadingRequest(0, "complete-short-coload", "短拣异常"), 9L, "operator"))
@@ -1247,8 +1248,14 @@ class LoadingPickServiceTest {
}
private static GroupSnapshot coloadGroup(String status, Long lockedPlanId, Member... members) {
return new GroupSnapshot(700L, "CLG-700", status, 101L, "FBA", "FBA", 201L,
"FBA1", lockedPlanId, 1, List.of(members), LocalDateTime.now(), LocalDateTime.now());
GroupSnapshot group = mock(GroupSnapshot.class);
when(group.groupId()).thenReturn(700L);
when(group.status()).thenReturn(status);
when(group.lockedPlanId()).thenReturn(lockedPlanId);
when(group.members()).thenReturn(List.of(members));
when(group.fullPackageCount()).thenReturn(List.of(members).stream()
.mapToInt(Member::fullPackageCount).sum());
return group;
}
}