You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
4.9 KiB
110 lines
4.9 KiB
|
4 days ago
|
-- 案件三色预警:案件快照 + 法律文书抓取 + 活动日志 + 预警单
|
||
|
|
-- 红色通报一旦触发不可消除
|
||
|
|
|
||
|
|
-- 接报案来源:人民检察院通知立案;法院/检察院子项允许普通经侦
|
||
|
|
ALTER TABLE t_alarm_report DROP CONSTRAINT IF EXISTS t_alarm_report_case_source_check;
|
||
|
|
ALTER TABLE t_alarm_report ADD CONSTRAINT t_alarm_report_case_source_check
|
||
|
|
CHECK (case_source IS NULL OR case_source IN (
|
||
|
|
'party_report',
|
||
|
|
'admin_transfer',
|
||
|
|
'court_transfer',
|
||
|
|
'procuratorate_transfer',
|
||
|
|
'procuratorate_notify',
|
||
|
|
'superior_assign',
|
||
|
|
'work_discovery',
|
||
|
|
'other_unit_transfer'
|
||
|
|
));
|
||
|
|
|
||
|
|
ALTER TABLE t_alarm_report DROP CONSTRAINT IF EXISTS t_alarm_report_case_source_sub_check;
|
||
|
|
ALTER TABLE t_alarm_report ADD CONSTRAINT t_alarm_report_case_source_sub_check
|
||
|
|
CHECK (case_source_sub IS NULL OR case_source_sub IN ('false_litigation', 'other', 'normal'));
|
||
|
|
|
||
|
|
INSERT INTO t_dict_data (dict_id, data_value, data_label, remark, sort_order, disabled_flag, create_time, update_time)
|
||
|
|
SELECT d.dict_id, 'procuratorate_notify', '人民检察院通知立案', '案件来源', 5, false, NOW(), NOW()
|
||
|
|
FROM t_dict d
|
||
|
|
WHERE d.dict_code = 'CASE_SOURCE'
|
||
|
|
AND NOT EXISTS (
|
||
|
|
SELECT 1 FROM t_dict_data x
|
||
|
|
WHERE x.dict_id = d.dict_id AND x.data_value = 'procuratorate_notify'
|
||
|
|
);
|
||
|
|
|
||
|
|
UPDATE t_dict_data SET sort_order = 6 WHERE dict_id = (SELECT dict_id FROM t_dict WHERE dict_code = 'CASE_SOURCE') AND data_value = 'superior_assign';
|
||
|
|
UPDATE t_dict_data SET sort_order = 7 WHERE dict_id = (SELECT dict_id FROM t_dict WHERE dict_code = 'CASE_SOURCE') AND data_value = 'work_discovery';
|
||
|
|
UPDATE t_dict_data SET sort_order = 8 WHERE dict_id = (SELECT dict_id FROM t_dict WHERE dict_code = 'CASE_SOURCE') AND data_value = 'other_unit_transfer';
|
||
|
|
|
||
|
|
INSERT INTO t_dict_data (dict_id, data_value, data_label, remark, sort_order, disabled_flag, create_time, update_time)
|
||
|
|
SELECT d.dict_id, 'normal', '普通经侦案件', '案件来源子项', 0, false, NOW(), NOW()
|
||
|
|
FROM t_dict d
|
||
|
|
WHERE d.dict_code = 'CASE_SOURCE_SUB'
|
||
|
|
AND NOT EXISTS (
|
||
|
|
SELECT 1 FROM t_dict_data x
|
||
|
|
WHERE x.dict_id = d.dict_id AND x.data_value = 'normal'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS t_case_file (
|
||
|
|
case_id BIGSERIAL PRIMARY KEY,
|
||
|
|
case_no VARCHAR(64) NOT NULL,
|
||
|
|
case_name VARCHAR(200) NOT NULL,
|
||
|
|
alarm_id BIGINT,
|
||
|
|
case_source VARCHAR(64),
|
||
|
|
case_source_sub VARCHAR(64),
|
||
|
|
handler_name VARCHAR(64),
|
||
|
|
review_decide_time TIMESTAMP,
|
||
|
|
accept_time TIMESTAMP,
|
||
|
|
filing_time TIMESTAMP,
|
||
|
|
detention_time TIMESTAMP,
|
||
|
|
arrest_time TIMESTAMP,
|
||
|
|
residential_time TIMESTAMP,
|
||
|
|
designated_time TIMESTAMP,
|
||
|
|
create_time TIMESTAMP DEFAULT NOW(),
|
||
|
|
update_time TIMESTAMP DEFAULT NOW(),
|
||
|
|
deleted_flag BOOLEAN DEFAULT FALSE
|
||
|
|
);
|
||
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_t_case_file_no ON t_case_file(case_no) WHERE deleted_flag = FALSE;
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS t_case_legal_doc (
|
||
|
|
doc_id BIGSERIAL PRIMARY KEY,
|
||
|
|
case_id BIGINT NOT NULL,
|
||
|
|
doc_type VARCHAR(64) NOT NULL,
|
||
|
|
doc_name VARCHAR(200) NOT NULL,
|
||
|
|
issue_time TIMESTAMP NOT NULL,
|
||
|
|
approved_flag BOOLEAN DEFAULT TRUE,
|
||
|
|
interrogated BOOLEAN DEFAULT FALSE,
|
||
|
|
seq_no INTEGER DEFAULT 1,
|
||
|
|
create_time TIMESTAMP DEFAULT NOW()
|
||
|
|
);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_t_case_legal_doc_case ON t_case_legal_doc(case_id, doc_type);
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS t_case_activity_log (
|
||
|
|
log_id BIGSERIAL PRIMARY KEY,
|
||
|
|
case_id BIGINT NOT NULL,
|
||
|
|
activity_time TIMESTAMP NOT NULL,
|
||
|
|
activity_title VARCHAR(200) NOT NULL,
|
||
|
|
operator_name VARCHAR(64),
|
||
|
|
create_time TIMESTAMP DEFAULT NOW()
|
||
|
|
);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_t_case_activity_case ON t_case_activity_log(case_id, activity_time);
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS t_case_risk_warning (
|
||
|
|
warning_id BIGSERIAL PRIMARY KEY,
|
||
|
|
warning_no VARCHAR(64) NOT NULL,
|
||
|
|
case_id BIGINT NOT NULL,
|
||
|
|
rule_code VARCHAR(64) NOT NULL,
|
||
|
|
track_key VARCHAR(64) NOT NULL,
|
||
|
|
color VARCHAR(16) NOT NULL,
|
||
|
|
reason TEXT NOT NULL,
|
||
|
|
elapsed_days INTEGER,
|
||
|
|
sticky_red BOOLEAN DEFAULT FALSE,
|
||
|
|
status VARCHAR(32) NOT NULL DEFAULT 'open',
|
||
|
|
process_measure TEXT,
|
||
|
|
process_remark TEXT,
|
||
|
|
process_user VARCHAR(64),
|
||
|
|
process_time TIMESTAMP,
|
||
|
|
trigger_time TIMESTAMP NOT NULL DEFAULT NOW(),
|
||
|
|
update_time TIMESTAMP DEFAULT NOW()
|
||
|
|
);
|
||
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_t_case_risk_warning_no ON t_case_risk_warning(warning_no);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_t_case_risk_warning_case ON t_case_risk_warning(case_id, rule_code, track_key);
|
||
|
|
|
||
|
|
COMMENT ON TABLE t_case_risk_warning IS '案件三色预警:红=问题通报 黄=问题预警 蓝=普通提醒;红色 sticky_red 后不可消除';
|