From 11bc2a4737a526b803959dfdd7c522b056425fe2 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 09 三月 2026 09:54:13 +0800
Subject: [PATCH] fix: 日期判空操作,默认赋值当天日期

---
 src/main/resources/mapper/production/ProductionProductMainMapper.xml |   68 +++++++++++++++++++++++-----------
 1 files changed, 46 insertions(+), 22 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 37e7b27..aead45c 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -121,27 +121,51 @@
 
     <select id="queryProductInputAndOutput" resultType="Hashmap">
         select *
-        from (select p.product_name      as productName,
-                     pm.model            as model,
-                     pm.unit             as unit,
-                     temp.inputQuantity  as inputQuantity,
-                     temp.outputQuantity as outputQuantity
-              from (select product_model_id,
-                           coalesce(sum(inputQuantity), 0)  as inputQuantity,
-                           coalesce(sum(outputQuantity), 0) as outputQuantity
-                    from ((select product_model_id, coalesce(sum(quantity), 0) as inputQuantity, 0 as outputQuantity
-                           from production_product_input
-                           where create_time &gt;= #{ew.startTime}
-                             and create_time &lt; #{ew.endTime}
-                           group by product_model_id)
-                          union all
-                          (select product_model_id, 0 as inputQuantity, coalesce(sum(quantity), 0) as outputQuantity
-                           from production_product_output
-                           where create_time &gt;= #{ew.startTime}
-                             and create_time &lt; #{ew.endTime}
-                           group by product_model_id)) t
-                    group by product_model_id) temp
-                       left join product_model pm on temp.product_model_id = pm.id
-                       left join product p on pm.product_id = p.id) tmp
+        from (
+        select p.product_name as productName,
+        pm.model as model,
+        pm.unit as unit,
+        temp.inputQuantity as inputQuantity,
+        temp.outputQuantity as outputQuantity
+        from (
+        select product_model_id,
+        coalesce(sum(inputQuantity),0) as inputQuantity,
+        coalesce(sum(outputQuantity),0) as outputQuantity
+        from (
+        (select product_model_id,
+        coalesce(sum(quantity),0) as inputQuantity,
+        0 as outputQuantity
+        from production_product_input
+        <where>
+            <if test="ew.startTime != null and ew.startTime != ''">
+                and create_time &gt;= #{ew.startTime}
+            </if>
+            <if test="ew.endTime != null and ew.endTime != ''">
+                and create_time &lt; #{ew.endTime}
+            </if>
+        </where>
+        group by product_model_id)
+
+        union all
+
+        (select product_model_id,
+        0 as inputQuantity,
+        coalesce(sum(quantity),0) as outputQuantity
+        from production_product_output
+        <where>
+            <if test="ew.startTime != null and ew.startTime != ''">
+                and create_time &gt;= #{ew.startTime}
+            </if>
+            <if test="ew.endTime != null and ew.endTime != ''">
+                and create_time &lt; #{ew.endTime}
+            </if>
+        </where>
+        group by product_model_id)
+        ) t
+        group by product_model_id
+        ) temp
+        left join product_model pm on temp.product_model_id = pm.id
+        left join product p on pm.product_id = p.id
+        ) tmp
     </select>
 </mapper>

--
Gitblit v1.9.3