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 |   71 ++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 22 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index fee9cdc..aead45c 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -18,6 +18,7 @@
         pwo.status as workOrderStatus,
         u.nick_name as nickName,
         p.product_name as productName,
+        pp.name as process,
         pm.model as productModelName,
         ppo.quantity,
         ppo.scrap_qty,
@@ -26,6 +27,8 @@
         from
         production_product_main ppm
         left join product_work_order pwo on pwo.id = ppm.work_order_id
+        left join product_process_route_item ppri on ppri.id = pwo.product_process_route_item_id
+        left join product_process pp on pp.id = ppri.process_id
         left join product_order po on po.id = pwo.product_order_id
         left join production_product_output ppo on ppm.id = ppo.product_main_id
         left join product_model pm on pm.id = ppo.product_model_id
@@ -118,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