修复装柜清单托盘数快照

This commit is contained in:
2026-08-24 17:03:29 +08:00
parent c88d99a593
commit 8708904dab
7 changed files with 50 additions and 4 deletions
@@ -60,6 +60,9 @@ class LoadingListQueryMapperContractTest {
assertThat(items)
.contains("i.order_id", "i.order_no", "b.container_no")
.contains("b.record_status='ACTIVE'")
.contains("NULLIF(i.pallet_count,0)")
.contains("fl_inbound_weight_result weight")
.contains("weight.recognition_status='CONFIRMED'")
.contains("i.loading_plan_id = #{planId}")
.contains("i.deleted = 0");
}
@@ -101,6 +101,17 @@ class PdaSplitSettlementSqlContractTest {
.contains("split_status='FULLY_SPLIT'");
}
@Test
void partialPickingConvergesPalletSnapshotWithActualCartons() throws Exception {
String converge = InboundSplitSettlementMapper.class.getMethod("convergePartialPlanItem",
long.class, long.class, String.class)
.getAnnotation(Update.class).value()[0];
assertThat(converge)
.contains("plan_item.pallet_count = CEIL")
.contains("pick_item.picked_package_count / NULLIF(plan_item.package_count,0)")
.contains("plan_item.package_count = pick_item.picked_package_count");
}
@Test
void keepsAllocationConfirmedUntilReleaseStep() throws Exception {
String consume = InboundPalletAllocationMapper.class.getMethod("consume",
@@ -16,6 +16,7 @@ import com.baiyue.firstleg.entity.ContainerBookingEntity;
import com.baiyue.firstleg.entity.LoadingPlanEntity;
import com.baiyue.firstleg.entity.LoadingPlanHistoryEntity;
import com.baiyue.firstleg.entity.LoadingPlanItemEntity;
import com.baiyue.firstleg.entity.InboundOrderEntity;
import com.baiyue.firstleg.repository.SmartLoadingRepository;
import com.baiyue.firstleg.loading.bridge.service.LoadingModelBridgeService;
import com.baiyue.firstleg.split.service.SplitPreloadService;
@@ -299,6 +300,9 @@ class SmartLoadingServiceTest {
@Test
void snapshotsCargoFields() {
stubAssignment();
InboundOrderEntity inbound = new InboundOrderEntity();
inbound.setId(10L); inbound.setTenantId(9L); inbound.setTotalPackageCount(10); inbound.setPalletCount(4);
when(repository.inbound(9L, 10L)).thenReturn(inbound);
when(cargoClient.detail(anyString(), eq(9L), eq(30L), eq(20L))).thenReturn(ApiResponse.success(
new OrderCargoClient.CargoBinding(20L, 30L, 1, "中文品名", 10,
new BigDecimal("20"), new BigDecimal("2"), "SKU-1", "English name",
@@ -319,6 +323,7 @@ class SmartLoadingServiceTest {
assertThat(saved.getProductNameEn()).isEqualTo("English name");
assertThat(saved.getUnitsPerCarton()).isEqualTo(4);
assertThat(saved.getProductQuantity()).isEqualTo(20);
assertThat(saved.getPalletCount()).isEqualTo(2);
assertThat(saved.getNetWeightKg()).isEqualByComparingTo("7.5");
assertThat(saved.getCustomerRemark()).isEqualTo("客户备注");
assertThat(saved.getInternalRemark()).isEqualTo("最新内部备注");