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 |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 1cfc0d8..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
@@ -71,7 +74,7 @@
         slpa.work_hours * slpa.finished_num AS wages
         FROM
         production_product_main ppm
-        LEFT JOIN sales_ledger_production_accounting slpa ON slpa.sales_ledger_work_id = ppm.id
+        LEFT JOIN sales_ledger_production_accounting slpa ON slpa.product_main_id = ppm.id
         LEFT JOIN production_product_output ppo ON ppm.id = ppo.product_main_id
         LEFT JOIN product_work_order pwo ON pwo.id = ppm.work_order_id
         LEFT JOIN product_order po ON po.id = pwo.product_order_id
@@ -93,6 +96,20 @@
             </if>
         </where>
     </select>
+    <select id="listMain" resultType="java.lang.Long">
+        SELECT ppm.id FROM production_product_main ppm
+            left join product_work_order pwo on pwo.id = ppm.work_order_id
+                  left join product_order po on po.id = pwo.product_order_id
+                  left join sales_ledger sl on sl.id = po.sales_ledger_id
+        <where>
+            <if test="idList != null and idList.size() > 0">
+                and sl.id in
+                <foreach item="id" collection="idList" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+            </if>
+        </where>
+    </select>
 
     <delete id="deleteByWorkOrderIds" parameterType="java.util.List">
         DELETE FROM production_product_main
@@ -101,4 +118,54 @@
             #{id}
         </foreach>
     </delete>
+
+    <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>
+            <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