07-property-maintenance-module.sql 22 KB

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