From c2ad2126d6f8423e0a5e6e20bbb91ef6bb1cffc0 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 25 五月 2026 13:26:27 +0800
Subject: [PATCH] fix(approve): 修复审批流程为空时的异常处理

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

diff --git a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
index e132174..2c47577 100644
--- a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
@@ -21,7 +21,15 @@
     <select id="pageProductWorkOrder" resultType="com.ruoyi.production.dto.ProductWorkOrderDto">
         SELECT
         pwo.*,
-        pp.NAME as processName,
+        CASE pp.type
+            WHEN 1 THEN '鍔犲伐'
+            WHEN 2 THEN '鍒澘鍐疯姱鍒朵綔'
+            WHEN 3 THEN '绠¤矾缁勫'
+            WHEN 4 THEN '缃愪綋杩炴帴鍙婅皟璇�'
+            WHEN 5 THEN '娴嬭瘯鎵撳帇'
+            WHEN 6 THEN '鍏朵粬'
+            ELSE pp.NAME
+        END as processName,
         pm.model,
         pm.unit,
         p.product_name AS productName,
@@ -62,7 +70,15 @@
     <select id="getProductWorkOrderFlowCard" resultType="com.ruoyi.production.dto.ProductWorkOrderDto">
         SELECT
         pwo.*,
-        pp.NAME as processName,
+        CASE pp.type
+            WHEN 1 THEN '鍔犲伐'
+            WHEN 2 THEN '鍒澘鍐疯姱鍒朵綔'
+            WHEN 3 THEN '绠¤矾缁勫'
+            WHEN 4 THEN '缃愪綋杩炴帴鍙婅皟璇�'
+            WHEN 5 THEN '娴嬭瘯鎵撳帇'
+            WHEN 6 THEN '鍏朵粬'
+            ELSE pp.NAME
+        END as processName,
         pm.model,
         pm.unit,
         p.product_name AS productName,
@@ -105,4 +121,14 @@
         limit 1
         ;
     </select>
+
+    <update id="addCompleteQtyIfNotExceed">
+        update product_work_order
+        set
+            complete_quantity = complete_quantity + #{delta},
+            actual_start_time = ifnull(actual_start_time, now()),
+            actual_end_time = case when (complete_quantity + #{delta}) = plan_quantity then now() else actual_end_time end
+        where id = #{id}
+          and (complete_quantity + #{delta}) <![CDATA[ <= ]]> plan_quantity
+    </update>
 </mapper>

--
Gitblit v1.9.3