一件代发拣货
This commit is contained in:
+48
@@ -2,6 +2,7 @@ package com.baiyue.lastleg.inboundplan.service;
|
||||
|
||||
import com.baiyue.lastleg.inboundplan.entity.InboundPlan;
|
||||
import com.baiyue.lastleg.inboundplan.dto.InboundPlanRequests;
|
||||
import com.baiyue.lastleg.inboundplan.dto.UpdateInboundPlanRequest;
|
||||
import com.baiyue.lastleg.inboundplan.entity.InboundPlanLine;
|
||||
import com.baiyue.lastleg.inboundplan.entity.InboundPlanPallet;
|
||||
import com.baiyue.lastleg.inboundplan.entity.InboundPlanPalletAllocation;
|
||||
@@ -199,6 +200,53 @@ class InboundPlanServiceTest {
|
||||
.map(InboundPlanPalletAllocation::getPlannedPackageCount).toList());
|
||||
}
|
||||
|
||||
@Test
|
||||
void updateSynchronizesDestinationSnapshotToLinesAndPallets() {
|
||||
InboundPlan plan = new InboundPlan();
|
||||
plan.setId(20L);
|
||||
plan.setPlanNo("IP-20");
|
||||
plan.setCustomerId("100");
|
||||
plan.setStatus("PENDING_ASSIGNMENT");
|
||||
plan.setVersion(3);
|
||||
|
||||
InboundPlanLine line = new InboundPlanLine();
|
||||
line.setId(21L);
|
||||
line.setCustomerId("100");
|
||||
line.setPlanId(20L);
|
||||
line.setDestinationWarehouseId("OLD-WH");
|
||||
line.setDestinationWarehouseCode("OLD-CODE");
|
||||
line.setDestinationWarehouseName("Old warehouse");
|
||||
|
||||
InboundPlanPallet pallet = new InboundPlanPallet();
|
||||
pallet.setId(22L);
|
||||
pallet.setCustomerId("100");
|
||||
pallet.setPlanId(20L);
|
||||
pallet.setDestinationWarehouseId("OLD-WH");
|
||||
pallet.setDestinationWarehouseCode("OLD-CODE");
|
||||
pallet.setDestinationWarehouseName("Old warehouse");
|
||||
|
||||
when(planMapper.selectOne(any())).thenReturn(plan);
|
||||
when(lineMapper.selectList(any())).thenReturn(List.of(line), List.of(line));
|
||||
when(palletMapper.selectList(any())).thenReturn(List.of(pallet), List.of(pallet));
|
||||
when(allocationMapper.selectList(any())).thenReturn(List.of());
|
||||
|
||||
service.update("100", "IP-20",
|
||||
new UpdateInboundPlanRequest("100", 193000000000200003L,
|
||||
" US-LAX-01 ", " Los Angeles Warehouse ", 3));
|
||||
|
||||
ArgumentCaptor<InboundPlanLine> updatedLine = ArgumentCaptor.forClass(InboundPlanLine.class);
|
||||
verify(lineMapper).updateById(updatedLine.capture());
|
||||
assertEquals("193000000000200003", updatedLine.getValue().getDestinationWarehouseId());
|
||||
assertEquals("US-LAX-01", updatedLine.getValue().getDestinationWarehouseCode());
|
||||
assertEquals("Los Angeles Warehouse", updatedLine.getValue().getDestinationWarehouseName());
|
||||
|
||||
ArgumentCaptor<InboundPlanPallet> updatedPallet = ArgumentCaptor.forClass(InboundPlanPallet.class);
|
||||
verify(palletMapper).updateById(updatedPallet.capture());
|
||||
assertEquals("193000000000200003", updatedPallet.getValue().getDestinationWarehouseId());
|
||||
assertEquals("US-LAX-01", updatedPallet.getValue().getDestinationWarehouseCode());
|
||||
assertEquals("Los Angeles Warehouse", updatedPallet.getValue().getDestinationWarehouseName());
|
||||
}
|
||||
|
||||
private SourceOrderSnapshot order(Long id, String inboundCode, String volume, String warehouse) {
|
||||
return new SourceOrderSnapshot(id, "100", "CONT-1", inboundCode, "PENDING_ASSIGNMENT", null,
|
||||
new BigDecimal(volume), new BigDecimal(volume).multiply(BigDecimal.TEN).intValue(),
|
||||
|
||||
Reference in New Issue
Block a user