diff --git a/yudao-module-shipment/yudao-module-shipment-core/src/main/java/cn/iocoder/yudao/module/shipment/service/makeBillOfLading/MakeBillOfLadingServiceImpl.java b/yudao-module-shipment/yudao-module-shipment-core/src/main/java/cn/iocoder/yudao/module/shipment/service/makeBillOfLading/MakeBillOfLadingServiceImpl.java
index e12e28802e6f93647cca7ea104c92f1afb286d4f..88ae53a392a6ddaa5f966c10c418db8729060f66 100644
--- a/yudao-module-shipment/yudao-module-shipment-core/src/main/java/cn/iocoder/yudao/module/shipment/service/makeBillOfLading/MakeBillOfLadingServiceImpl.java
+++ b/yudao-module-shipment/yudao-module-shipment-core/src/main/java/cn/iocoder/yudao/module/shipment/service/makeBillOfLading/MakeBillOfLadingServiceImpl.java
@@ -1083,11 +1083,11 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin
             return paramMap;
         }).collect(Collectors.toList());
         //订单项合计
-        int totalNum = orderItemVOList.stream().filter(item -> item.getWarehouseInInfoVO() != null).mapToInt(item -> item.getWarehouseInInfoVO().getCartonsNum()).sum();
+        int totalNum = orderItemVOList.stream().filter(item -> item.getWarehouseInInfoVO() != null && item.getWarehouseInInfoVO().getCartonsNum() > 0).mapToInt(item -> item.getWarehouseInInfoVO().getCartonsNum()).sum();
         BigDecimal totalVolume = BigDecimal.ZERO;
         BigDecimal totalWeight = BigDecimal.ZERO;
         for (OrderItemDO orderItemDO : orderItemVOList) {
-            if (orderItemDO.getWarehouseInInfoVO() != null) {
+            if (orderItemDO.getWarehouseInInfoVO() != null && orderItemDO.getWarehouseInInfoVO().getCartonsNum() > 0) {
                 totalVolume = totalVolume.add(orderItemDO.getWarehouseInInfoVO().getWeight());
                 if (Objects.nonNull(orderItemDO.getChargeWeight()) && orderItemDO.getChargeWeight().compareTo(orderItemDO.getMinMeteringWeight()) > 0) {
                     totalWeight = totalWeight.add(orderItemDO.getChargeWeight());