From 44ceeeee9cd3f76b0f3a2135421407b73dea9bb0 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 28 八月 2026 11:41:58 +0800
Subject: [PATCH] fix(sales): 修复销售台账发货状态查询逻辑

---
 src/main/resources/mapper/sales/SalesLedgerMapper.xml |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index 712fd9b..f1c3f7b 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -56,6 +56,8 @@
         T1.attachment_materials,
         T1.tenant_id,
         T1.contract_amount,
+        T1.contract_type,
+        T1.net_contract_amount,
         T1.contract_amount AS noInvoiceAmountTotal,
         T1.execution_date,
         T2.nick_name AS entry_person_name,
@@ -137,7 +139,37 @@
                 and c.customer_name like concat('%',#{customerName},'%')
             </if>
         </where>
-        order by sl.create_time desc
+        order by sl.entry_date desc
+    </select>
+
+    <select id="listFrameworkOrders" resultType="com.ruoyi.sales.vo.FrameworkOrderVo">
+        select sl.*, IFNULL(shipped.shipped_quantity, 0) AS shippedQuantity
+        from sales_ledger sl
+        left join (
+            select slp.sales_ledger_id, SUM(spd.quantity) AS shipped_quantity
+            from sales_ledger_product slp
+            inner join shipping_info si on slp.id = si.sales_ledger_product_id and si.status IN ('瀹℃牳閫氳繃', '宸插彂璐�')
+            inner join shipping_product_detail spd on si.id = spd.shipping_info_id
+            inner join stock_out_record sor on sor.record_id = si.id
+                and TRIM(sor.record_type) = '13'
+                and sor.approval_status = 1
+            group by slp.sales_ledger_id
+        ) shipped on sl.id = shipped.sales_ledger_id
+        where sl.parent_contract_id = #{parentContractId}
+          and sl.contract_type = 3
+        order by sl.execution_date desc
+    </select>
+
+    <select id="sumShippedByParentContract" resultType="java.math.BigDecimal">
+        select IFNULL(SUM(spd.quantity), 0)
+        from sales_ledger slo
+        inner join sales_ledger_product slp on slo.id = slp.sales_ledger_id
+        inner join shipping_info si on slp.id = si.sales_ledger_product_id and si.status IN ('瀹℃牳閫氳繃', '宸插彂璐�')
+        inner join shipping_product_detail spd on si.id = spd.shipping_info_id
+        inner join stock_out_record sor on sor.record_id = si.id
+            and TRIM(sor.record_type) = '13'
+            and sor.approval_status = 1
+        where slo.parent_contract_id = #{parentContractId}
     </select>
 
 </mapper>

--
Gitblit v1.9.3