From 7bf754a7835d06f26240c4ca15bc5f83650de377 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 21 九月 2026 20:52:25 +0800
Subject: [PATCH] docs(api): 更新信托基金与代储台账及油品出库相关接口文档

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

diff --git a/src/main/resources/mapper/sales/ShippingInfoMapper.xml b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
index 02815fc..4b0d419 100644
--- a/src/main/resources/mapper/sales/ShippingInfoMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -31,15 +31,15 @@
         spd.totalQuantity,
         sor.outboundBatches,
         'shipping' as source,
-        NULL as stockOutRecordId,
-        NULL as outCategory,
-        NULL as tankNo,
-        NULL as oilProduct,
-        NULL as oilDepotName,
-        NULL as driverName,
-        NULL as contactPerson,
-        NULL as contactPhone,
-        NULL as outBatchNo
+        oor.id as stockOutRecordId,
+        oor.out_category as outCategory,
+        oor.tank_no as tankNo,
+        oor.oil_product as oilProduct,
+        oor.oil_depot_name as oilDepotName,
+        oor.driver_name as driverName,
+        oor.contact_person as contactPerson,
+        oor.contact_phone as contactPhone,
+        oor.batch_no as outBatchNo
         FROM shipping_info s
         LEFT JOIN (select shipping_info_id,sum(quantity) totalQuantity from shipping_product_detail GROUP BY shipping_info_id) spd ON spd.shipping_info_id = s.id
         LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
@@ -50,6 +50,12 @@
                    from stock_out_record
                    where record_type='13'and approval_status=1
                    group by record_id)sor on sor.record_id= s.id
+        <!-- 鐢辨补鍝佸嚭搴撳鎵归�氳繃鏃剁敓鎴愮殑鍙戣揣鍗曪細涓�鏉″嚭搴撳搴斾竴鏉¤嚜宸辩殑 shipping_info锛�
+             鏁呰嚦澶氬懡涓竴琛岋紝涓嶄細鏀惧ぇ琛屾暟銆傛墜寤虹殑鍙戣揣鍗曟病鏈夐厤瀵规补鍝佸嚭搴擄紝杩欎簺鍒椾负绌� -->
+        left join stock_out_record oor
+            on oor.record_id = s.id
+           and TRIM(IFNULL(oor.record_type,'')) = '13'
+           and (oor.type IS NULL or oor.type = '')
         WHERE 1=1
         <if test="req.salesContractNo != null and req.salesContractNo != ''">
             AND sl.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%')
@@ -79,7 +85,13 @@
         o.create_user,
         o.update_user,
         NULL as tenant_id,
-        sl2.sales_contract_no,
+        <!-- 娌瑰搧鍑哄簱鍙粦澶氫釜閿�鍞彴璐︼紙澶氬鎴凤級锛宱.sales_ledger_id 鍙瓨棣栭」锛屾晠浠庣粦瀹氳〃姹囨�诲叏閮ㄥ悎鍚屽彿 -->
+        IFNULL(
+            (select group_concat(distinct slb.sales_contract_no separator ',')
+             from stock_out_record_sales_ledger b
+                      join sales_ledger slb on slb.id = b.sales_ledger_id
+             where b.stock_out_record_id = o.id),
+            sl2.sales_contract_no) as sales_contract_no,
         pm2.model as specification_model,
         pm2.unit,
         p2.product_name,
@@ -101,9 +113,19 @@
         left join product p2 on p2.id = pm2.product_id
         <!-- 缁戝畾浜嗛攢鍞彴璐︾殑娌瑰搧鍑哄簱甯﹀嚭鍚堝悓鍙凤紱娌$粦鐨勮璇ュ垪浠嶄负绌� -->
         left join sales_ledger sl2 on sl2.id = o.sales_ledger_id
-        WHERE o.out_category = '閿�鍞�' AND o.approval_status = 1
+        <!-- 鍙彇娌瑰搧鍑哄簱锛坱ype 涓虹┖锛屽叏閮ㄥ嚭搴撶被鍒級锛泃ype=0/1 鐨勫悎鏍笺�佷笉鍚堟牸鍑哄簱涓嶈繘鍙戣揣鍙拌处 -->
+        WHERE (o.type IS NULL OR o.type = '') AND o.approval_status = 1
+        <!-- 宸叉敼閫犳垚銆岄攢鍞�-鍙戣揣鍑哄簱銆嶇殑娌瑰搧琛岀敱鍒嗘敮 A 鐨� shipping_info 灞曠ず锛屾澶勬帓闄ら伩鍏嶅悓涓�鎵硅揣涓よ銆�
+             IFNULL 蹇呴』鍔狅細record_type 涓� NULL 鏃朵笁鍊奸�昏緫浼氭妸鏁磋婊ゆ帀 -->
+        AND NOT (TRIM(IFNULL(o.record_type,'')) = '13' AND IFNULL(o.record_id,0) > 0)
         <if test="req.salesContractNo != null and req.salesContractNo != ''">
-            AND sl2.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%')
+            <!-- 澶氬彴璐﹀嚭搴撹鎸夈�屼换涓�缁戝畾鍙拌处鐨勫悎鍚屽彿銆嶉兘鑳界瓫鍒帮紝涓嶈兘鍙湅棣栭」 -->
+            AND (sl2.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%')
+                 OR EXISTS (select 1
+                            from stock_out_record_sales_ledger b
+                                     join sales_ledger slb on slb.id = b.sales_ledger_id
+                            where b.stock_out_record_id = o.id
+                              and slb.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%')))
         </if>
         <!-- 娌瑰搧鍑哄簱娌℃湁蹇�掑崟锛屾寜蹇�掑崟鍙风瓫閫夋椂涓嶅簲杩斿洖浠讳綍娌瑰搧琛� -->
         <if test="req.expressNumber != null and req.expressNumber != ''">

--
Gitblit v1.9.3