fix(wms):尺寸赋值修改

This commit is contained in:
zhaoqing
2026-08-13 18:08:49 +08:00
parent 3240e57c3e
commit c80e4b3ca3
2 changed files with 9 additions and 2 deletions
@@ -2915,6 +2915,7 @@ public class StockReceiptOrderApplicationService {
returnReceiptMaterialDetailDO.setTotalGrossWeight(receiptMaterialDetailDO.getTotalGrossWeight());
returnReceiptMaterialDetailDO.setTotalVolume(receiptMaterialDetailDO.getTotalVolume());
returnReceiptMaterialDetailDO.setTotalArea(receiptMaterialDetailDO.getTotalArea());
returnReceiptMaterialDetailDO.setDimensions(receiptMaterialDetailDO.getDimensions());
BigDecimal parentRetAlreadyQty = receiptMaterialDetailDO.getAlreadyReceiptQuantity() != null
? receiptMaterialDetailDO.getAlreadyReceiptQuantity() : BigDecimal.ZERO;
returnReceiptMaterialDetailDO.setAlreadyReceiptQuantity(parentRetAlreadyQty);
@@ -660,14 +660,14 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl<ReceiptMaterialDetail
}
/**
* total_volume / total_area 为空时强制 UPDATE NULL
* total_volume / total_area / dimensions 为空时强制 UPDATE NULL
* 仅对已存在明细material_detail_id 非空生效新插入行由实体空值自然得到 null
*/
private void applyForcedNullTotalMetrics(List<ReceiptMaterialDetail> receiptMaterialDetailList) {
if (CollectionUtils.isEmpty(receiptMaterialDetailList)) {
return;
}
// 列名组合 -> materialDetailId 列表total_volume / total_area / 两者
// 列名组合 -> materialDetailId 列表total_volume / total_area / dimensions / 任意组合
Map<String, List<Long>> columnsToIds = new HashMap<>();
for (ReceiptMaterialDetail detail : receiptMaterialDetailList) {
if (detail == null || detail.getMaterialDetailId() == null) {
@@ -683,6 +683,12 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl<ReceiptMaterialDetail
}
columns.append("total_area");
}
if (detail.getDimensions() == null) {
if (columns.length() > 0) {
columns.append(",");
}
columns.append("dimensions");
}
if (columns.length() == 0) {
continue;
}