07-property-maintenance-module.sql 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  1. -- ==========================================
  2. -- 物业报修管理模块数据库脚本
  3. -- 版本:V1.0.2
  4. -- 功能:物业报修管理模块完整表结构(表名规范化调整)
  5. -- 作者:Cursor AI 辅助
  6. -- 时间:2025-01-23
  7. -- 依据文档:docs/业务模块/property-maintenance/技术设计/数据库设计.md
  8. -- 表名规范:使用hq_前缀标识后勤管理模块
  9. -- ==========================================
  10. -- 设置字符集
  11. SET NAMES utf8mb4;
  12. SET FOREIGN_KEY_CHECKS = 0;
  13. -- ----------------------------
  14. -- Table structure for hq_pm_repair_order
  15. -- ----------------------------
  16. DROP TABLE IF EXISTS `hq_pm_repair_order`;
  17. CREATE TABLE `hq_pm_repair_order` (
  18. -- 标准基础字段(必须)
  19. `id` bigint(20) NOT NULL COMMENT '主键ID',
  20. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  21. `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
  22. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  23. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  24. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  25. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  26. `deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
  27. -- 业务基础信息
  28. `order_no` varchar(50) NOT NULL COMMENT '工单编号,格式:RO+年月日+4位流水号',
  29. `title` varchar(200) NOT NULL COMMENT '报修标题',
  30. `description` text NOT NULL COMMENT '问题描述',
  31. `repair_location` varchar(200) NOT NULL COMMENT '报修地点',
  32. -- 分类和紧急程度
  33. `category_id` bigint(20) NOT NULL COMMENT '维修类型ID,关联hq_pm_repair_category.id',
  34. `priority_level` tinyint(1) NOT NULL DEFAULT 3 COMMENT '紧急程度:1-非常紧急,2-紧急,3-一般,4-不紧急,5-可延后',
  35. `expected_finish_time` datetime DEFAULT NULL COMMENT '期望完成时间',
  36. -- 报修人信息
  37. `reporter_id` bigint(20) NOT NULL COMMENT '报修人ID,关联sys_user.id',
  38. `reporter_name` varchar(50) NOT NULL COMMENT '报修人姓名',
  39. `reporter_phone` varchar(20) NOT NULL COMMENT '报修人电话',
  40. `reporter_dept` varchar(100) DEFAULT NULL COMMENT '报修人部门',
  41. -- 工单状态和处理信息
  42. `order_status` char(1) NOT NULL DEFAULT '1' COMMENT '工单状态:1-待分派,2-已分派,3-进行中,4-已完成,5-已评价,6-已归档,9-已取消',
  43. `assign_time` datetime DEFAULT NULL COMMENT '分派时间',
  44. `assignee_id` bigint(20) DEFAULT NULL COMMENT '分派维修员ID,关联sys_user.id',
  45. `assignee_name` varchar(50) DEFAULT NULL COMMENT '分派维修员姓名',
  46. `assign_remark` varchar(500) DEFAULT NULL COMMENT '分派备注说明',
  47. -- 处理时间信息
  48. `start_time` datetime DEFAULT NULL COMMENT '开始处理时间',
  49. `finish_time` datetime DEFAULT NULL COMMENT '完成时间',
  50. `total_duration` int(11) DEFAULT NULL COMMENT '总处理时长(分钟)',
  51. -- 处理结果
  52. `repair_result` text DEFAULT NULL COMMENT '维修结果描述',
  53. `used_materials` varchar(500) DEFAULT NULL COMMENT '使用材料清单',
  54. `follow_suggestions` varchar(500) DEFAULT NULL COMMENT '后续建议',
  55. -- 评价相关
  56. `evaluation_score` decimal(3,1) DEFAULT NULL COMMENT '综合评价得分(1.0-5.0)',
  57. `evaluation_time` datetime DEFAULT NULL COMMENT '评价时间',
  58. -- 统计字段
  59. `attachment_count` int(11) DEFAULT 0 COMMENT '附件数量',
  60. `progress_count` int(11) DEFAULT 0 COMMENT '进度记录数量',
  61. -- 其他字段
  62. `cancel_reason` varchar(500) DEFAULT NULL COMMENT '取消原因',
  63. `remark` varchar(500) DEFAULT NULL COMMENT '备注信息',
  64. -- 主键和索引
  65. PRIMARY KEY (`id`) USING BTREE,
  66. UNIQUE KEY `uk_order_no` (`order_no`, `tenant_id`),
  67. KEY `idx_tenant_id` (`tenant_id`),
  68. KEY `idx_deleted` (`deleted`),
  69. KEY `idx_order_status` (`order_status`),
  70. KEY `idx_priority_level` (`priority_level`),
  71. KEY `idx_create_time` (`create_time`),
  72. KEY `idx_reporter_id` (`reporter_id`),
  73. KEY `idx_assignee_id` (`assignee_id`),
  74. KEY `idx_category_id` (`category_id`),
  75. KEY `idx_assign_time` (`assign_time`),
  76. KEY `idx_finish_time` (`finish_time`),
  77. KEY `idx_tenant_status` (`tenant_id`, `order_status`, `deleted`)
  78. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报修工单表';
  79. -- ----------------------------
  80. -- Table structure for hq_pm_repair_attachment
  81. -- ----------------------------
  82. DROP TABLE IF EXISTS `hq_pm_repair_attachment`;
  83. CREATE TABLE `hq_pm_repair_attachment` (
  84. -- 标准基础字段(必须)
  85. `id` bigint(20) NOT NULL COMMENT '主键ID',
  86. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  87. `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
  88. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  89. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  90. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  91. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  92. `deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
  93. -- 关联信息
  94. `order_id` bigint(20) DEFAULT NULL COMMENT '报修工单ID,关联hq_pm_repair_order.id',
  95. -- 文件信息
  96. `file_name` varchar(200) NOT NULL COMMENT '文件原始名称',
  97. `file_path` varchar(500) NOT NULL COMMENT '文件存储路径',
  98. `file_size` bigint(20) NOT NULL COMMENT '文件大小(字节)',
  99. `file_type` varchar(20) NOT NULL COMMENT '文件类型:image-图片,video-视频',
  100. `file_extension` varchar(10) NOT NULL COMMENT '文件扩展名',
  101. `file_mime_type` varchar(100) DEFAULT NULL COMMENT '文件MIME类型',
  102. -- 上传信息
  103. `upload_stage` char(1) NOT NULL DEFAULT '1' COMMENT '上传阶段:1-报修申请,2-维修过程,3-完成确认',
  104. `uploader_id` bigint(20) NOT NULL COMMENT '上传人ID,关联sys_user.id',
  105. `uploader_name` varchar(50) NOT NULL COMMENT '上传人姓名',
  106. -- 文件处理
  107. `thumbnail_path` varchar(500) DEFAULT NULL COMMENT '缩略图路径(图片文件)',
  108. `duration` int(11) DEFAULT NULL COMMENT '时长(视频文件,秒)',
  109. `resolution` varchar(20) DEFAULT NULL COMMENT '分辨率(如:1920x1080)',
  110. -- 业务信息
  111. `description` varchar(200) DEFAULT NULL COMMENT '文件描述说明',
  112. `sort_order` int(11) DEFAULT 0 COMMENT '排序顺序',
  113. -- 主键和索引
  114. PRIMARY KEY (`id`) USING BTREE,
  115. KEY `idx_tenant_id` (`tenant_id`),
  116. KEY `idx_deleted` (`deleted`),
  117. KEY `idx_order_id` (`order_id`),
  118. KEY `idx_upload_stage` (`upload_stage`),
  119. KEY `idx_uploader_id` (`uploader_id`),
  120. KEY `idx_create_time` (`create_time`),
  121. KEY `idx_file_type` (`file_type`),
  122. KEY `idx_order_stage` (`order_id`, `upload_stage`)
  123. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报修附件表';
  124. -- ----------------------------
  125. -- Table structure for hq_pm_repair_progress
  126. -- ----------------------------
  127. DROP TABLE IF EXISTS `hq_pm_repair_progress`;
  128. CREATE TABLE `hq_pm_repair_progress` (
  129. -- 标准基础字段(必须)
  130. `id` bigint(20) NOT NULL COMMENT '主键ID',
  131. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  132. `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
  133. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  134. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  135. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  136. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  137. `deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
  138. -- 关联信息
  139. `order_id` bigint(20) NOT NULL COMMENT '报修工单ID,关联hq_pm_repair_order.id',
  140. -- 进度信息
  141. `progress_type` char(1) NOT NULL COMMENT '进度类型:1-工单分派,2-接收确认,3-到达现场,4-开始维修,5-进度更新,6-完成维修,7-用户评价,8-工单归档,9-其他',
  142. `progress_status` varchar(50) NOT NULL COMMENT '进度状态描述',
  143. `progress_detail` text DEFAULT NULL COMMENT '进度详细描述',
  144. -- 操作人信息
  145. `operator_id` bigint(20) NOT NULL COMMENT '操作人ID,关联sys_user.id',
  146. `operator_name` varchar(50) NOT NULL COMMENT '操作人姓名',
  147. `operator_role` varchar(20) NOT NULL COMMENT '操作人角色:user-用户,admin-管理员,worker-维修员',
  148. -- 位置信息
  149. `location_info` varchar(200) DEFAULT NULL COMMENT '操作位置信息',
  150. `gps_latitude` decimal(10,7) DEFAULT NULL COMMENT 'GPS纬度',
  151. `gps_longitude` decimal(10,7) DEFAULT NULL COMMENT 'GPS经度',
  152. -- 时间信息
  153. `operation_time` datetime NOT NULL COMMENT '操作时间',
  154. `estimated_duration` int(11) DEFAULT NULL COMMENT '预计耗时(分钟)',
  155. -- 附加信息
  156. `attachment_ids` varchar(500) DEFAULT NULL COMMENT '关联附件ID列表(逗号分隔)',
  157. `next_step` varchar(200) DEFAULT NULL COMMENT '下一步计划',
  158. `issues_encountered` varchar(500) DEFAULT NULL COMMENT '遇到的问题',
  159. `materials_needed` varchar(200) DEFAULT NULL COMMENT '需要的材料',
  160. -- 其他信息
  161. `remark` varchar(500) DEFAULT NULL COMMENT '备注信息',
  162. -- 主键和索引
  163. PRIMARY KEY (`id`) USING BTREE,
  164. KEY `idx_tenant_id` (`tenant_id`),
  165. KEY `idx_deleted` (`deleted`),
  166. KEY `idx_order_id` (`order_id`),
  167. KEY `idx_progress_type` (`progress_type`),
  168. KEY `idx_operator_id` (`operator_id`),
  169. KEY `idx_operation_time` (`operation_time`),
  170. KEY `idx_create_time` (`create_time`),
  171. KEY `idx_order_time` (`order_id`, `operation_time`)
  172. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='维修进度表';
  173. -- ----------------------------
  174. -- Table structure for hq_pm_service_evaluation
  175. -- ----------------------------
  176. DROP TABLE IF EXISTS `hq_pm_service_evaluation`;
  177. CREATE TABLE `hq_pm_service_evaluation` (
  178. -- 标准基础字段(必须)
  179. `id` bigint(20) NOT NULL COMMENT '主键ID',
  180. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  181. `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
  182. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  183. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  184. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  185. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  186. `deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
  187. -- 关联信息
  188. `order_id` bigint(20) NOT NULL COMMENT '报修工单ID,关联hq_pm_repair_order.id',
  189. `evaluator_id` bigint(20) NOT NULL COMMENT '评价人ID,关联sys_user.id',
  190. `evaluator_name` varchar(50) NOT NULL COMMENT '评价人姓名',
  191. `evaluated_worker_id` bigint(20) NOT NULL COMMENT '被评价维修员ID,关联sys_user.id',
  192. `evaluated_worker_name` varchar(50) NOT NULL COMMENT '被评价维修员姓名',
  193. -- 评价得分(1-5星,支持小数)
  194. `overall_score` decimal(3,1) NOT NULL COMMENT '综合评价得分(1.0-5.0)',
  195. `quality_score` decimal(3,1) NOT NULL COMMENT '维修质量得分(1.0-5.0)',
  196. `attitude_score` decimal(3,1) NOT NULL COMMENT '服务态度得分(1.0-5.0)',
  197. `response_speed_score` decimal(3,1) NOT NULL COMMENT '响应速度得分(1.0-5.0)',
  198. `communication_score` decimal(3,1) NOT NULL COMMENT '沟通效果得分(1.0-5.0)',
  199. -- 评价内容
  200. `evaluation_content` text DEFAULT NULL COMMENT '文字评价内容',
  201. `satisfaction_level` char(1) NOT NULL COMMENT '满意度等级:1-非常满意,2-满意,3-一般,4-不满意,5-非常不满意',
  202. -- 评价设置
  203. `is_anonymous` tinyint(1) DEFAULT 0 COMMENT '是否匿名评价(0-实名,1-匿名)',
  204. `is_public` tinyint(1) DEFAULT 1 COMMENT '是否公开显示(0-不公开,1-公开)',
  205. -- 时间信息
  206. `evaluation_time` datetime NOT NULL COMMENT '评价时间',
  207. `service_start_time` datetime DEFAULT NULL COMMENT '服务开始时间',
  208. `service_end_time` datetime DEFAULT NULL COMMENT '服务结束时间',
  209. `service_duration` int(11) DEFAULT NULL COMMENT '服务时长(分钟)',
  210. -- 标签和建议
  211. `positive_tags` varchar(200) DEFAULT NULL COMMENT '正面标签(逗号分隔)',
  212. `negative_tags` varchar(200) DEFAULT NULL COMMENT '负面标签(逗号分隔)',
  213. `improvement_suggestions` varchar(500) DEFAULT NULL COMMENT '改进建议',
  214. -- 其他信息
  215. `remark` varchar(500) DEFAULT NULL COMMENT '备注信息',
  216. -- 主键和索引
  217. PRIMARY KEY (`id`) USING BTREE,
  218. UNIQUE KEY `uk_order_evaluation` (`order_id`, `tenant_id`),
  219. KEY `idx_tenant_id` (`tenant_id`),
  220. KEY `idx_deleted` (`deleted`),
  221. KEY `idx_evaluator_id` (`evaluator_id`),
  222. KEY `idx_evaluated_worker_id` (`evaluated_worker_id`),
  223. KEY `idx_overall_score` (`overall_score`),
  224. KEY `idx_satisfaction_level` (`satisfaction_level`),
  225. KEY `idx_evaluation_time` (`evaluation_time`),
  226. KEY `idx_create_time` (`create_time`)
  227. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='服务评价表';
  228. -- ----------------------------
  229. -- Table structure for hq_pm_repair_category
  230. -- ----------------------------
  231. DROP TABLE IF EXISTS `hq_pm_repair_category`;
  232. CREATE TABLE `hq_pm_repair_category` (
  233. -- 标准基础字段(必须)
  234. `id` bigint(20) NOT NULL COMMENT '主键ID',
  235. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  236. `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
  237. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  238. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  239. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  240. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  241. `deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
  242. -- 分类信息
  243. `category_name` varchar(50) NOT NULL COMMENT '类型名称',
  244. `category_code` varchar(20) NOT NULL COMMENT '类型编码',
  245. `category_description` varchar(200) DEFAULT NULL COMMENT '类型描述',
  246. -- 层级结构
  247. `parent_id` bigint(20) DEFAULT 0 COMMENT '父级ID,顶级为0',
  248. `ancestor_ids` varchar(500) DEFAULT '0' COMMENT '祖级列表(逗号分隔)',
  249. `level_depth` tinyint(2) DEFAULT 1 COMMENT '层级深度(1-顶级,2-二级...)',
  250. `children_count` int(11) DEFAULT 0 COMMENT '子类数量',
  251. -- 专业技能
  252. `required_skills` varchar(200) DEFAULT NULL COMMENT '所需专业技能(逗号分隔)',
  253. `skill_level` char(1) DEFAULT '1' COMMENT '技能等级要求:1-初级,2-中级,3-高级',
  254. -- 时间和成本预估
  255. `estimated_duration` int(11) DEFAULT NULL COMMENT '预估维修时长(分钟)',
  256. `standard_cost` decimal(10,2) DEFAULT NULL COMMENT '标准成本(元)',
  257. -- 显示控制
  258. `icon_url` varchar(200) DEFAULT NULL COMMENT '分类图标URL',
  259. `color_code` varchar(10) DEFAULT '#1890ff' COMMENT '分类颜色代码',
  260. `sort_order` int(11) DEFAULT 0 COMMENT '排序顺序',
  261. `status` char(1) DEFAULT '1' COMMENT '状态(0-停用,1-正常)',
  262. -- 统计信息
  263. `usage_count` int(11) DEFAULT 0 COMMENT '使用次数统计',
  264. `last_used_time` datetime DEFAULT NULL COMMENT '最后使用时间',
  265. -- 其他信息
  266. `remark` varchar(500) DEFAULT NULL COMMENT '备注信息',
  267. -- 主键和索引
  268. PRIMARY KEY (`id`) USING BTREE,
  269. UNIQUE KEY `uk_category_code` (`category_code`, `tenant_id`),
  270. KEY `idx_tenant_id` (`tenant_id`),
  271. KEY `idx_deleted` (`deleted`),
  272. KEY `idx_parent_id` (`parent_id`),
  273. KEY `idx_status` (`status`),
  274. KEY `idx_sort_order` (`sort_order`),
  275. KEY `idx_level_depth` (`level_depth`),
  276. KEY `idx_usage_count` (`usage_count`)
  277. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='维修类型表';
  278. -- ----------------------------
  279. -- Table structure for hq_pm_system_config
  280. -- ----------------------------
  281. DROP TABLE IF EXISTS `hq_pm_system_config`;
  282. CREATE TABLE `hq_pm_system_config` (
  283. -- 标准基础字段(必须)
  284. `id` bigint(20) NOT NULL COMMENT '主键ID',
  285. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  286. `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
  287. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  288. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  289. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  290. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  291. `deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
  292. -- 配置信息
  293. `config_key` varchar(100) NOT NULL COMMENT '配置键名',
  294. `config_value` text DEFAULT NULL COMMENT '配置值',
  295. `config_type` varchar(20) NOT NULL COMMENT '配置类型:string-字符串,number-数字,boolean-布尔,json-JSON对象',
  296. `config_group` varchar(50) NOT NULL COMMENT '配置分组:file-文件设置,time-时间设置,workflow-流程设置',
  297. -- 配置描述
  298. `config_name` varchar(100) NOT NULL COMMENT '配置名称',
  299. `config_description` varchar(500) DEFAULT NULL COMMENT '配置描述说明',
  300. `default_value` text DEFAULT NULL COMMENT '默认值',
  301. -- 配置约束
  302. `is_system` tinyint(1) DEFAULT 0 COMMENT '是否系统内置(0-否,1-是,系统内置不可删除)',
  303. `is_editable` tinyint(1) DEFAULT 1 COMMENT '是否可编辑(0-否,1-是)',
  304. `validation_rule` varchar(200) DEFAULT NULL COMMENT '验证规则(正则表达式或范围)',
  305. -- 显示控制
  306. `sort_order` int(11) DEFAULT 0 COMMENT '排序顺序',
  307. `status` char(1) DEFAULT '1' COMMENT '状态(0-停用,1-正常)',
  308. -- 其他信息
  309. `remark` varchar(500) DEFAULT NULL COMMENT '备注信息',
  310. -- 主键和索引
  311. PRIMARY KEY (`id`) USING BTREE,
  312. UNIQUE KEY `uk_config_key` (`config_key`, `tenant_id`),
  313. KEY `idx_tenant_id` (`tenant_id`),
  314. KEY `idx_deleted` (`deleted`),
  315. KEY `idx_config_group` (`config_group`),
  316. KEY `idx_status` (`status`),
  317. KEY `idx_sort_order` (`sort_order`),
  318. KEY `idx_is_system` (`is_system`)
  319. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表';
  320. -- ----------------------------
  321. -- 初始化数据:维修类型分类
  322. -- ----------------------------
  323. INSERT INTO `hq_pm_repair_category` (
  324. `id`, `tenant_id`, `category_name`, `category_code`, `category_description`,
  325. `parent_id`, `level_depth`, `required_skills`, `skill_level`,
  326. `estimated_duration`, `icon_url`, `color_code`, `sort_order`, `status`,
  327. `create_time`, `create_by`
  328. ) VALUES
  329. (1, '000000', '电路维修', 'ELECTRIC', '电路、照明、开关、插座等电气设备维修', 0, 1, '电工技能', '2', 60, '/icons/electric.svg', '#ff6b35', 1, '1', NOW(), 1),
  330. (2, '000000', '水暖维修', 'PLUMBING', '水管、暖气、卫生间、厨房设备维修', 0, 1, '水暖技能', '2', 90, '/icons/plumbing.svg', '#1890ff', 2, '1', NOW(), 1),
  331. (3, '000000', '土建维修', 'CONSTRUCTION', '墙面、地面、天花板、门窗等土建维修', 0, 1, '泥工技能,木工技能', '2', 120, '/icons/construction.svg', '#52c41a', 3, '1', NOW(), 1),
  332. (4, '000000', '设备维修', 'EQUIPMENT', '空调、电梯、监控等设备维修', 0, 1, '设备维修技能', '3', 90, '/icons/equipment.svg', '#722ed1', 4, '1', NOW(), 1),
  333. (5, '000000', '园林维修', 'GARDEN', '绿化、草坪、树木修剪等园林维护', 0, 1, '园林技能', '1', 45, '/icons/garden.svg', '#13c2c2', 5, '1', NOW(), 1),
  334. (6, '000000', '清洁维护', 'CLEANING', '日常清洁、垃圾处理、环境维护', 0, 1, '清洁技能', '1', 30, '/icons/cleaning.svg', '#fa8c16', 6, '1', NOW(), 1);
  335. -- ----------------------------
  336. -- 初始化数据:系统配置参数
  337. -- ----------------------------
  338. INSERT INTO `hq_pm_system_config` (
  339. `id`, `tenant_id`, `config_key`, `config_value`, `config_type`, `config_group`,
  340. `config_name`, `config_description`, `default_value`, `is_system`, `is_editable`,
  341. `sort_order`, `status`, `create_time`, `create_by`
  342. ) VALUES
  343. (1, '000000', 'file.upload.image.max_size', '5242880', 'number', 'file', '图片文件最大大小', '图片文件上传的最大字节数(5MB)', '5242880', 1, 1, 1, '1', NOW(), 1),
  344. (2, '000000', 'file.upload.video.max_size', '52428800', 'number', 'file', '视频文件最大大小', '视频文件上传的最大字节数(50MB)', '52428800', 1, 1, 2, '1', NOW(), 1),
  345. (3, '000000', 'file.upload.allowed_image_types', 'jpg,jpeg,png,gif', 'string', 'file', '允许的图片类型', '允许上传的图片文件类型(逗号分隔)', 'jpg,jpeg,png,gif', 1, 1, 3, '1', NOW(), 1),
  346. (4, '000000', 'file.upload.allowed_video_types', 'mp4,avi,mov', 'string', 'file', '允许的视频类型', '允许上传的视频文件类型(逗号分隔)', 'mp4,avi,mov', 1, 1, 4, '1', NOW(), 1),
  347. (5, '000000', 'workflow.auto_assign_enabled', 'true', 'boolean', 'workflow', '启用自动分派', '是否启用智能自动分派功能', 'false', 1, 1, 11, '1', NOW(), 1),
  348. (6, '000000', 'workflow.auto_archive_days', '7', 'number', 'workflow', '自动归档天数', '工单评价后多少天自动归档', '7', 1, 1, 12, '1', NOW(), 1),
  349. (7, '000000', 'time.priority1_response_hours', '1', 'number', 'time', '非常紧急响应时限', '非常紧急工单的响应时限(小时)', '1', 1, 1, 21, '1', NOW(), 1),
  350. (8, '000000', 'time.priority2_response_hours', '4', 'number', 'time', '紧急响应时限', '紧急工单的响应时限(小时)', '4', 1, 1, 22, '1', NOW(), 1),
  351. (9, '000000', 'time.priority3_response_hours', '24', 'number', 'time', '一般响应时限', '一般工单的响应时限(小时)', '24', 1, 1, 23, '1', NOW(), 1),
  352. (10, '000000', 'time.working_hours_start', '08:00', 'string', 'time', '工作时间开始', '工作日开始时间(HH:mm格式)', '08:00', 1, 1, 31, '1', NOW(), 1),
  353. (11, '000000', 'time.working_hours_end', '18:00', 'string', 'time', '工作时间结束', '工作日结束时间(HH:mm格式)', '18:00', 1, 1, 32, '1', NOW(), 1);
  354. -- ----------------------------
  355. -- 创建核心业务查询索引
  356. -- ----------------------------
  357. -- 报修工单表的核心查询索引
  358. CREATE INDEX idx_status_time ON hq_pm_repair_order (order_status, create_time);
  359. CREATE INDEX idx_assignee_status ON hq_pm_repair_order (assignee_id, order_status);
  360. CREATE INDEX idx_reporter_time ON hq_pm_repair_order (reporter_id, create_time);
  361. CREATE INDEX idx_priority_assign ON hq_pm_repair_order (priority_level, assign_time);
  362. -- 附件表的查询索引
  363. CREATE INDEX idx_uploader_time ON hq_pm_repair_attachment (uploader_id, create_time);
  364. -- 进度表的查询索引
  365. CREATE INDEX idx_order_operation_time ON hq_pm_repair_progress (order_id, operation_time);
  366. CREATE INDEX idx_operator_time ON hq_pm_repair_progress (operator_id, operation_time);
  367. SET FOREIGN_KEY_CHECKS = 1;