-- 报案类案件来源字典改为九项平铺(移交→移送;法院两类升主项) ALTER TABLE t_alarm_report DROP CONSTRAINT IF EXISTS t_alarm_report_case_source_check; -- 历史:人民法院移交 + 子项 → 平铺主项 UPDATE t_alarm_report SET case_source = 'court_transfer_false' WHERE case_source = 'court_transfer' AND case_source_sub = 'false_litigation'; UPDATE t_alarm_report SET case_source = 'court_transfer_normal' WHERE case_source = 'court_transfer'; UPDATE t_case_file SET case_source = 'court_transfer_false' WHERE case_source = 'court_transfer' AND case_source_sub = 'false_litigation'; UPDATE t_case_file SET case_source = 'court_transfer_normal' WHERE case_source = 'court_transfer'; 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', 'court_transfer_normal', 'court_transfer_false', 'procuratorate_transfer', 'procuratorate_notify', 'superior_assign', 'work_discovery', 'other_unit_transfer' )); COMMENT ON COLUMN t_alarm_report.case_source IS '案件来源:当事人报案/行政机关移送/人民法院移送普通案件/人民法院移送虚假诉讼类案件/人民检察院移送/人民检察院通知立案/上级交办/工作中发现/其他单位移送'; COMMENT ON COLUMN t_alarm_report.case_source_sub IS '历史子项(法院/检察院),新登记由主项派生,可空'; COMMENT ON COLUMN t_alarm_report.accepting_unit IS '受案单位:人民法院移送两类时填写'; DELETE FROM t_dict_data WHERE dict_id = (SELECT dict_id FROM t_dict WHERE dict_code = 'CASE_SOURCE'); INSERT INTO t_dict (dict_name, dict_code, remark, disabled_flag, create_time, update_time) SELECT '案件来源', 'CASE_SOURCE', '报案类警情登记-案件来源', false, NOW(), NOW() WHERE NOT EXISTS (SELECT 1 FROM t_dict WHERE dict_code = 'CASE_SOURCE'); INSERT INTO t_dict_data (dict_id, data_value, data_label, remark, sort_order, disabled_flag, create_time, update_time) SELECT d.dict_id, v.data_value, v.data_label, '案件来源', v.sort_order, false, NOW(), NOW() FROM t_dict d CROSS JOIN (VALUES ('party_report', '当事人报案', 1), ('admin_transfer', '行政机关移送', 2), ('court_transfer_normal', '人民法院移送普通案件', 3), ('court_transfer_false', '人民法院移送虚假诉讼类案件', 4), ('procuratorate_transfer', '人民检察院移送', 5), ('procuratorate_notify', '人民检察院通知立案', 6), ('superior_assign', '上级交办', 7), ('work_discovery', '工作中发现', 8), ('other_unit_transfer', '其他单位移送', 9) ) AS v(data_value, data_label, sort_order) WHERE d.dict_code = 'CASE_SOURCE';