From 7a58bc3ae9cccf4ee69821a3c7e45f98f1b41114 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 12 十月 2026 13:09:04 +0800
Subject: [PATCH] feat(stock): 出库批次下拉增加客户与合同号信息展示
---
src/main/resources/mapper/stock/StockInventoryMapper.xml | 34 ++++++++++++++++++++++++++++++++--
1 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 487000b..54bc56b 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -604,13 +604,25 @@
AND create_time <= #{endDate}) AS combined_counts
</select>
+ <!-- 鍑哄叆搴撹秼鍔匡細浜у搧鍒嗙被蹇呴』閫掑綊鍙栨暣妫靛瓙鏍戙��
+ 浜у搧鏍戞槸銆屽ぇ绫� -> 鍝佺被 -> 鍏蜂綋浜у搧銆嶄笁灞傦紝浜у搧鍨嬪彿锛坧roduct_model锛夋寕鍦ㄥ彾瀛愪骇鍝佷笂锛�
+ 鍙瘮瀵圭洿鎺ュ瓙鑺傜偣锛坧.parent_id = root锛夋案杩滃懡涓笉鍒板瀷鍙凤紝瓒嬪娍鍥炬亽涓虹┖銆�
+ 閫掑綊 CTE 鍐欏湪鎷彿鍐咃紝璁╄鍙ヤ粛浠� SELECT 寮�澶达紝鏁版嵁鏉冮檺鎷︽埅鍣ㄧ収甯稿 stock_in_record 鐢熸晥 -->
<select id="selectDailyStockInCounts" resultType="java.util.Map">
SELECT DATE(sir.create_time) AS date,
SUM(sir.stock_in_num) AS count
FROM stock_in_record sir
JOIN product_model pm ON sir.product_model_id = pm.id
JOIN product p ON pm.product_id = p.id
- WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId})
+ WHERE p.id IN (WITH RECURSIVE product_tree AS (SELECT id
+ FROM product
+ WHERE id = #{rootCategoryId}
+ UNION ALL
+ SELECT p2.id
+ FROM product p2
+ JOIN product_tree pt ON p2.parent_id = pt.id)
+ SELECT id
+ FROM product_tree)
AND sir.create_time >= #{startDate}
AND sir.create_time <= #{endDate}
GROUP BY DATE(sir.create_time)
@@ -623,7 +635,15 @@
FROM stock_out_record sor
JOIN product_model pm ON sor.product_model_id = pm.id
JOIN product p ON pm.product_id = p.id
- WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId})
+ WHERE p.id IN (WITH RECURSIVE product_tree AS (SELECT id
+ FROM product
+ WHERE id = #{rootCategoryId}
+ UNION ALL
+ SELECT p2.id
+ FROM product p2
+ JOIN product_tree pt ON p2.parent_id = pt.id)
+ SELECT id
+ FROM product_tree)
AND sor.create_time >= #{startDate}
AND sor.create_time <= #{endDate}
GROUP BY DATE(sor.create_time)
@@ -716,6 +736,16 @@
order by sir.id desc
limit 1
) as oil_product,
+ <!-- 鎵规鏉ユ簮鐨勫悎鍚岋細鍏ュ簱璁板綍缁戝畾鐨勯攢鍞彴璐︼紙sales_ledger_id锛夊悎鍚屽彿锛涘鎴峰悕绉颁笂鏂� customer_name 宸插甫鍑� -->
+ (
+ select sl.sales_contract_no
+ from stock_in_record sir
+ inner join sales_ledger sl on sl.id = sir.sales_ledger_id
+ where sir.product_model_id = combined.product_model_id
+ and (sir.batch_no = combined.batch_no or (combined.batch_no is null and sir.batch_no is null))
+ order by sir.id desc
+ limit 1
+ ) as sales_contract_no,
(
select sir.tank_inspection_status
from stock_in_record sir
--
Gitblit v1.9.3