From a76e1d17d67641993dea6335cb8e1465a94df58d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 21 五月 2026 15:39:05 +0800
Subject: [PATCH] feat(stock): 优化库存管理和成品树结构功能 1- 为ApproveProcessMapper.xml和ProductBomMapper.xml添加排序功能 2- 在ProductionProductMainDto中新增bomInputQty字段用于产品结构投入数量 3- 修改ProductionProductMainServiceImpl中投入数量计算逻辑,使用前端传入的bomInputQty值 4- 在ProductWorkOrderDto中添加bomInputQty字段并在服务实现中计算标准投入数量 5- 更新SalesLedgerMapper.xml查询逻辑,从product_summary获取电压信息 6- 为SalesLedgerProduct添加stockId字段并修改库存扣减逻辑使用具体库存ID 7- 重构StockInventoryController中的成品库存树查询接口和导入导出功能 8- 新增成品和非成品库存导入导出的数据模型和Excel工具类 9- 优化StockInventoryServiceImpl中的库存扣减逻辑,支持按特定库存ID操作 10- 更新库存导入导出功能,区分成品和非成品类型并提供相应模板

---
 src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml |  132 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml b/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
index c4636e5..c5c007e 100644
--- a/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
+++ b/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
@@ -88,4 +88,136 @@
         where pr.id = #{id}
     </select>
 
+    <select id="paymentHistoryList" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
+        SELECT
+            T1.payment_date,
+            T2.supplier_name,
+            T1.current_payment_amount,
+            T1.payment_method,
+            T3.nick_name AS registrant,
+            T1.registrationt_date
+        FROM
+            payment_registration T1
+                LEFT JOIN
+            supplier_manage T2 ON T1.supplier_id = T2.id
+                LEFT JOIN
+            sys_user T3 ON T3.user_id = T1.registrant_id
+        <where>
+            <if test="params.searchText != null and params.searchText != '' ">
+                AND T2.supplier_name LIKE CONCAT('%',#{params.searchText},'%')
+            </if>
+        </where>
+        ORDER BY T1.payment_date,T1.create_time DESC
+    </select>
+
+    <select id="countPaymentTotalByTicketRegId" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
+        SELECT
+            IFNULL(SUM(current_payment_amount),0) AS paymentAmountTotal,
+            ticket_registration_id
+        FROM
+            payment_registration
+        <where>
+            ticket_registration_id IN
+            <foreach collection="ticketRegistrationIds" separator="," open="(" close=")" item="item">
+                #{item}
+            </foreach>
+        </where>
+        GROUP BY ticket_registration_id
+    </select>
+
+    <select id="getPaymentRecordList" resultType="com.ruoyi.purchase.dto.PaymentHistoryRecordVo">
+        SELECT * FROM(
+             SELECT
+                 T1.issue_date AS happenTime,
+                 IFNULL(T1.invoice_amount,0) AS invoiceAmount,
+                 '1' AS type,
+                 0 AS currentPaymentAmount
+             FROM
+                 ticket_registration T1
+                     LEFT JOIN purchase_ledger T2 ON T1.purchase_ledger_id = T2.id
+             WHERE T2.supplier_id = #{supplierId}
+             UNION
+             SELECT
+                 payment_date AS happenTime,
+                 0 AS invoiceAmount,
+                 '0' AS type,
+                 current_payment_amount AS currentPaymentAmount
+             FROM payment_registration
+             WHERE supplier_id = #{supplierId}
+        ) T1
+        ORDER BY T1.happenTime ASC
+
+    </select>
+
+    <select id="paymentHistoryListPage" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
+        SELECT
+        T1.id,
+        T1.payment_date,
+        T2.supplier_name,
+        T1.current_payment_amount,
+        T1.payment_method,
+        T3.nick_name AS registrant,
+        T1.registrationt_date,
+        t4.purchase_contract_number,
+        t5.invoice_amount,
+        t5.invoice_number
+        FROM
+        payment_registration T1
+        LEFT JOIN purchase_ledger t4 ON t4.id = T1.purchase_ledger_id
+        LEFT JOIN supplier_manage T2 ON T1.supplier_id = T2.id
+        LEFT JOIN sys_user T3 ON T3.user_id = T1.registrant_id
+        left join ticket_registration t5 on t5.id = T1.ticket_registration_id
+        <where>
+            <if test="params.searchText != null and params.searchText != '' ">
+                AND T2.supplier_name LIKE CONCAT('%',#{params.searchText},'%')
+            </if>
+            <if test="params.paymentDateStart != null and params.paymentDateStart !='' ">
+                AND T1.payment_date &gt;= date_format(#{params.paymentDateStart},'%Y-%m-%d')
+            </if>
+            <if test="params.paymentDateEnd != null and params.paymentDateEnd !='' ">
+                AND T1.payment_date &lt;= date_format(#{params.paymentDateEnd},'%Y-%m-%d')
+            </if>
+            <if test="params.purchaseContractNumber != null and params.purchaseContractNumber !='' ">
+                AND t4.purchase_contract_number LIKE CONCAT('%',#{params.purchaseContractNumber},'%')
+            </if>
+        </where>
+        ORDER BY T1.payment_date,T1.create_time DESC
+    </select>
+    <select id="supplierNameListPage" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
+        SELECT
+        T1.supplier_id,
+        T1.supplier_name,
+        SUM(contract_amount) AS invoiceAmount,
+        IFNULL( SUM(T2.current_payment_amount) , 0 ) AS paymentAmount,
+        IFNULL((IFNULL(SUM(contract_amount),0)  - IFNULL(SUM(T2.current_payment_amount),0)),0) AS payableAmount
+        FROM purchase_ledger T1
+        LEFT JOIN payment_registration T2 ON T1.id = T2.purchase_ledger_id
+        <where>
+            <if test="req.supplierName != null and req.supplierName != '' ">
+                T1.supplier_name LIKE CONCAT ('%',#{req.supplierName},'%')
+            </if>
+        </where>
+        GROUP BY T1.supplier_name
+    </select>
+
+    <select id="supplierNameListPageDetails" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
+        SELECT
+        T1.supplier_id,
+        T1.supplier_name,
+        SUM(contract_amount) AS invoiceAmount,
+        IFNULL( SUM(T2.current_payment_amount) , 0 ) AS paymentAmount,
+        IFNULL((IFNULL(SUM(contract_amount),0)  - IFNULL(SUM(T2.current_payment_amount),0)),0) AS payableAmount,
+        T1.purchase_contract_number,
+        T2.payment_date
+        FROM purchase_ledger T1
+        INNER JOIN payment_registration T2 ON T1.id = T2.purchase_ledger_id
+        <where>
+            T1.supplier_id = #{req.supplierId}
+            <if test="req.supplierName != null and req.supplierName != '' ">
+                T1.supplier_name LIKE CONCAT ('%',#{req.supplierName},'%')
+            </if>
+        </where>
+        GROUP BY  T1.purchase_contract_number,T2.payment_date
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3