alter_auto_dispatch_schema_v4.sql 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. -- ============================================
  2. -- 自动分派功能 - 数据库扩改动议脚本(达梦 DM8)- V4.0
  3. -- 最简单版本:直接执行所有操作
  4. -- ====================================================
  5. -- ====================================================
  6. -- 1. complaint_workorder 表扩展字段
  7. -- ====================================================
  8. ALTER TABLE complaint_workorder ADD dispatch_note VARCHAR(200);
  9. COMMENT ON COLUMN complaint_workorder.dispatch_note IS '系统分派备注';
  10. ALTER TABLE complaint_workorder ADD is_archived CHAR(1) DEFAULT '0';
  11. COMMENT ON COLUMN complaint_workorder.is_archived IS '是否已归档(0 否 1 是)';
  12. ALTER TABLE complaint_workorder ADD archive_time TIMESTAMP;
  13. COMMENT ON COLUMN complaint_workorder.archive_time IS '归档时间(T+90 天后填充)';
  14. -- 更新 status 列注释
  15. COMMENT ON COLUMN complaint_workorder.status IS '状态:-1 待分派 0 待受理 1 处理中 2 已办结 3 已驳回 5 复核中';
  16. -- ====================================================
  17. -- 2. 创建投诉工单归档表
  18. -- ====================================================
  19. DROP TABLE IF EXISTS complaint_archive;
  20. CREATE TABLE complaint_archive (
  21. id BIGINT NOT NULL IDENTITY(1,1),
  22. complaint_no VARCHAR(32) NOT NULL,
  23. openid VARCHAR(64) DEFAULT '',
  24. name VARCHAR(30) DEFAULT '',
  25. phone VARCHAR(11) DEFAULT '',
  26. "identity" VARCHAR(10) DEFAULT '',
  27. city VARCHAR(30) DEFAULT '',
  28. district VARCHAR(30) DEFAULT '',
  29. unit_uid VARCHAR(64) DEFAULT '',
  30. school_name VARCHAR(100) DEFAULT '',
  31. school_type VARCHAR(20) DEFAULT '',
  32. category VARCHAR(30) DEFAULT '',
  33. content VARCHAR(1000) DEFAULT '',
  34. images VARCHAR(2000) DEFAULT '',
  35. status TINYINT DEFAULT 2,
  36. investigation VARCHAR(2000) DEFAULT '',
  37. conclusion VARCHAR(2000) DEFAULT '',
  38. process_images VARCHAR(2000) DEFAULT '',
  39. reject_reason VARCHAR(1000) DEFAULT '',
  40. accept_time TIMESTAMP,
  41. close_time TIMESTAMP,
  42. create_by VARCHAR(64) DEFAULT '',
  43. create_time TIMESTAMP,
  44. update_by VARCHAR(64) DEFAULT '',
  45. update_time TIMESTAMP,
  46. remark VARCHAR(500) DEFAULT '',
  47. original_submit_time TIMESTAMP NOT NULL,
  48. archive_time TIMESTAMP NOT NULL,
  49. PRIMARY KEY (id)
  50. );
  51. COMMENT ON TABLE complaint_archive IS '投诉工单归档表(T+90 天自动迁移)';
  52. COMMENT ON COLUMN complaint_archive.original_submit_time IS '原始提交时间(查询优化用)';
  53. COMMENT ON COLUMN complaint_archive.archive_time IS '归档操作时间';
  54. -- 归档表索引优化
  55. CREATE INDEX idx_archive_no ON complaint_archive (complaint_no);
  56. CREATE INDEX idx_archive_unit ON complaint_archive (unit_uid);
  57. CREATE INDEX idx_archive_status ON complaint_archive (status);
  58. CREATE INDEX idx_archive_create ON complaint_archive (original_submit_time);
  59. -- ====================================================
  60. -- 3. 重复检测辅助视图
  61. -- ====================================================
  62. DROP VIEW IF EXISTS v_recent_complaints;
  63. CREATE VIEW v_recent_complaints AS
  64. SELECT
  65. phone,
  66. unit_uid,
  67. LEFT(content, 50) AS content_snippet,
  68. create_time,
  69. complaint_no
  70. FROM complaint_workorder
  71. WHERE del_flag = '0' AND create_time >= DATE_SUB(NOW(), INTERVAL 30 DAY);
  72. -- ====================================================
  73. -- 结束
  74. -- ====================================================
  75. COMMIT;