fix: complete order measurement downstream flow

This commit is contained in:
2026-09-18 14:58:40 +08:00
parent 02d2474141
commit c8a99f9fff
43 changed files with 621 additions and 52 deletions
@@ -142,6 +142,8 @@ class DeliveryTransferServiceTest {
assertEquals("WAIT_OUTBOUND", outbound.getValue().getStatus());
assertEquals(2, outbound.getValue().getPalletCount());
assertEquals(20, outbound.getValue().getPackageCount());
assertEquals(new BigDecimal("20"), outbound.getValue().getGrossWeightKg());
assertEquals(new BigDecimal("2.0"), outbound.getValue().getVolumeCbm());
assertEquals("transfer-101", outbound.getValue().getIdempotencyKey());
assertTrue(outbound.getValue().getOutboundNo().matches("OB-WH-\\d{8}-\\d{6}"));
assertTrue(delivery.getAllValues().stream().allMatch(value -> outbound.getValue().getId().equals(value.getOutboundOrderId())));
@@ -152,6 +154,10 @@ class DeliveryTransferServiceTest {
.map(OutboundPalletItem::getDestinationWarehouseCode).toList());
assertEquals(List.of("IN-A", "IN-B"), pallets.getAllValues().stream()
.map(OutboundPalletItem::getInboundCode).toList());
assertEquals(List.of(new BigDecimal("12"), new BigDecimal("8")), pallets.getAllValues().stream()
.map(OutboundPalletItem::getGrossWeightKg).toList());
assertEquals(List.of(new BigDecimal("12"), new BigDecimal("8")), delivery.getAllValues().stream()
.map(DeliveryOrder::getTotalWeightKg).toList());
assertEquals(20, result.packageCount());
assertEquals(2, result.palletCount());
assertEquals(2, result.deliveries().size());
@@ -929,6 +935,9 @@ class DeliveryTransferServiceTest {
value.setDestinationWarehouseId("DEST-" + destinationCode);
value.setDestinationWarehouseCode(destinationCode); value.setDestinationWarehouseName(destinationName);
value.setInboundCode(inboundCode); value.setOrderRefs("LMO-1"); value.setPackageCount(packages);
value.setGrossWeightKg(BigDecimal.valueOf(packages));
value.setVolumeWeightKg(BigDecimal.valueOf(packages * 2L));
value.setVolumeCbm(BigDecimal.valueOf(packages, 1));
value.setSourceStage("RECEIVED");
return value;
}