Files
jcgl-dev/dev/sql/local_seed/duty_demo_tasks.sql
T

96 lines
4.5 KiB
SQL
Raw Normal View History

2026-11-14 12:59:44 +08:00
-- ============================================================================
-- 值班台(应用端)演示用叫乘任务 —— 本地联调数据,不是迁移脚本
--
-- 用途:在本地库造几条覆盖全部 UI 状态的 gy_jcxx 行,用来打开 /duty/jcxx 看效果。
-- 特征:jcid 一律以 JC-DEMO- 开头,可重放(先按前缀删除再插入),
-- 时刻全部基于 NOW() 推算,保证落在值班台「今日 [00:00, 明日 00:00)」窗口内。
-- 注意:这是唯一写入口之外的手工造数,只允许出现在本地联调库;
-- 生产/测试环境的叫乘数据只能由签到与叫乘链路产生。
-- 库名与 gyid 对齐 dev/.env 的 APT_DB_NAME / APT_GY_ID。
-- ============================================================================
USE apt_rev01;
SET @gyid = 'APT-REV01-001';
DELETE FROM gy_jcxx
WHERE gyid = @gyid AND jcid LIKE 'JC-DEMO-%';
INSERT INTO gy_jcxx
(gyid, jcid, cc, xm, fjh, kcsj, jcsj, ryzt, finish_jc, finish_ly, stoped,
call_mode, biz_version, occurred_at, received_at, deleted,
jcsj_s, hjxysj, jcbjsj_s, fjsj_s, lybjsj, sjlysj,
is_jcbj, is_lybj, is_temp_call, leave_remark)
VALUES
-- 1 待叫乘 + 已过点(应进入「紧急」区,urgent=true)
(@gyid, 'JC-DEMO-001', 'G1234', '张伟', '201',
NOW(3) + INTERVAL 3 HOUR, NOW(3) - INTERVAL 30 MINUTE, '0', '0', '0', '0',
'SIP', 1, NOW(3), NOW(3), 0,
NULL, NULL, NULL, NULL, NULL, NULL,
'0', '0', '0', NULL),
-- 2 待叫乘 + 未到点(普通待办,remainMinutes 为正)
(@gyid, 'JC-DEMO-002', 'D5678', '李强', '202',
NOW(3) + INTERVAL 4 HOUR, NOW(3) + INTERVAL 2 HOUR, '0', '0', '0', '0',
'SIP', 1, NOW(3), NOW(3), 0,
NULL, NULL, NULL, NULL, NULL, NULL,
'0', '0', '0', NULL),
-- 3 呼叫中(ryzt=1,平板链路)
(@gyid, 'JC-DEMO-003', 'K9012', '王芳', '301',
NOW(3) + INTERVAL 3 HOUR, NOW(3) - INTERVAL 3 MINUTE, '1', '0', '0', '0',
'TABLET', 1, NOW(3), NOW(3), 0,
NOW(3) - INTERVAL 3 MINUTE, NULL, NULL, NULL, NULL, NULL,
'0', '0', '0', NULL),
-- 4 叫乘报警(ryzt=2,SIP 30s 无入会;值班台应置红 + 起报警音)
(@gyid, 'JC-DEMO-004', 'Z3456', '赵敏', '302',
NOW(3) + INTERVAL 3 HOUR, NOW(3) - INTERVAL 8 MINUTE, '2', '0', '0', '0',
'SIP', 1, NOW(3), NOW(3), 0,
NOW(3) - INTERVAL 8 MINUTE, NULL, NOW(3) - INTERVAL 3 MINUTE, NULL, NULL, NULL,
'1', '0', '0', NULL),
-- 5 待离寓(ryzt=3,叫乘已完成)
(@gyid, 'JC-DEMO-005', 'G7890', '陈刚', '303',
NOW(3) + INTERVAL 1 HOUR, NOW(3) - INTERVAL 1 HOUR, '3', '1', '0', '0',
'SIP', 1, NOW(3), NOW(3), 0,
NOW(3) - INTERVAL 1 HOUR, NOW(3) - INTERVAL 50 MINUTE, NULL, NULL, NULL, NULL,
'0', '0', '0', NULL),
-- 6 离寓报警(ryzt=4,超时应离寓)
(@gyid, 'JC-DEMO-006', 'D1122', '刘晓', '201',
NOW(3) - INTERVAL 1 HOUR, NOW(3) - INTERVAL 2 HOUR, '4', '1', '0', '0',
'SIP', 1, NOW(3), NOW(3), 0,
NOW(3) - INTERVAL 2 HOUR, NOW(3) - INTERVAL 110 MINUTE, NULL, NULL,
NOW(3) - INTERVAL 5 MINUTE, NULL,
'0', '1', '0', NULL),
-- 7 已停止(stoped=1)
(@gyid, 'JC-DEMO-007', 'G3344', '孙悦', '202',
NOW(3) + INTERVAL 2 HOUR, NOW(3) - INTERVAL 20 MINUTE, '1', '0', '0', '1',
'SIP', 1, NOW(3), NOW(3), 0,
NOW(3) - INTERVAL 20 MINUTE, NULL, NULL, NULL, NULL, NULL,
'0', '0', '0', NULL),
-- 8 已完成并离寓(finish_ly=1,应落在「已完成」筛选)
(@gyid, 'JC-DEMO-008', 'T5566', '周涛', '301',
NOW(3) - INTERVAL 2 HOUR, NOW(3) - INTERVAL 3 HOUR, '3', '1', '1', '0',
'TABLET', 1, NOW(3), NOW(3), 0,
NOW(3) - INTERVAL 3 HOUR, NOW(3) - INTERVAL 170 MINUTE, NULL, NULL, NULL,
NOW(3) - INTERVAL 30 MINUTE,
'0', '0', '0', '演示数据:已完成并登记离寓'),
-- 9 已入寓但未排任务(jcsj 为空,任何时间窗都必须可见)
-- 注意:ck_jcxx_ryzt 只允许 '0'~'5',所以这里不能写空串(DutyStateDeriver 的
-- "ryzt 空 = IN 已入寓" 在库里不可达,见交付说明 L-14)
(@gyid, 'JC-DEMO-009', 'G7788', '吴磊', '302',
NOW(3) + INTERVAL 5 HOUR, NULL, '0', '0', '0', '0',
'SIP', 1, NOW(3), NOW(3), 0,
NULL, NULL, NULL, NULL, NULL, NULL,
'0', '0', '0', NULL);
-- 自检:各 UI 状态各 1 条 + 1 条未排任务
SELECT jcid, fjh, xm, ryzt, finish_jc, finish_ly, stoped, jcsj, call_mode
FROM gy_jcxx
WHERE gyid = @gyid AND jcid LIKE 'JC-DEMO-%'
ORDER BY jcid;