智慧水务管理系统 - 精河县供水工程综合管理平台

V4__issue_6_enhancements.sql 2.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. -- =============================================
  2. -- 智慧水务管理系统 - 营收管理平台与报装管理系统增强
  3. -- 版本: V4 (Issue #6)
  4. -- =============================================
  5. -- 平台运维审计日志
  6. CREATE TABLE IF NOT EXISTS rev_audit_log (
  7. id BIGSERIAL PRIMARY KEY,
  8. user_id VARCHAR(50) NOT NULL,
  9. user_name VARCHAR(100) NOT NULL,
  10. action VARCHAR(50) NOT NULL, -- CREATE/UPDATE/DELETE/LOGIN/EXPORT
  11. target_type VARCHAR(50), -- customer/meter/bill/app
  12. target_id VARCHAR(50),
  13. detail TEXT,
  14. ip VARCHAR(50),
  15. created_at TIMESTAMP DEFAULT NOW()
  16. );
  17. COMMENT ON TABLE rev_audit_log IS '平台运维审计日志表';
  18. CREATE INDEX IF NOT EXISTS idx_audit_user ON rev_audit_log(user_id);
  19. CREATE INDEX IF NOT EXISTS idx_audit_action ON rev_audit_log(action);
  20. CREATE INDEX IF NOT EXISTS idx_audit_created ON rev_audit_log(created_at);
  21. -- 应用接入注册表
  22. CREATE TABLE IF NOT EXISTS rev_app_registry (
  23. id BIGSERIAL PRIMARY KEY,
  24. app_id VARCHAR(50) UNIQUE NOT NULL,
  25. app_secret VARCHAR(100) NOT NULL,
  26. app_name VARCHAR(100) NOT NULL,
  27. redirect_uris TEXT, -- JSON array of redirect URIs
  28. enabled SMALLINT DEFAULT 1, -- 0:disabled 1:enabled
  29. created_at TIMESTAMP DEFAULT NOW(),
  30. updated_at TIMESTAMP DEFAULT NOW()
  31. );
  32. COMMENT ON TABLE rev_app_registry IS '应用接入注册表';
  33. CREATE INDEX IF NOT EXISTS idx_app_enabled ON rev_app_registry(enabled);
  34. -- 报装任务表
  35. CREATE TABLE IF NOT EXISTS rev_install_task (
  36. id BIGSERIAL PRIMARY KEY,
  37. task_id VARCHAR(50) UNIQUE NOT NULL,
  38. apply_no VARCHAR(50) NOT NULL,
  39. task_type VARCHAR(50) NOT NULL, -- design/construction/inspection
  40. assignee_id BIGINT,
  41. assignee_name VARCHAR(100),
  42. description TEXT,
  43. status VARCHAR(20) DEFAULT 'pending', -- pending/in_progress/completed/cancelled
  44. remark TEXT,
  45. completed_at TIMESTAMP,
  46. created_at TIMESTAMP DEFAULT NOW(),
  47. updated_at TIMESTAMP DEFAULT NOW()
  48. );
  49. COMMENT ON TABLE rev_install_task IS '报装任务表';
  50. CREATE INDEX IF NOT EXISTS idx_task_apply ON rev_install_task(apply_no);
  51. CREATE INDEX IF NOT EXISTS idx_task_assignee ON rev_install_task(assignee_id);
  52. CREATE INDEX IF NOT EXISTS idx_task_status ON rev_install_task(status);
  53. -- 增强报装表(添加缺失的时间戳字段)
  54. ALTER TABLE rev_installation ADD COLUMN IF NOT EXISTS dispatched_at TIMESTAMP;
  55. ALTER TABLE rev_installation ADD COLUMN IF NOT EXISTS construction_started_at TIMESTAMP;
  56. ALTER TABLE rev_installation ADD COLUMN IF NOT EXISTS customer_type VARCHAR(20);
  57. COMMENT ON COLUMN rev_installation.dispatched_at IS '派单时间';
  58. COMMENT ON COLUMN rev_installation.construction_started_at IS '施工开始时间';
  59. COMMENT ON COLUMN rev_installation.customer_type IS '客户类型';