修正停止测试完成状态
人工停止直接写入检测完成并结束接收,历史兼容状态统一纳入完成筛选。
同步修正电池组占用统计及相关 Mapper 契约测试。
| | |
| | | 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) |
| | |
| | | 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")); |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | |
| | | <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> |
| | |
| | | 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> |
| | |
| | | </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> |