更新叫乘过程中状态。
IT-0 verify / verify (push) Waiting to run

This commit is contained in:
zfjia committed 2026-11-14 13:01:46 +08:00
1 parent f583bb5932
commit d9a4383cd1
2 files changed
+121 -1

No files matched your search

+63
View File
@@ -0,0 +1,63 @@
-- =============================================================================
-- IT-7 叫乘记录三时间字段(可重放)
-- 依据:叫乘任务要求「每条记录包含 叫乘时间 / 复叫时间 / 应离寓时间」,
-- 到点分别触发:首轮呼叫、自动复叫、离寓报警。
-- 口径:
-- 1) jcsj 已存在(叫乘时间,权威);本次只补 fjsj(复叫时间,计划)与
-- ylysj(应离寓时间);
-- 2) fjsj 与既有 fjsj_s 分工:fjsj=计划复叫时间(到点判定),
-- fjsj_s=实际复叫时刻(执行留痕,防重复触发);
-- 3) ryzt / finish_jc / finish_ly / stoped 仍只有 apt.duty.state 一个写入口,
-- 本脚本不写任何业务数据;
-- 4) 幂等:补列走 apt_add_column_if_missing,索引先查 information_schema。
-- =============================================================================
SET NAMES utf8mb4;
-- -----------------------------------------------------------------------------
-- 1. gy_jcxx 三时间字段补齐
-- -----------------------------------------------------------------------------
CALL apt_add_column_if_missing('gy_jcxx', 'fjsj',
"fjsj DATETIME(3) NULL COMMENT '复叫时间(计划;到点自动复叫)'");
CALL apt_add_column_if_missing('gy_jcxx', 'ylysj',
"ylysj DATETIME(3) NULL COMMENT '应离寓时间(到点未离寓转离寓报警)'");
-- -----------------------------------------------------------------------------
-- 2. 到点扫描索引(复叫到点 + 应离寓超时)
-- -----------------------------------------------------------------------------
SET @apt_idx_fjsj = (SELECT COUNT(*) FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'gy_jcxx'
AND INDEX_NAME = 'idx_jcxx_fjsj');
SET @apt_sql_fjsj = IF(@apt_idx_fjsj = 0,
'ALTER TABLE gy_jcxx ADD KEY idx_jcxx_fjsj (gyid, fjsj)',
'SELECT 1');
PREPARE apt_stmt_fjsj FROM @apt_sql_fjsj;
EXECUTE apt_stmt_fjsj;
DEALLOCATE PREPARE apt_stmt_fjsj;
SET @apt_idx_ylysj = (SELECT COUNT(*) FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'gy_jcxx'
AND INDEX_NAME = 'idx_jcxx_ylysj');
SET @apt_sql_ylysj = IF(@apt_idx_ylysj = 0,
'ALTER TABLE gy_jcxx ADD KEY idx_jcxx_ylysj (gyid, ylysj)',
'SELECT 1');
PREPARE apt_stmt_ylysj FROM @apt_sql_ylysj;
EXECUTE apt_stmt_ylysj;
DEALLOCATE PREPARE apt_stmt_ylysj;
-- -----------------------------------------------------------------------------
-- 3. 校验
-- -----------------------------------------------------------------------------
SELECT '=== IT-7 gy_jcxx 三时间字段(应 3:jcsj / fjsj / ylysj)===' AS section;
SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'gy_jcxx'
AND COLUMN_NAME IN ('jcsj','fjsj','ylysj')
ORDER BY COLUMN_NAME;
SELECT '=== IT-7 到点扫描索引(应 2)===' AS section;
SELECT TABLE_NAME, INDEX_NAME, GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) AS cols
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = DATABASE()
AND INDEX_NAME IN ('idx_jcxx_fjsj','idx_jcxx_ylysj')
GROUP BY TABLE_NAME, INDEX_NAME;