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 176d0b79f6b9b0f59ce017b78c8184eb16bfecbb..0376b713f3f715efb18bc248ed0d940acb4b0225 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());