fix(lastleg): scope inventory holds by cycle and align pick lock ordering

This commit is contained in:
2026-10-03 01:34:14 +08:00
parent 1db6e744c8
commit 7530a95fbd
9 changed files with 304 additions and 13 deletions
@@ -84,7 +84,7 @@ class LastlegOrderCommandServiceTest {
verify(orders).updateHold(eq("100"), eq(11L), eq(true), eq(true), eq("海关查验"), eq(3), any());
verify(holdHistory).insert(any(LastlegOrderHoldHistory.class));
verify(commands).insert(any(LastlegOrderCommandRecord.class));
verify(inventory).holdInboundOrderInventory("100", "900", 11L, "LL-11", "海关查验");
verify(inventory).holdInboundOrderInventory("100", "900", 11L, "LL-11", "海关查验", "ORDER_HOLD:11:4");
verify(orders, never()).lockContainerOrders(any());
}
@@ -93,6 +93,8 @@ class LastlegOrderCommandServiceTest {
LastlegOrder order = order(11L, 3);
order.setCurrentStatus("INBOUND_COMPLETED");
order.setDetained(true);
var originalHold = new LastlegOrderHoldHistory(); originalHold.setOrderVersion(2);
when(holdHistory.selectOne(any())).thenReturn(originalHold);
when(orders.selectById(11L)).thenReturn(order);
when(orders.lockById("100", 11L)).thenReturn(order);
when(orders.updateHold(eq("100"), eq(11L), eq(false), eq(false), eq("质检通过"), eq(3),
@@ -101,7 +103,7 @@ class LastlegOrderCommandServiceTest {
service.hold("100", 11L, "release-11",
new LastlegOrderCommandDtos.HoldRequest(false, false, "质检通过", 3), "900", "管理员");
verify(inventory).releaseInboundOrderHold("100", "900", 11L, "LL-11", "质检通过");
verify(inventory).releaseInboundOrderHold("100", "900", 11L, "LL-11", "质检通过", "ORDER_HOLD:11:2");
}
@Test