diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelServiceImpl.java b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelServiceImpl.java index a7b3ffe5..c0de039d 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelServiceImpl.java @@ -3457,7 +3457,7 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { *
修复说明:
@@ -3580,17 +3580,30 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { continue; } - // 计算单箱体积:长 * 宽 * 高 + // 获取该箱号对应的箱子数量 + Object boxQtyObj = box.get("box_qty"); + BigDecimal boxQty = (boxQtyObj != null) + ? new BigDecimal(boxQtyObj.toString()) + : BigDecimal.ONE; + if (boxQty.compareTo(BigDecimal.ZERO) <= 0) { + boxQty = BigDecimal.ONE; + } + + // 计算单箱体积:长 * 宽 * 高,再乘以箱数 BigDecimal singleBoxVolume = packageData.getLength() .multiply(packageData.getWidth()) .multiply(packageData.getHeight()); + BigDecimal boxTotalVolume = singleBoxVolume.multiply(boxQty); // 累加到总体积 - totalVolume = totalVolume.add(singleBoxVolume); + totalVolume = totalVolume.add(boxTotalVolume); processedBoxCount++; - log.debug("箱号 {} 物料 {} 包装 {} 单箱体积 {} m³", - seqNoObj, mainPn, packageNo, singleBoxVolume.setScale(4, RoundingMode.HALF_UP)); + log.debug("箱号 {} 物料 {} 包装 {} 单箱体积 {} m³ 箱数 {} 小计 {} m³", + seqNoObj, mainPn, packageNo, + singleBoxVolume.setScale(4, RoundingMode.HALF_UP), + boxQty, + boxTotalVolume.setScale(4, RoundingMode.HALF_UP)); } log.info("体积计算完成,发货单号: {}, 处理箱数: {}/{}, 总体积: {} m³",