第三期装柜验收优化修改

This commit is contained in:
2026-08-12 13:34:26 +08:00
parent d2704f68a6
commit c2b1ab92ff
27 changed files with 258 additions and 71 deletions
@@ -8,6 +8,7 @@ import com.baiyue.firstleg.dto.LoadingPickDtos.SkipRequest;
import com.baiyue.firstleg.dto.LoadingPickDtos.BatchRequest;
import com.baiyue.firstleg.dto.LoadingPickDtos.BatchItemRequest;
import com.baiyue.firstleg.dto.LoadingPickDtos.ClaimRequest;
import com.baiyue.firstleg.dto.LoadingPickDtos.CompleteLoadingRequest;
import com.baiyue.firstleg.client.WarehousePalletLocationClient;
import com.baiyue.common.core.api.ApiResponse;
import com.baiyue.firstleg.entity.LoadingPickAssignmentEntity;
@@ -67,7 +68,7 @@ class LoadingPickServiceTest {
}
@Test
void touchesTaskBeforeCompletingLastPickedItem() {
void keepsResourcesLockedAfterLastPickedItemUntilManualCompletion() {
LoadingPickTaskEntity task = task();
LoadingPickItemEntity item = item();
preparePick(task, item, "pick-2");
@@ -76,11 +77,10 @@ class LoadingPickServiceTest {
service.pick(20L, 30L, new PickRequest(101L, 2, List.of(), 0, "pick-2"), 9L, "operator");
InOrder order = inOrder(repository, settlementService, loadingListService);
order.verify(repository).touchTask(20L, 0);
order.verify(settlementService).settle(20L, 9L, "operator");
order.verify(loadingListService).finishFromPda(10L, 20L, 9L, "operator");
order.verify(repository).syncInboundProjections(20L, 9L, "operator");
verify(repository).touchTask(20L, 0);
verify(settlementService, never()).settle(20L, 9L, "operator");
verify(loadingListService, never()).finishFromPda(10L, 20L, 9L, "operator");
verify(repository).syncInboundProjections(20L, 9L, "operator");
verify(repository).insert(any(LoadingPickHistoryEntity.class));
}
@@ -131,7 +131,7 @@ class LoadingPickServiceTest {
}
@Test
void touchesTaskBeforeCompletingLastPartialItem() {
void keepsPartialPickLockedUntilManualCompletion() {
LoadingPickTaskEntity task = task();
LoadingPickItemEntity item = item();
preparePartial(task, item, "partial-1");
@@ -141,11 +141,10 @@ class LoadingPickServiceTest {
service.partial(20L, 30L, new PartialPickRequest(101L, 1, List.of(), 0, "partial-1"),
9L, "operator");
InOrder order = inOrder(repository, settlementService, loadingListService);
order.verify(repository).touchTask(20L, 0);
order.verify(settlementService).settle(20L, 9L, "operator");
order.verify(loadingListService).finishFromPda(10L, 20L, 9L, "operator");
order.verify(repository).syncInboundProjections(20L, 9L, "operator");
verify(repository).touchTask(20L, 0);
verify(settlementService, never()).settle(20L, 9L, "operator");
verify(loadingListService, never()).finishFromPda(10L, 20L, 9L, "operator");
verify(repository).syncInboundProjections(20L, 9L, "operator");
}
@Test
@@ -171,7 +170,7 @@ class LoadingPickServiceTest {
}
@Test
void reviewSettlesResolvedItemsAndCompletesPlan() {
void manualCompletionSettlesResolvedItemsAndCompletesPlan() {
LoadingPickTaskEntity task = task();
LoadingPickItemEntity item = item();
item.setPlannedPackageCount(5);
@@ -181,15 +180,15 @@ class LoadingPickServiceTest {
when(repository.task(20L)).thenReturn(task);
when(repository.items(20L)).thenReturn(List.of(item));
when(repository.items(20L, 101L)).thenReturn(List.of(item));
when(repository.settlePartial(40L, 30L, 3, 5, 9L, "operator")).thenReturn(1);
when(repository.allTaskItemsResolved(20L)).thenReturn(true);
when(repository.allPlanItemsPicked(10L)).thenReturn(true);
when(repository.approve(20L, 9L, "operator", "checked")).thenReturn(1);
service.review(20L, new ReviewRequest(0, "review-1", "checked"), 9L, "operator");
service.complete(20L, new CompleteLoadingRequest(0, "complete-1", "checked"), 9L, "operator");
verify(repository).insert(any(LoadingPickOperationEntity.class));
verify(loadingListService).finishFromPda(10L, 20L, 9L, "operator");
verify(settlementService, never()).settle(20L, 9L, "operator");
verify(settlementService).settle(20L, 9L, "operator");
verify(repository).syncInboundProjections(20L, 9L, "operator");
}
@@ -237,8 +236,8 @@ class LoadingPickServiceTest {
verify(repository, times(1)).pick(30L, 2, "MANUAL", "[]", 0, 101L);
verify(repository, times(1)).skip(31L, 0, 101L);
verify(repository, times(1)).touchTask(20L, 0);
verify(settlementService, times(1)).settle(20L, 9L, "operator");
verify(loadingListService, times(1)).finishFromPda(10L, 20L, 9L, "operator");
verify(settlementService, never()).settle(20L, 9L, "operator");
verify(loadingListService, never()).finishFromPda(10L, 20L, 9L, "operator");
verify(repository, times(1)).syncInboundProjections(20L, 9L, "operator");
}