|
|
@@ -11,7 +11,7 @@
|
|
|
--
|
|
|
-- 设计口径(2026-10-14 与业务确认):
|
|
|
-- · 事件等级:3 级 —— Ⅰ级(紧急) / Ⅱ级(较大) / Ⅲ级(一般)(原型口径)
|
|
|
--- · 事件类别:保留两级 —— event_type(管网类型) + event_category(故障类别)
|
|
|
+-- · 事件类别、事件等级分别使用 dis_event_category / dis_event_level
|
|
|
-- · 事件状态:5 态 —— 0 待核实 / 1 已核实 / 2 处置中 / 3 已解除 / 4 不实事件
|
|
|
-- 存量「待受理」归 0、「已关闭」归 3
|
|
|
--
|
|
|
@@ -19,9 +19,8 @@
|
|
|
-- 建表用 CREATE TABLE IF NOT EXISTS;加列用 ADD COLUMN IF NOT EXISTS;
|
|
|
-- 字典先 DELETE 同 dict_type 再 INSERT。
|
|
|
--
|
|
|
--- ⚠️ 本脚本只做「新增」,不删除任何旧表/旧列/旧数据。
|
|
|
--- 废弃旧表与旧列的 DROP 语句放在独立的 dispatch_refactor_drop.sql,
|
|
|
--- 确认新结构运行正常后再单独执行。
|
|
|
+-- 本版同时完成 dis_plan_library 的字段收敛:将类型/等级统一为字典编码,
|
|
|
+-- 并删除已废弃的 event_region / topic / plan_summary 列。
|
|
|
-- =====================================================================
|
|
|
|
|
|
BEGIN;
|
|
|
@@ -45,13 +44,9 @@ CREATE TABLE IF NOT EXISTS app_user.dis_event (
|
|
|
longitude numeric(12,6),
|
|
|
latitude numeric(12,6),
|
|
|
happen_time timestamp,
|
|
|
- report_time timestamp,
|
|
|
- reporter varchar(64),
|
|
|
reporter_phone varchar(20),
|
|
|
- event_type varchar(20),
|
|
|
event_category varchar(20),
|
|
|
event_level varchar(20),
|
|
|
- event_region varchar(20),
|
|
|
status int2 NOT NULL DEFAULT 0,
|
|
|
verify_result int2,
|
|
|
verifier varchar(64),
|
|
|
@@ -67,11 +62,9 @@ CREATE TABLE IF NOT EXISTS app_user.dis_event (
|
|
|
last_visit_time timestamp,
|
|
|
next_visit_time timestamp,
|
|
|
need_upgrade int2,
|
|
|
- plan_id int8,
|
|
|
- loss_amount numeric(14,2),
|
|
|
- create_by varchar(64),
|
|
|
+ create_user_id int8,
|
|
|
create_time timestamp DEFAULT CURRENT_TIMESTAMP,
|
|
|
- update_by varchar(64),
|
|
|
+ update_user_id int8,
|
|
|
update_time timestamp DEFAULT CURRENT_TIMESTAMP,
|
|
|
del_flag char(1) DEFAULT '0'
|
|
|
);
|
|
|
@@ -84,13 +77,9 @@ ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS location varchar(
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS longitude numeric(12,6);
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS latitude numeric(12,6);
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS happen_time timestamp;
|
|
|
-ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS report_time timestamp;
|
|
|
-ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS reporter varchar(64);
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS reporter_phone varchar(20);
|
|
|
-ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS event_type varchar(20);
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS event_category varchar(20);
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS event_level varchar(20);
|
|
|
-ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS event_region varchar(20);
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS status int2 DEFAULT 0;
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS verify_result int2;
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS verifier varchar(64);
|
|
|
@@ -106,11 +95,9 @@ ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS release_note varchar(
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS last_visit_time timestamp;
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS next_visit_time timestamp;
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS need_upgrade int2;
|
|
|
-ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS plan_id int8;
|
|
|
-ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS loss_amount numeric(14,2);
|
|
|
-ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS create_by varchar(64);
|
|
|
+ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS create_user_id int8;
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS create_time timestamp DEFAULT CURRENT_TIMESTAMP;
|
|
|
-ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS update_by varchar(64);
|
|
|
+ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS update_user_id int8;
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS update_time timestamp DEFAULT CURRENT_TIMESTAMP;
|
|
|
ALTER TABLE app_user.dis_event ADD COLUMN IF NOT EXISTS del_flag char(1) DEFAULT '0';
|
|
|
|
|
|
@@ -124,13 +111,9 @@ COMMENT ON COLUMN app_user.dis_event.location IS '发生地点';
|
|
|
COMMENT ON COLUMN app_user.dis_event.longitude IS '经度(发生地点地理编码得到)';
|
|
|
COMMENT ON COLUMN app_user.dis_event.latitude IS '纬度(发生地点地理编码得到)';
|
|
|
COMMENT ON COLUMN app_user.dis_event.happen_time IS '发生时间';
|
|
|
-COMMENT ON COLUMN app_user.dis_event.report_time IS '接报时间';
|
|
|
-COMMENT ON COLUMN app_user.dis_event.reporter IS '接报人';
|
|
|
COMMENT ON COLUMN app_user.dis_event.reporter_phone IS '上报人联系电话';
|
|
|
-COMMENT ON COLUMN app_user.dis_event.event_type IS '管网类型:字典 dis_event_type(供水/燃气/排水/其他)';
|
|
|
COMMENT ON COLUMN app_user.dis_event.event_category IS '事件类别:字典 dis_event_category(管道泄漏/路面积水/设施损坏/管道堵塞)';
|
|
|
COMMENT ON COLUMN app_user.dis_event.event_level IS '事件等级:字典 dis_event_level(1-Ⅰ级紧急 2-Ⅱ级较大 3-Ⅲ级一般)';
|
|
|
-COMMENT ON COLUMN app_user.dis_event.event_region IS '发生区域:字典 dis_event_region';
|
|
|
COMMENT ON COLUMN app_user.dis_event.status IS '事件状态:EventStatusEnum —— 0-待核实 1-已核实 2-处置中 3-已解除 4-不实事件;终态为 3、4';
|
|
|
COMMENT ON COLUMN app_user.dis_event.verify_result IS '核实结论:0-真实 1-不实;仅 status in (1,4) 时有值';
|
|
|
COMMENT ON COLUMN app_user.dis_event.verifier IS '核验人';
|
|
|
@@ -146,16 +129,26 @@ COMMENT ON COLUMN app_user.dis_event.release_note IS '解除说明 / 处置
|
|
|
COMMENT ON COLUMN app_user.dis_event.last_visit_time IS '最近回访时间(取最近一次处置跟踪的跟踪时间)';
|
|
|
COMMENT ON COLUMN app_user.dis_event.next_visit_time IS '下次回访时间(取最近一次处置跟踪填写的值)';
|
|
|
COMMENT ON COLUMN app_user.dis_event.need_upgrade IS '是否需要升级:字典 dis_yes_no(0-否 1-是),取最近一次处置跟踪填写的值';
|
|
|
-COMMENT ON COLUMN app_user.dis_event.plan_id IS '应用预案ID(dis_plan.id)';
|
|
|
-COMMENT ON COLUMN app_user.dis_event.loss_amount IS '直接经济损失(万元)';
|
|
|
COMMENT ON COLUMN app_user.dis_event.del_flag IS '删除标志(0=正常 2=删除)';
|
|
|
|
|
|
+ALTER TABLE app_user.dis_event
|
|
|
+ DROP COLUMN IF EXISTS reporter,
|
|
|
+ DROP COLUMN IF EXISTS reporter_id,
|
|
|
+ DROP COLUMN IF EXISTS report_time,
|
|
|
+ DROP COLUMN IF EXISTS create_by,
|
|
|
+ DROP COLUMN IF EXISTS update_by,
|
|
|
+ DROP COLUMN IF EXISTS loss_amount,
|
|
|
+ DROP COLUMN IF EXISTS plan_id,
|
|
|
+ DROP COLUMN IF EXISTS event_type,
|
|
|
+ DROP COLUMN IF EXISTS event_region,
|
|
|
+ DROP COLUMN IF EXISTS before_url,
|
|
|
+ DROP COLUMN IF EXISTS after_url;
|
|
|
+
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_dis_event_no ON app_user.dis_event(event_no);
|
|
|
CREATE INDEX IF NOT EXISTS idx_dis_event_status ON app_user.dis_event(status);
|
|
|
-CREATE INDEX IF NOT EXISTS idx_dis_event_report_time ON app_user.dis_event(report_time DESC);
|
|
|
+CREATE INDEX IF NOT EXISTS idx_dis_event_create_time ON app_user.dis_event(create_time DESC);
|
|
|
CREATE INDEX IF NOT EXISTS idx_dis_event_source ON app_user.dis_event(event_source);
|
|
|
CREATE INDEX IF NOT EXISTS idx_dis_event_level ON app_user.dis_event(event_level);
|
|
|
-CREATE INDEX IF NOT EXISTS idx_dis_event_type ON app_user.dis_event(event_type);
|
|
|
|
|
|
-- ---------------------------------------------------------------------
|
|
|
-- 1.2 dis_event_log 事件日志表
|
|
|
@@ -234,8 +227,11 @@ CREATE INDEX IF NOT EXISTS idx_dis_event_log_no ON app_user.dis_event_log(eve
|
|
|
-- ---------------------------------------------------------------------
|
|
|
-- 2.1 dis_plan 预案主表
|
|
|
-- ---------------------------------------------------------------------
|
|
|
+CREATE SEQUENCE IF NOT EXISTS app_user.dis_plan_id_seq
|
|
|
+ START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
|
|
|
+
|
|
|
CREATE TABLE IF NOT EXISTS app_user.dis_plan (
|
|
|
- id int8 GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
|
+ id int8 NOT NULL DEFAULT nextval('app_user.dis_plan_id_seq'::regclass) PRIMARY KEY,
|
|
|
plan_no varchar(32),
|
|
|
plan_name varchar(200) NOT NULL,
|
|
|
plan_type varchar(20),
|
|
|
@@ -243,10 +239,7 @@ CREATE TABLE IF NOT EXISTS app_user.dis_plan (
|
|
|
compile_unit varchar(128),
|
|
|
publish_unit varchar(128),
|
|
|
publish_date varchar(20),
|
|
|
- attach_name varchar(255),
|
|
|
- attach_path varchar(1000),
|
|
|
is_template int2 NOT NULL DEFAULT 0,
|
|
|
- status int2 NOT NULL DEFAULT 0,
|
|
|
version varchar(20),
|
|
|
content text,
|
|
|
approve_result varchar(20),
|
|
|
@@ -259,14 +252,16 @@ CREATE TABLE IF NOT EXISTS app_user.dis_plan (
|
|
|
del_flag char(1) DEFAULT '0'
|
|
|
);
|
|
|
|
|
|
+-- 不在此处执行 OWNED BY:存量 Kingbase 表的 id 可能仍是 Identity,
|
|
|
+-- Identity 列不能直接重新绑定序列。存量库请执行对应的序列迁移脚本
|
|
|
+--(例如 dispatch_plan_version_id_sequence.sql)后再绑定所有权。
|
|
|
+
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS plan_no varchar(32);
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS plan_type varchar(20);
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS plan_level varchar(20);
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS compile_unit varchar(128);
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS publish_unit varchar(128);
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS publish_date varchar(20);
|
|
|
-ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS attach_name varchar(255);
|
|
|
-ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS attach_path varchar(1000);
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS is_template int2 DEFAULT 0;
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS status int2 DEFAULT 0;
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS version varchar(20);
|
|
|
@@ -280,6 +275,11 @@ ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS update_by varchar(64
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS update_time timestamp DEFAULT CURRENT_TIMESTAMP;
|
|
|
ALTER TABLE app_user.dis_plan ADD COLUMN IF NOT EXISTS del_flag char(1) DEFAULT '0';
|
|
|
|
|
|
+-- 正文富文本承载图片附件,移除历史独立附件字段。
|
|
|
+ALTER TABLE app_user.dis_plan
|
|
|
+ DROP COLUMN IF EXISTS attach_name,
|
|
|
+ DROP COLUMN IF EXISTS attach_path;
|
|
|
+
|
|
|
COMMENT ON TABLE app_user.dis_plan IS '应急预案主表:预案编辑与预案审批共用同一套数据,状态流转 草稿→待审核→已通过/已驳回';
|
|
|
COMMENT ON COLUMN app_user.dis_plan.plan_no IS '预案编号(业务序号:YA+yyyyMMdd+4位随机)';
|
|
|
COMMENT ON COLUMN app_user.dis_plan.plan_name IS '预案名称';
|
|
|
@@ -288,8 +288,6 @@ COMMENT ON COLUMN app_user.dis_plan.plan_level IS '预案等级:字典 dis
|
|
|
COMMENT ON COLUMN app_user.dis_plan.compile_unit IS '编制单位';
|
|
|
COMMENT ON COLUMN app_user.dis_plan.publish_unit IS '发布单位';
|
|
|
COMMENT ON COLUMN app_user.dis_plan.publish_date IS '发布日期';
|
|
|
-COMMENT ON COLUMN app_user.dis_plan.attach_name IS '附件名称';
|
|
|
-COMMENT ON COLUMN app_user.dis_plan.attach_path IS '附件路径';
|
|
|
COMMENT ON COLUMN app_user.dis_plan.is_template IS '是否预案模板:0-否 1-是(新建预案时可套用模板的章节结构)';
|
|
|
COMMENT ON COLUMN app_user.dis_plan.status IS 'PlanStatusEnum:0-草稿 1-待审核 2-已通过 3-已驳回';
|
|
|
COMMENT ON COLUMN app_user.dis_plan.version IS '当前生效版本号;尚未审批通过时为空';
|
|
|
@@ -305,8 +303,11 @@ CREATE INDEX IF NOT EXISTS idx_dis_plan_template ON app_user.dis_plan(is_tem
|
|
|
-- ---------------------------------------------------------------------
|
|
|
-- 2.2 dis_plan_version 预案版本快照表
|
|
|
-- ---------------------------------------------------------------------
|
|
|
+CREATE SEQUENCE IF NOT EXISTS app_user.dis_plan_version_id_seq
|
|
|
+ START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
|
|
|
+
|
|
|
CREATE TABLE IF NOT EXISTS app_user.dis_plan_version (
|
|
|
- id int8 GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
|
+ id int8 NOT NULL DEFAULT nextval('app_user.dis_plan_version_id_seq'::regclass) PRIMARY KEY,
|
|
|
plan_id int8 NOT NULL,
|
|
|
plan_no varchar(32),
|
|
|
version varchar(20) NOT NULL,
|
|
|
@@ -324,6 +325,10 @@ ALTER TABLE app_user.dis_plan_version ADD COLUMN IF NOT EXISTS editor varch
|
|
|
ALTER TABLE app_user.dis_plan_version ADD COLUMN IF NOT EXISTS edit_time timestamp;
|
|
|
ALTER TABLE app_user.dis_plan_version ADD COLUMN IF NOT EXISTS ver_status int2 DEFAULT 0;
|
|
|
|
|
|
+ALTER TABLE app_user.dis_plan_version
|
|
|
+ DROP COLUMN IF EXISTS attach_name,
|
|
|
+ DROP COLUMN IF EXISTS attach_path;
|
|
|
+
|
|
|
COMMENT ON TABLE app_user.dis_plan_version IS '应急预案版本快照:审核通过后的正文落地为版本;修订已通过预案先生成「审核中」候选版本,旧版本仍生效';
|
|
|
COMMENT ON COLUMN app_user.dis_plan_version.plan_id IS '关联 dis_plan.id';
|
|
|
COMMENT ON COLUMN app_user.dis_plan_version.version IS '版本号,如 v3.1';
|
|
|
@@ -340,8 +345,11 @@ CREATE UNIQUE INDEX IF NOT EXISTS uk_dis_plan_version ON app_user.dis_plan_versi
|
|
|
-- 2.3 dis_plan_log 预案操作日志表
|
|
|
-- 替代旧 dis_plan_approval + dis_plan_approval_step(原型审批为单环节)
|
|
|
-- ---------------------------------------------------------------------
|
|
|
+CREATE SEQUENCE IF NOT EXISTS app_user.dis_plan_log_id_seq
|
|
|
+ START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
|
|
|
+
|
|
|
CREATE TABLE IF NOT EXISTS app_user.dis_plan_log (
|
|
|
- id int8 GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
|
+ id int8 NOT NULL DEFAULT nextval('app_user.dis_plan_log_id_seq'::regclass) PRIMARY KEY,
|
|
|
plan_id int8 NOT NULL,
|
|
|
plan_no varchar(32),
|
|
|
oper_type int2 NOT NULL CHECK (oper_type BETWEEN 0 AND 4),
|
|
|
@@ -372,57 +380,94 @@ COMMENT ON COLUMN app_user.dis_plan_log.status_to IS '变更后预案状态';
|
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_dis_plan_log_plan ON app_user.dis_plan_log(plan_id, oper_time, id);
|
|
|
|
|
|
+-- ---------------------------------------------------------------------
|
|
|
+-- 2.4 dis_plan_library 数字预案库字段收敛
|
|
|
+-- event_type / event_level 与 dis_plan 使用同一套字典编码;
|
|
|
+-- event_region、topic、plan_summary 已不再参与模板匹配,直接移除。
|
|
|
+-- 创建人统一使用 create_user_id,移除 create_by 登录名快照。
|
|
|
+-- ---------------------------------------------------------------------
|
|
|
+ALTER TABLE app_user.dis_plan_library
|
|
|
+ ALTER COLUMN event_type TYPE varchar(20),
|
|
|
+ ALTER COLUMN event_level TYPE varchar(20);
|
|
|
+
|
|
|
+-- 将历史上保存的中文标签转换为 dis_plan_type / dis_plan_level 的字典值。
|
|
|
+UPDATE app_user.dis_plan_library
|
|
|
+ SET event_type = CASE trim(event_type)
|
|
|
+ WHEN '综合' THEN '1'
|
|
|
+ WHEN '专项' THEN '2'
|
|
|
+ WHEN '现场处置' THEN '3'
|
|
|
+ WHEN '供水' THEN '2'
|
|
|
+ WHEN '燃气' THEN '2'
|
|
|
+ WHEN '排水' THEN '2'
|
|
|
+ ELSE event_type END,
|
|
|
+ event_level = CASE trim(event_level)
|
|
|
+ WHEN 'Ⅰ级' THEN '1'
|
|
|
+ WHEN 'I级' THEN '1'
|
|
|
+ WHEN '1级' THEN '1'
|
|
|
+ WHEN 'Ⅱ级' THEN '2'
|
|
|
+ WHEN 'II级' THEN '2'
|
|
|
+ WHEN '2级' THEN '2'
|
|
|
+ WHEN 'Ⅲ级' THEN '3'
|
|
|
+ WHEN 'III级' THEN '3'
|
|
|
+ WHEN '3级' THEN '3'
|
|
|
+ ELSE event_level END;
|
|
|
+
|
|
|
+ALTER TABLE app_user.dis_plan_library
|
|
|
+ DROP COLUMN IF EXISTS event_region,
|
|
|
+ DROP COLUMN IF EXISTS topic,
|
|
|
+ DROP COLUMN IF EXISTS plan_summary,
|
|
|
+ DROP COLUMN IF EXISTS create_by;
|
|
|
+
|
|
|
+COMMENT ON COLUMN app_user.dis_plan_library.event_type
|
|
|
+ IS '预案类型:字典 dis_plan_type,与 dis_plan.plan_type 使用同一编码';
|
|
|
+COMMENT ON COLUMN app_user.dis_plan_library.event_level
|
|
|
+ IS '预案等级:字典 dis_plan_level,与 dis_plan.plan_level 使用同一编码';
|
|
|
+CREATE INDEX IF NOT EXISTS idx_dis_plan_library_type_level
|
|
|
+ ON app_user.dis_plan_library(event_type, event_level);
|
|
|
+
|
|
|
-- =====================================================================
|
|
|
-- 三、事件分级(保留原表,字段字典化 + 补业务编号)
|
|
|
-- =====================================================================
|
|
|
+CREATE SEQUENCE IF NOT EXISTS app_user.dis_event_grade_id_seq
|
|
|
+ START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
|
|
|
+
|
|
|
CREATE TABLE IF NOT EXISTS app_user.dis_event_grade (
|
|
|
- id int8 GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
|
- grade_no varchar(32),
|
|
|
+ id int8 NOT NULL DEFAULT nextval('app_user.dis_event_grade_id_seq'::regclass) PRIMARY KEY,
|
|
|
event_category varchar(20),
|
|
|
- event_type varchar(20),
|
|
|
event_level varchar(20),
|
|
|
- sub_category varchar(50),
|
|
|
- scenario varchar(200),
|
|
|
criteria text,
|
|
|
response varchar(500),
|
|
|
- status int2 NOT NULL DEFAULT 0,
|
|
|
remark varchar(500),
|
|
|
- create_by varchar(64),
|
|
|
create_time timestamp DEFAULT CURRENT_TIMESTAMP,
|
|
|
- update_by varchar(64),
|
|
|
update_time timestamp DEFAULT CURRENT_TIMESTAMP,
|
|
|
del_flag char(1) DEFAULT '0'
|
|
|
);
|
|
|
|
|
|
-ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS grade_no varchar(32);
|
|
|
+
|
|
|
ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS event_category varchar(20);
|
|
|
-ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS event_type varchar(20);
|
|
|
ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS event_level varchar(20);
|
|
|
-ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS sub_category varchar(50);
|
|
|
-ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS scenario varchar(200);
|
|
|
ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS criteria text;
|
|
|
ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS response varchar(500);
|
|
|
-ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS status int2 DEFAULT 0;
|
|
|
ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS remark varchar(500);
|
|
|
-ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS create_by varchar(64);
|
|
|
ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS create_time timestamp DEFAULT CURRENT_TIMESTAMP;
|
|
|
-ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS update_by varchar(64);
|
|
|
ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS update_time timestamp DEFAULT CURRENT_TIMESTAMP;
|
|
|
ALTER TABLE app_user.dis_event_grade ADD COLUMN IF NOT EXISTS del_flag char(1) DEFAULT '0';
|
|
|
|
|
|
+-- 分级标准不再单独保存管网类型,清理存量库中的历史遗留列。
|
|
|
+ALTER TABLE app_user.dis_event_grade DROP COLUMN IF EXISTS event_type;
|
|
|
+ALTER TABLE app_user.dis_event_grade DROP COLUMN IF EXISTS status;
|
|
|
+ALTER TABLE app_user.dis_event_grade DROP COLUMN IF EXISTS create_by;
|
|
|
+ALTER TABLE app_user.dis_event_grade DROP COLUMN IF EXISTS update_by;
|
|
|
+
|
|
|
COMMENT ON TABLE app_user.dis_event_grade IS '应急事件分级分类标准,同时作为初判核实的辅助核实依据';
|
|
|
-COMMENT ON COLUMN app_user.dis_event_grade.grade_no IS '标准编号(业务序号:GJ+yyyyMMdd+3位随机)';
|
|
|
COMMENT ON COLUMN app_user.dis_event_grade.event_category IS '事件类别:字典 dis_event_category';
|
|
|
-COMMENT ON COLUMN app_user.dis_event_grade.event_type IS '管网类型:字典 dis_event_type';
|
|
|
COMMENT ON COLUMN app_user.dis_event_grade.event_level IS '事件等级:字典 dis_event_level';
|
|
|
-COMMENT ON COLUMN app_user.dis_event_grade.sub_category IS '类别细分';
|
|
|
-COMMENT ON COLUMN app_user.dis_event_grade.scenario IS '适用场景';
|
|
|
+ALTER TABLE app_user.dis_event_grade DROP COLUMN IF EXISTS sub_category;
|
|
|
+ALTER TABLE app_user.dis_event_grade DROP COLUMN IF EXISTS scenario;
|
|
|
COMMENT ON COLUMN app_user.dis_event_grade.criteria IS '分级分类判断标准';
|
|
|
COMMENT ON COLUMN app_user.dis_event_grade.response IS '响应要求,如:30 分钟内启动预案';
|
|
|
-COMMENT ON COLUMN app_user.dis_event_grade.status IS '标准生效状态:0-启用 1-停用';
|
|
|
|
|
|
-CREATE UNIQUE INDEX IF NOT EXISTS uk_dis_event_grade_no ON app_user.dis_event_grade(grade_no);
|
|
|
-CREATE INDEX IF NOT EXISTS idx_dis_event_grade_query ON app_user.dis_event_grade(event_category, event_level, status);
|
|
|
+CREATE INDEX IF NOT EXISTS idx_dis_event_grade_query ON app_user.dis_event_grade(event_category, event_level);
|
|
|
|
|
|
-- =====================================================================
|
|
|
-- 四、存量数据迁移 —— 见独立文件 dispatch_refactor_migrate.sql
|
|
|
@@ -437,21 +482,22 @@ CREATE INDEX IF NOT EXISTS idx_dis_event_grade_query ON app_user.dis_event_gr
|
|
|
-- =====================================================================
|
|
|
|
|
|
DELETE FROM app_user.sys_dict_data
|
|
|
- WHERE dict_type IN ('dis_event_source','dis_event_channel','dis_event_type','dis_event_category',
|
|
|
- 'dis_event_level','dis_event_region','dis_event_urge_method','dis_event_urge_result',
|
|
|
+ WHERE dict_type IN ('dis_event_source','dis_event_channel','dis_event_category',
|
|
|
+ 'dis_event_level','dis_event_urge_method','dis_event_urge_result',
|
|
|
'dis_event_trend','dis_event_false_reason','dis_event_release_reason',
|
|
|
'dis_transfer_dept','dis_report_target',
|
|
|
'dis_plan_type','dis_plan_level','dis_yes_no');
|
|
|
|
|
|
+DELETE FROM app_user.sys_dict_type
|
|
|
+ WHERE dict_type IN ('dis_event_type', 'dis_event_region');
|
|
|
+
|
|
|
INSERT INTO app_user.sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
|
|
|
SELECT v.dict_name, v.dict_type, '0', 'admin', CURRENT_TIMESTAMP, v.remark
|
|
|
FROM (VALUES
|
|
|
('应急事件来源', 'dis_event_source', '应急事件来源:1巡查上报 2呼叫中心 3视频监控 4上级下达'),
|
|
|
('应急事件来源渠道', 'dis_event_channel', '应急事件来源渠道'),
|
|
|
- ('应急管网类型', 'dis_event_type', '应急事件管网类型:1供水管网 2燃气管网 3排水管网 9其他'),
|
|
|
('应急事件类别', 'dis_event_category', '应急事件类别:故障类别'),
|
|
|
('应急事件等级', 'dis_event_level', '应急事件等级:1Ⅰ级紧急 2Ⅱ级较大 3Ⅲ级一般'),
|
|
|
- ('应急事件区域', 'dis_event_region', '应急事件发生区域'),
|
|
|
('工作催办方式', 'dis_event_urge_method', '工作催办方式:1电话 2短信 3系统消息'),
|
|
|
('工作催办结果', 'dis_event_urge_result', '工作催办结果:0未反馈 1已反馈'),
|
|
|
('处置态势评估', 'dis_event_trend', '处置跟踪的态势评估:1趋于平稳 2仍在发展 3明显恶化'),
|
|
|
@@ -480,10 +526,6 @@ VALUES
|
|
|
(4, '交警监控共享平台', '4', 'dis_event_channel', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '来源渠道:交警监控共享平台'),
|
|
|
(5, '其他', '9', 'dis_event_channel', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '来源渠道:其他'),
|
|
|
-- 管网类型
|
|
|
-(1, '供水管网', '1', 'dis_event_type', '', 'primary', 'N', '0', 'admin', CURRENT_TIMESTAMP, '应急管网类型:供水管网'),
|
|
|
-(2, '燃气管网', '2', 'dis_event_type', '', 'warning', 'N', '0', 'admin', CURRENT_TIMESTAMP, '应急管网类型:燃气管网'),
|
|
|
-(3, '排水管网', '3', 'dis_event_type', '', 'info', 'N', '0', 'admin', CURRENT_TIMESTAMP, '应急管网类型:排水管网'),
|
|
|
-(4, '其他', '9', 'dis_event_type', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '应急管网类型:其他'),
|
|
|
-- 事件类别
|
|
|
(1, '管道泄漏', '1', 'dis_event_category', '', 'danger', 'N', '0', 'admin', CURRENT_TIMESTAMP, '事件类别:管道泄漏'),
|
|
|
(2, '路面积水', '2', 'dis_event_category', '', 'warning', 'N', '0', 'admin', CURRENT_TIMESTAMP, '事件类别:路面积水'),
|
|
|
@@ -494,10 +536,6 @@ VALUES
|
|
|
(2, 'Ⅱ级(较大)', '2', 'dis_event_level', '', 'warning', 'N', '0', 'admin', CURRENT_TIMESTAMP, '事件等级:Ⅱ级较大'),
|
|
|
(3, 'Ⅲ级(一般)', '3', 'dis_event_level', '', 'info', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '事件等级:Ⅲ级一般'),
|
|
|
-- 发生区域(按实际片区维护,以下为占位默认值)
|
|
|
-(1, '城东片区', '1', 'dis_event_region', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '发生区域:城东片区(按实际维护)'),
|
|
|
-(2, '城南片区', '2', 'dis_event_region', '', '', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '发生区域:城南片区(按实际维护)'),
|
|
|
-(3, '城北片区', '3', 'dis_event_region', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '发生区域:城北片区(按实际维护)'),
|
|
|
-(4, '太常片区', '4', 'dis_event_region', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '发生区域:太常片区(按实际维护)'),
|
|
|
-- 催办方式
|
|
|
(1, '电话', '1', 'dis_event_urge_method', '', '', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '催办方式:电话'),
|
|
|
(2, '短信', '2', 'dis_event_urge_method', '', '', 'N', '0', 'admin', CURRENT_TIMESTAMP, '催办方式:短信'),
|