From 47291cc9294a0d31ab61acf13f82c36ba061cb91 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期三, 25 三月 2026 14:48:26 +0800
Subject: [PATCH] feat(approve): 在审批记录中添加发货数量信息

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java |    8 ++++----
 src/main/resources/mapper/sales/SalesLedgerProductMapper.xml                |    5 ++---
 src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java                      |    3 +++
 src/main/resources/mapper/sales/ShippingInfoMapper.xml                      |    4 ++++
 4 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index a624661..f8ca1c5 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -43,15 +43,13 @@
 import org.springframework.util.StringUtils;
 
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -199,6 +197,8 @@
                     ShippingInfo shippingInfo = shippingInfoMapper.selectOne(new LambdaQueryWrapper<ShippingInfo>()
                             .eq(ShippingInfo::getShippingNo, shippingNo)
                             .last("limit 1"));
+                    record.setApproveReason(record.getApproveReason() + "-鍙戣揣鏁伴噺:" + Optional.ofNullable(shippingInfo.getPartSendAmount()).orElse(BigDecimal.ZERO).stripTrailingZeros()
+                            .toPlainString());
                     if (shippingInfo != null) {
                         // 浣跨敤鍙戣揣鍙拌处鐨� 閿�鍞彴璐D 鍘绘煡闄勪欢
                         allFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
diff --git a/src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java b/src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java
index 260d217..2d5d470 100644
--- a/src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java
@@ -7,6 +7,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -33,4 +34,6 @@
 
     private String productName;
 
+    private BigDecimal quantity;
+
 }
diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index e729339..dcbf337 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -17,11 +17,10 @@
         LEFT JOIN stock_inventory t2 ON T1.product_model_id = t2.product_model_id
 
         LEFT JOIN (
-        SELECT sales_ledger_id,
+        SELECT sales_ledger_product_id,
         sum(part_send_amount) as part_send_amount
         FROM shipping_info
-        GROUP BY sales_ledger_id
-        ) as t3 on t3.sales_ledger_id = T1.sales_ledger_id
+        GROUP BY sales_ledger_product_id) as t3 on t3.sales_ledger_product_id = T1.id
         <where>
             <if test="salesLedgerProduct.salesLedgerId != null">
                 AND T1.sales_ledger_id = #{salesLedgerProduct.salesLedgerId}
diff --git a/src/main/resources/mapper/sales/ShippingInfoMapper.xml b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
index e56c572..b9b9f7c 100644
--- a/src/main/resources/mapper/sales/ShippingInfoMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -13,6 +13,7 @@
         s.shipping_no,
         s.type,
         s.status,
+        slp.quantity,
         s.create_time,
         s.update_time,
         s.create_user,
@@ -36,6 +37,9 @@
         <if test="req.salesLedgerId != null">
             AND s.sales_ledger_id = #{req.salesLedgerId}
         </if>
+        <if test="req.salesLedgerProductId != null">
+            AND slp.id = #{req.salesLedgerProductId}
+        </if>
         <if test="req.shippingCarNumber != null and req.shippingCarNumber != ''">
             AND s.shipping_car_number LIKE CONCAT('%',#{req.shippingCarNumber},'%')
         </if>

--
Gitblit v1.9.3