From d1fac30e634e33edd29e3440de1f91da84c150c1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 05 六月 2026 15:38:39 +0800
Subject: [PATCH] feat(account): 新增付款状态管理功能并优化生产任务查询

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index 6addf3c..4dc8bab 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.mapper.ProductModelMapper;
+import com.ruoyi.basic.pojo.ProductModel;
 import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.production.mapper.*;
@@ -86,6 +88,8 @@
     private StockUtils stockUtils;
     @Autowired
     private StockInventoryMapper stockInventoryMapper;
+    @Autowired
+    private ProductModelMapper productModelMapper;
 
     @Override
     public SalesLedgerProduct selectSalesLedgerProductById(Long id) {
@@ -225,12 +229,28 @@
             return;
         }
         SalesLedger salesLedger = salesLedgerMapper.selectById(salesLedgerProduct.getSalesLedgerId());
+        // 鑾峰彇鍗曚綅锛氫紭鍏堜娇鐢ㄥ墠绔紶鍏ョ殑unit锛屽惁鍒欎粠浜у搧瑙勬牸鑾峰彇
+        String unit = salesLedgerProduct.getUnit();
+        if (unit == null || unit.isEmpty()) {
+            ProductModel productModel = productModelMapper.selectById(salesLedgerProduct.getProductModelId());
+            unit = productModel != null ? productModel.getUnit() : null;
+        }
+
         ProductionPlan productionPlan = new ProductionPlan();
         productionPlan.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId());
         productionPlan.setSalesLedgerProductId(salesLedgerProduct.getId());
         productionPlan.setMpsNo(generateNextPlanNo(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))));
         productionPlan.setProductModelId(salesLedgerProduct.getProductModelId());
-        productionPlan.setQtyRequired(normalizeTotalQuantity(
+        // 闇�姹傛暟閲� = 浜у搧鏁伴噺锛堜笉鏄�绘暟锛�
+        productionPlan.setQtyRequired(salesLedgerProduct.getQuantity());
+        // 鍚屾鍗曚綅
+        productionPlan.setUnit(unit);
+        // 鍚屾浜у搧鏁伴噺
+        productionPlan.setQuantity(salesLedgerProduct.getQuantity());
+        // 鍚屾姣忎欢鏁伴噺
+        productionPlan.setSingleQuantity(normalizeSingleQuantity(salesLedgerProduct.getSingleQuantity()));
+        // 鍚屾鎬绘暟
+        productionPlan.setTotalQuantity(normalizeTotalQuantity(
                 salesLedgerProduct.getTotalQuantity(),
                 salesLedgerProduct.getQuantity(),
                 salesLedgerProduct.getSingleQuantity()

--
Gitblit v1.9.3