diff --git a/src/main/java/com/gaotao/modules/boxManage/controller/BoxForNotificationController.java b/src/main/java/com/gaotao/modules/boxManage/controller/BoxForNotificationController.java index 4b98d6e..dddb314 100644 --- a/src/main/java/com/gaotao/modules/boxManage/controller/BoxForNotificationController.java +++ b/src/main/java/com/gaotao/modules/boxManage/controller/BoxForNotificationController.java @@ -266,7 +266,7 @@ public class BoxForNotificationController { data.setPalletNo((String) params.get("palletNo")); data.setBoxNo((String) params.get("boxNo")); data.setReceivedBy((String) params.get("receivedBy")); - data.setBoxesQty(1); // 默认为1 + // boxesQty 在 Service 层根据箱内卷数量自动计算 srmSupplierService.scanPalletBox(data); return R.ok().put("code", 0).put("msg", "装托成功"); diff --git a/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java b/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java index c7af044..e2a3713 100644 --- a/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java +++ b/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java @@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -462,6 +463,13 @@ public class BoxForNotificationServiceImpl implements BoxForNotificationService throw new RuntimeException("箱内没有卷,不允许装托!"); } + // 计算箱内所有卷的数量之和 + BigDecimal totalRollQty = boxRolls.stream() + .map(SoReceiveBoxRollsData::getRollQty) + .filter(qty -> qty != null) + .reduce(BigDecimal.ZERO, BigDecimal::add); + inData.setBoxesQty(totalRollQty.intValue()); + // 3. 添加箱到托 boxForNotificationMapper.addBoxToPallet(inData);