From 6dc3d15ca7e4679e40bdb83525d6dc87d0784c67 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 03 二月 2026 09:31:49 +0800
Subject: [PATCH] feat(production): 添加工序质检控制功能

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

diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index 4ccdfca..4837e64 100644
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -23,9 +23,21 @@
         pb.bom_no,
         ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus,
         DATEDIFF(sl.delivery_date, CURDATE()) AS delivery_days_diff,
-        sl.delivery_date
+        sl.delivery_date,
+        CASE
+        WHEN shipping_status_counts.total_count = 0 THEN false
+        WHEN shipping_status_counts.unshipped_count = 0 THEN true
+        ELSE false
+        END AS is_fh
         from product_order po
         left join sales_ledger sl on po.sales_ledger_id = sl.id
+        LEFT JOIN (
+        SELECT sales_ledger_id,
+        COUNT(*) as total_count,
+        SUM(CASE WHEN status != '宸插彂璐�' THEN 1 ELSE 0 END) as unshipped_count
+        FROM shipping_info
+        GROUP BY sales_ledger_id
+        ) shipping_status_counts ON sl.id = shipping_status_counts.sales_ledger_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
@@ -91,4 +103,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