From a791df8ce65bc126f0c98330b1a5834e0826e20d Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期一, 31 八月 2026 22:01:00 +0800
Subject: [PATCH] 修正停止测试完成状态

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestServiceImpl.java      |    2 +-
 ruoyi-admin/src/test/java/com/ruoyi/config/BatterySelectionMapperContractTest.java  |    2 +-
 ruoyi-admin/src/test/java/com/ruoyi/config/TestDeviceBindingMapperContractTest.java |    4 +++-
 ruoyi-system/src/main/resources/mapper/system/TBatteryGroupMapper.xml               |    2 +-
 ruoyi-system/src/main/resources/mapper/system/TTestMapper.xml                       |    6 +++---
 5 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/ruoyi-admin/src/test/java/com/ruoyi/config/BatterySelectionMapperContractTest.java b/ruoyi-admin/src/test/java/com/ruoyi/config/BatterySelectionMapperContractTest.java
index 455bad7..60788e5 100644
--- a/ruoyi-admin/src/test/java/com/ruoyi/config/BatterySelectionMapperContractTest.java
+++ b/ruoyi-admin/src/test/java/com/ruoyi/config/BatterySelectionMapperContractTest.java
@@ -20,7 +20,7 @@
         assertTrue(testMapper.contains("from t_battery_group_battery battery"));
         assertTrue(testMapper.contains("battery_group.status = '0'"));
         assertTrue(testMapper.contains("battery.battery_no batteryNo"));
-        assertTrue(groupMapper.contains("t.test_status not in ('COMPLETED', 'TERMINATED')"));
+        assertTrue(groupMapper.contains("t.test_status not in ('COMPLETED', 'COMPLETION_PENDING', 'TERMINATED')"));
     }
 
     private static String resource(String path)
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/config/TestDeviceBindingMapperContractTest.java b/ruoyi-admin/src/test/java/com/ruoyi/config/TestDeviceBindingMapperContractTest.java
index aec7edb..ef35d3b 100644
--- a/ruoyi-admin/src/test/java/com/ruoyi/config/TestDeviceBindingMapperContractTest.java
+++ b/ruoyi-admin/src/test/java/com/ruoyi/config/TestDeviceBindingMapperContractTest.java
@@ -30,7 +30,9 @@
         assertTrue(mapper.contains("then 'RUNNING_ABNORMAL'"));
         assertTrue(mapper.contains("exception_fact.interval_status = 'OPEN'"));
         assertTrue(mapper.contains("set test_status = 'COMPLETED'"));
-        assertTrue(mapper.contains("#{testStatus} = 'COMPLETED' and t.test_status in ('COMPLETED', 'TERMINATED')"));
+        assertTrue(mapper.contains("set test_status = 'COMPLETED', reception_status = 'ENDED'"));
+        assertTrue(mapper.contains("backfill_status = 'COMPLETED'"));
+        assertTrue(mapper.contains("#{testStatus} = 'COMPLETED' and t.test_status in ('COMPLETED', 'COMPLETION_PENDING', 'TERMINATED')"));
         assertFalse(mapper.contains("group_concat"));
     }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestServiceImpl.java
index 3bfb6fd..046b8c3 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestServiceImpl.java
@@ -289,7 +289,7 @@
         testMapper.deleteChannelLeasesByTestId(testId);
         testMapper.deleteCollectorChannelLeasesByTestId(testId);
         testMapper.insertTestAudit(testId, "TEST_STOPPED", operatorId, updateBy, null,
-                JSON.toJSONString(Map.of("testStatus", "COMPLETION_PENDING", "receptionStatus", "ENDED",
+                JSON.toJSONString(Map.of("testStatus", "COMPLETED", "receptionStatus", "ENDED",
                         "polling", "STOPPED", "closedIntervals", closedIntervals, "release", "IMMEDIATE")));
         return 1;
     }
diff --git a/ruoyi-system/src/main/resources/mapper/system/TBatteryGroupMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TBatteryGroupMapper.xml
index a4b05d2..909a59d 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TBatteryGroupMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TBatteryGroupMapper.xml
@@ -68,5 +68,5 @@
     <update id="deleteRelationFields">update t_battery_group_relation_field set del_flag=cast(relation_id as char) where group_id=#{groupId} and del_flag='0'</update>
     <insert id="batchInsertBatteries">insert into t_battery_group_battery (group_id,battery_no,sort_order,del_flag) values <foreach collection="items" item="item" separator=",">(#{item.groupId},#{item.batteryNo},#{item.sortOrder},#{item.delFlag})</foreach></insert>
     <insert id="batchInsertRelationFields">insert into t_battery_group_relation_field (group_id,template_id,battery_group_field_id,field_value,del_flag) values <foreach collection="items" item="item" separator=",">(#{item.groupId},#{item.templateId},#{item.batteryGroupFieldId},#{item.fieldValue},#{item.delFlag})</foreach></insert>
-    <select id="countTestingByGroupId" resultType="int">select count(1) from t_test_battery b inner join t_test t on t.test_id = b.test_id and t.del_flag = 0 where b.group_id=#{groupId} and b.del_flag=0 and t.test_status not in ('COMPLETED', 'TERMINATED')</select>
+    <select id="countTestingByGroupId" resultType="int">select count(1) from t_test_battery b inner join t_test t on t.test_id = b.test_id and t.del_flag = 0 where b.group_id=#{groupId} and b.del_flag=0 and t.test_status not in ('COMPLETED', 'COMPLETION_PENDING', 'TERMINATED')</select>
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TTestMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTestMapper.xml
index 8fc2dce..8c4a6a1 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TTestMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TTestMapper.xml
@@ -182,7 +182,7 @@
                     or (#{testStatus} = 'RUNNING' and t.test_status = 'RUNNING'
                         and not exists (select 1 from t_test_collector_exception_interval exception_fact
                                         where exception_fact.test_id = t.test_id and exception_fact.interval_status = 'OPEN'))
-                    or (#{testStatus} = 'COMPLETED' and t.test_status in ('COMPLETED', 'TERMINATED'))
+                    or (#{testStatus} = 'COMPLETED' and t.test_status in ('COMPLETED', 'COMPLETION_PENDING', 'TERMINATED'))
                     or (#{testStatus} not in ('RUNNING', 'RUNNING_ABNORMAL', 'COMPLETED') and t.test_status = #{testStatus})
                 )
             </if>
@@ -725,8 +725,8 @@
     </update>
     <update id="updateReceptionStopped">
         update t_test
-        set test_status = 'COMPLETION_PENDING', reception_status = 'ENDED', ended_at_utc = #{endedAtUtc},
-            backfill_status = 'NOT_STARTED',
+        set test_status = 'COMPLETED', reception_status = 'ENDED', ended_at_utc = #{endedAtUtc},
+            backfill_status = 'COMPLETED',
             update_by = #{updateBy}, update_time = #{endedAtUtc}
         where test_id = #{testId} and reception_status in ('RECEIVING', 'PAUSED') and del_flag = 0
     </update>

--
Gitblit v1.7.1