init.sql 5.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. CREATE DATABASE IF NOT EXISTS iwb_railway_costing_v1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
  2. USE iwb_railway_costing_v1;
  3. -- 创建项目任务表
  4. CREATE TABLE IF NOT EXISTS project_task (
  5. id INT AUTO_INCREMENT PRIMARY KEY,
  6. task_name VARCHAR(255) NOT NULL COMMENT '任务名称',
  7. task_sort TINYINT DEFAULT 0 COMMENT '任务排序',
  8. task_desc VARCHAR(1000) COMMENT '任务描述',
  9. project_id VARCHAR(50) NOT NULL COMMENT '项目编号',
  10. budget_id int NOT NULL DEFAULT 0 COMMENT '概算序号',
  11. item_id int NOT NULL COMMENT '条目序号',
  12. item_code VARCHAR(255) NOT NULL COMMENT '条目编号',
  13. file_path text COMMENT '文件路径',
  14. collect_status TINYINT NOT NULL DEFAULT 0 COMMENT '采集状态(0:未开始, 1:进行中, 2:已完成, 3:采集失败)',
  15. collect_time DATETIME COMMENT '采集时间',
  16. collect_error VARCHAR(1000) COMMENT '采集错误信息',
  17. process_status TINYINT NOT NULL DEFAULT 0 COMMENT '处理状态(0:未处理,1:处理中, 2:已处理, 3:处理失败)',
  18. process_time DATETIME COMMENT '处理时间',
  19. process_error VARCHAR(1000) COMMENT '处理错误信息',
  20. send_status TINYINT NOT NULL DEFAULT 0 COMMENT '发送状态(0:未发送,1:发送中 ,2:已发送, 3:发送失败)',
  21. send_time DATETIME COMMENT '发送时间',
  22. send_error VARCHAR(1000) COMMENT '发送错误信息',
  23. is_del TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除(0:否, 1:是)',
  24. deleted_by VARCHAR(50) COMMENT '删除人',
  25. deleted_at DATETIME COMMENT '删除时间',
  26. created_by VARCHAR(50) COMMENT '创建人',
  27. created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  28. updated_by VARCHAR(50) COMMENT '更新人',
  29. updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  30. INDEX idx_project_id (project_id),
  31. INDEX idx_budget_id (budget_id),
  32. INDEX idx_item_id (item_id),
  33. INDEX idx_item_code (item_code),
  34. INDEX idx_created_at (created_at)
  35. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目任务表';
  36. -- 创建项目定额表
  37. CREATE TABLE IF NOT EXISTS project_quota (
  38. id INT AUTO_INCREMENT PRIMARY KEY,
  39. task_id int NOT NULL COMMENT '任务编号',
  40. project_id VARCHAR(50) NOT NULL COMMENT '项目编号',
  41. budget_id int NOT NULL COMMENT '概算序号',
  42. budget_code VARCHAR(50) COMMENT '概算编号',
  43. item_id int NOT NULL COMMENT '条目序号',
  44. item_code VARCHAR(255) NOT NULL COMMENT '条目编号',
  45. quota_code VARCHAR(50) COMMENT '定额编号',
  46. entry_name VARCHAR(255) COMMENT '工程或费用项目名称',
  47. units VARCHAR(20) COMMENT '单位',
  48. amount FLOAT COMMENT '数量',
  49. ex_file VARCHAR(50) COMMENT 'excel文件',
  50. ex_cell VARCHAR(50) COMMENT '数量单元格位置,例如"C17"',
  51. ex_row VARCHAR(1000) COMMENT '该行内容,由逗号连接多个单元格得到',
  52. ex_unit VARCHAR(50) COMMENT 'excel中给出的单位',
  53. ex_amount FLOAT COMMENT 'excel中给出的数量',
  54. process_status TINYINT NOT NULL DEFAULT 0 COMMENT '处理状态(0:未处理,1:处理中, 2:已处理, 3:处理失败)',
  55. process_time DATETIME COMMENT '处理时间',
  56. process_error VARCHAR(1000) COMMENT '处理错误信息',
  57. send_status TINYINT NOT NULL DEFAULT 0 COMMENT '发送状态(0:未发送,1:发送中 ,2:已发送, 3:发送失败)',
  58. send_time DATETIME COMMENT '发送时间',
  59. send_error VARCHAR(1000) COMMENT '发送错误信息',
  60. is_del TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除(0:否, 1:是)',
  61. deleted_by VARCHAR(50) COMMENT '删除人',
  62. deleted_at DATETIME COMMENT '删除时间',
  63. created_by VARCHAR(50) COMMENT '创建人',
  64. created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  65. updated_by VARCHAR(50) COMMENT '更新人',
  66. updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  67. INDEX idx_project_id (project_id),
  68. INDEX idx_budget_id (budget_id),
  69. INDEX idx_item_id (item_id),
  70. INDEX idx_item_code (item_code),
  71. INDEX idx_created_at (created_at)
  72. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目定额表';
  73. -- 创建日志表
  74. CREATE TABLE IF NOT EXISTS sys_log (
  75. id INT AUTO_INCREMENT PRIMARY KEY,
  76. username VARCHAR(255) NOT NULL COMMENT '用户名',
  77. operation_type VARCHAR(50) NOT NULL COMMENT '操作类型',
  78. operation_desc VARCHAR(1000) COMMENT '操作描述',
  79. operation_result TINYINT COMMENT '操作结果(0:失败, 1:成功)',
  80. operation_module VARCHAR(100) COMMENT '操作模块',
  81. operation_data TEXT COMMENT '操作数据',
  82. data_changes TEXT COMMENT '数据变更记录',
  83. operation_ip VARCHAR(50) COMMENT '操作IP',
  84. created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  85. INDEX idx_username (username),
  86. INDEX idx_created_at (created_at)
  87. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='操作日志表';