门诊划价->新增按钮报错BUG,叫号语音设置页面开发。
This commit is contained in:
50
迁移记录-DB变更记录/202512241430add_table_call_number_voice.sql
Normal file
50
迁移记录-DB变更记录/202512241430add_table_call_number_voice.sql
Normal file
@@ -0,0 +1,50 @@
|
||||
CREATE TABLE call_number_voice (
|
||||
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
||||
play_count INT NOT NULL CHECK (play_count BETWEEN 1 AND 5),
|
||||
call_prefix VARCHAR(20),
|
||||
call_suffix VARCHAR(50),
|
||||
speed VARCHAR(10) NOT NULL CHECK (speed IN ('较慢', '正常', '较快')),
|
||||
volume INT NOT NULL CHECK (volume BETWEEN 0 AND 100),
|
||||
interval_seconds INT NOT NULL,
|
||||
cycle_broadcast BOOLEAN NOT NULL DEFAULT false,
|
||||
create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
-- 核心约束:循环播放与间隔的逻辑关联
|
||||
CONSTRAINT chk_cycle_interval
|
||||
CHECK (
|
||||
(cycle_broadcast = false AND interval_seconds = 0)
|
||||
OR
|
||||
(cycle_broadcast = true AND interval_seconds > 0)
|
||||
)
|
||||
);
|
||||
|
||||
-- 1. 添加表注释(PostgreSQL 语法)
|
||||
COMMENT ON TABLE call_number_voice IS '叫号语音配置表';
|
||||
|
||||
-- 2. 逐个添加字段注释(PostgreSQL 语法)
|
||||
COMMENT ON COLUMN call_number_voice.id IS '主键ID,自增';
|
||||
COMMENT ON COLUMN call_number_voice.play_count IS '播放次数(1-5次)';
|
||||
COMMENT ON COLUMN call_number_voice.call_prefix IS '叫号前缀(如“请”)';
|
||||
COMMENT ON COLUMN call_number_voice.call_suffix IS '叫号后缀(如“到1号窗口就诊”)';
|
||||
COMMENT ON COLUMN call_number_voice.speed IS '语速(较慢/正常/较快)';
|
||||
COMMENT ON COLUMN call_number_voice.volume IS '音量(0-100%)';
|
||||
COMMENT ON COLUMN call_number_voice.interval_seconds IS '播报间隔(秒)';
|
||||
COMMENT ON COLUMN call_number_voice.cycle_broadcast IS '是否循环播报(默认关闭)';
|
||||
COMMENT ON COLUMN call_number_voice.create_time IS '创建时间(自动填充当前时间)';
|
||||
COMMENT ON COLUMN call_number_voice.update_time IS '更新时间(自动更新)';
|
||||
|
||||
-- 实现update_time自动更新(PostgreSQL需通过触发器)
|
||||
CREATE OR REPLACE FUNCTION update_call_number_voice_time()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.update_time = CURRENT_TIMESTAMP;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE TRIGGER trigger_call_number_voice_update
|
||||
BEFORE UPDATE ON call_number_voice
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_call_number_voice_time();
|
||||
|
||||
INSERT INTO call_number_voice (play_count, call_prefix, call_suffix, speed, volume, interval_seconds, cycle_broadcast) VALUES (2,'请','到诊室就诊','正常',80,10,TRUE);
|
||||
Reference in New Issue
Block a user