Files
zfjia 35751b4f00
IT-0 verify / verify (push) Waiting to run
1111
2026-11-11 18:30:31 +08:00

57 lines
3.3 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================================
-- IT-3 / DV-3 Mock 设备灌数(可重放):1 签到终端 + 1 平板 + 1 停用签到终端。
-- 依据:公寓端/10 表 10-2(gy_sb §12 补列)、表 10-15 / 10-16(设备类别→可见范围矩阵)、
-- 表 10-26 N-34(申请设备须在公寓设备档案登记)、13 表 13-13。
-- 口径:
-- 1) 只登记设备档案,不伪造心跳与缓存台账(gy_sb_xt 由设备真实心跳写入,IT-7 才读)。
-- 2) 签到终端 CHECKIN / ALL_ACTIVE / 允许缓存;平板 TABLET / NONE / 不缓存(表 10-16)。
-- 3) 停用设备 DEV-CHECKIN-99 用于验证 40303:countDeviceByCode 只认 state <> 'DISABLED',
-- 停用设备不得作为 N-34 申请设备。
-- 4) device_code 入库大写,与 AptDeviceSigner 的规范化口径一致;重复执行不产生重复设备。
-- 执行前可用以下方式覆盖公寓标识(需与环境变量 APT_GY_ID 保持一致):
-- mysql ... -e "SET @apt_gyid='YOUR_GYID'; SOURCE 15_it3_seed.sql"
-- =============================================================================
SET @apt_gyid := COALESCE(NULLIF(@apt_gyid, ''), 'APT-REV01-001');
-- 1. 设备档案(§12 补列随 14_it3_columns.sql 一并落地)
INSERT INTO gy_sb
(gyid, device_code, device_type, device_class, room_id, state,
face_scope_type, face_scope_ref, face_scope_value, face_cache_enabled,
biz_version, deleted)
VALUES
(@apt_gyid, 'DEV-CHECKIN-01', 'FACE', 'CHECKIN', NULL, 'ACTIVE',
'ALL_ACTIVE', 'scope://face/all-active', 'ALL', 1, 1, 0),
(@apt_gyid, 'DEV-TABLET-01', 'TABLET', 'TABLET', 'ROOM-201', 'ACTIVE',
'NONE', NULL, NULL, 0, 1, 0),
(@apt_gyid, 'DEV-CHECKIN-99', 'FACE', 'CHECKIN', NULL, 'DISABLED',
'ALL_ACTIVE', 'scope://face/all-active', 'ALL', 1, 1, 0)
ON DUPLICATE KEY UPDATE device_type = VALUES(device_type), device_class = VALUES(device_class),
room_id = VALUES(room_id), state = VALUES(state),
face_scope_type = VALUES(face_scope_type), face_scope_ref = VALUES(face_scope_ref),
face_scope_value = VALUES(face_scope_value),
face_cache_enabled = VALUES(face_cache_enabled), deleted = VALUES(deleted);
-- 2. 校验
SELECT '=== IT-3 Mock 设备(应 3 行:2 CHECKIN + 1 TABLET)===' AS section;
SELECT device_code, device_type, device_class, state,
face_scope_type, face_scope_value, face_cache_enabled
FROM gy_sb
WHERE gyid = @apt_gyid
AND device_code IN ('DEV-CHECKIN-01', 'DEV-TABLET-01', 'DEV-CHECKIN-99')
ORDER BY device_code;
SELECT '=== N-34 可申请设备(state <> DISABLED,应 2)===' AS section;
SELECT COUNT(*) AS apply_device_count
FROM gy_sb
WHERE gyid = @apt_gyid
AND device_code IN ('DEV-CHECKIN-01', 'DEV-TABLET-01', 'DEV-CHECKIN-99')
AND state <> 'DISABLED';
SELECT '=== 表 10-16 矩阵一致性(CHECKIN 须 ALL_ACTIVE 且可缓存;TABLET 不得缓存,应 0 行违规)===' AS section;
SELECT device_code, device_class, face_scope_type, face_cache_enabled
FROM gy_sb
WHERE gyid = @apt_gyid AND deleted = 0
AND ( (device_class = 'CHECKIN' AND (face_scope_type <> 'ALL_ACTIVE' OR face_cache_enabled <> 1))
OR (device_class = 'TABLET' AND face_cache_enabled <> 0))
ORDER BY device_code;