From b504b19b0881a7c1bd9e280ba41e993956b7f94e Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 30 一月 2026 16:41:56 +0800
Subject: [PATCH] feat: 进销存生产分析大屏

---
 src/main/resources/mapper/production/ProductOrderMapper.xml |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index b47d5cf..4d11daf 100644
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -21,10 +21,11 @@
         slp.specification_model,
         ppr.process_route_code,
         pb.bom_no,
-        ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus
+        ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus,
+        DATEDIFF(sl.delivery_date, CURDATE()) AS delivery_days_diff
         from product_order po
         left join sales_ledger sl on po.sales_ledger_id = sl.id
-        left join sales_ledger_product slp on po.product_model_id = slp.id
+        left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id
         left join product_process_route ppr on po.id = ppr.product_order_id
         left join product_bom pb on pb.id = ppr.bom_id
         <where>
@@ -42,6 +43,9 @@
             </if>
             <if test="c.specificationModel != null and c.specificationModel != ''">
                 and slp.specification_model like concat('%',#{c.specificationModel},'%')
+            </if>
+            <if test="c.startTime != null and c.endTime != null">
+                and po.create_time between #{c.startTime} and #{c.endTime}
             </if>
         </where>
     </select>
@@ -86,4 +90,20 @@
     </select>
 
 
+    <select id="countCreated" resultType="java.lang.Integer">
+        SELECT count(1) FROM product_order
+        WHERE create_time &gt;= #{startDate} AND create_time &lt;= #{endDate}
+    </select>
+
+    <select id="countCompleted" resultType="java.lang.Integer">
+        SELECT count(1) FROM product_order
+        WHERE end_time &gt;= #{startDate} AND end_time &lt;= #{endDate}
+          AND complete_quantity &gt;= quantity
+    </select>
+
+    <select id="countPending" resultType="java.lang.Integer">
+        SELECT count(1) FROM product_order
+        WHERE create_time &gt;= #{startDate} AND create_time &lt;= #{endDate}
+          AND complete_quantity &lt; quantity
+    </select>
 </mapper>

--
Gitblit v1.9.3