-- ============================================================
|
-- 安全生产模块 - 表结构 + 菜单(电力行业安全生产标准化)
|
-- 生成时间:2026-10-29
|
-- 适用:MySQL 8.4+
|
-- 内容:
|
-- 1. 安全组织架构 safety_org
|
-- 2. 特种作业证台账 safety_certificate(电工证/高压操作证等,到期预警)
|
-- 3. 安全巡检点位 safety_inspection_point
|
-- 4. 安全巡检记录 safety_inspection
|
-- 5. 隐患登记与闭环 safety_hazard(上报-分派-整改-复查)
|
-- 6. 高危作业票 safety_work_permit(动火/高压带电/有限空间等)
|
-- 7. 作业监护记录 safety_work_permit_monitor
|
-- 8. 应急物资台账 safety_material(绝缘/危化/消防)
|
-- 9. 物资出入库流水 safety_material_stock
|
-- 10. 安全培训记录 safety_training
|
-- 11. 消防演练记录 safety_drill
|
-- 12. 事故登记 safety_accident
|
-- 说明:本脚本幂等(IF NOT EXISTS / ON DUPLICATE KEY UPDATE),可重复执行
|
-- ============================================================
|
|
-- ---------- 1. 安全组织架构 ----------
|
CREATE TABLE IF NOT EXISTS `safety_org` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`parent_id` bigint NOT NULL DEFAULT 0 COMMENT '父级编号(0 为顶级)',
|
`name` varchar(100) NOT NULL COMMENT '组织名称',
|
`leader_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名',
|
`leader_phone` varchar(30) DEFAULT NULL COMMENT '负责人电话',
|
`member_names` varchar(500) DEFAULT NULL COMMENT '成员姓名,逗号分隔',
|
`duty` varchar(500) DEFAULT NULL COMMENT '安全职责',
|
`sort` int NOT NULL DEFAULT 0 COMMENT '显示顺序',
|
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0-启用,1-停用',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_parent_id` (`parent_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-组织架构';
|
|
-- ---------- 2. 特种作业证台账(到期自动预警) ----------
|
CREATE TABLE IF NOT EXISTS `safety_certificate` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`employee_name` varchar(50) NOT NULL COMMENT '持证人姓名',
|
`employee_no` varchar(50) DEFAULT NULL COMMENT '工号',
|
`dept_name` varchar(100) DEFAULT NULL COMMENT '所属部门',
|
`cert_type` varchar(50) NOT NULL COMMENT '证件类型:LOW_VOLTAGE_ELECTRICIAN/HIGH_VOLTAGE_OPERATION/WELDING/HOIST/HEIGHT/LIMITED_SPACE/WORK_AT_HEIGHT/OTHER',
|
`cert_no` varchar(64) NOT NULL COMMENT '证件编号',
|
`issuer` varchar(100) DEFAULT NULL COMMENT '发证机关',
|
`issue_date` date DEFAULT NULL COMMENT '发证日期',
|
`expire_date` date NOT NULL COMMENT '有效期至',
|
`review_date` date DEFAULT NULL COMMENT '下次复审日期',
|
`warn_days` int NOT NULL DEFAULT 30 COMMENT '到期预警提前天数',
|
`status` varchar(20) NOT NULL DEFAULT 'VALID' COMMENT '状态:VALID-有效,EXPIRING-即将到期,EXPIRED-已过期,REVOKED-已注销',
|
`attachment` varchar(500) DEFAULT NULL COMMENT '证件扫描件 URL,逗号分隔',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_employee_name` (`employee_name`),
|
KEY `idx_cert_type` (`cert_type`),
|
KEY `idx_expire_date` (`expire_date`),
|
KEY `idx_status` (`status`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-特种作业证台账';
|
|
-- ---------- 3. 安全巡检点位 ----------
|
CREATE TABLE IF NOT EXISTS `safety_inspection_point` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`code` varchar(64) NOT NULL COMMENT '点位编码',
|
`name` varchar(100) NOT NULL COMMENT '点位名称',
|
`point_type` varchar(30) NOT NULL COMMENT '点位类型:HIGH_VOLTAGE_ROOM-高压配电室,UNIT_AREA-机组区,DANGER_CHEMICAL-危化品库,FIRE_AREA-消防重点部位,OTHER-其他',
|
`workshop_name` varchar(100) DEFAULT NULL COMMENT '所属车间/区域',
|
`location` varchar(200) DEFAULT NULL COMMENT '具体位置',
|
`inspect_items` varchar(2000) DEFAULT NULL COMMENT '巡检项目清单,按行分隔',
|
`inspect_cycle` varchar(20) NOT NULL DEFAULT 'DAILY' COMMENT '巡检周期:SHIFT-每班,DAILY-每日,WEEKLY-每周,MONTHLY-每月',
|
`owner_name` varchar(50) DEFAULT NULL COMMENT '责任人',
|
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0-启用,1-停用',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_code` (`code`, `deleted`),
|
KEY `idx_point_type` (`point_type`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-巡检点位';
|
|
-- ---------- 4. 安全巡检记录 ----------
|
CREATE TABLE IF NOT EXISTS `safety_inspection` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`point_id` bigint DEFAULT NULL COMMENT '巡检点位编号',
|
`point_name` varchar(100) DEFAULT NULL COMMENT '点位名称(快照)',
|
`point_type` varchar(30) DEFAULT NULL COMMENT '点位类型(快照)',
|
`inspect_time` datetime NOT NULL COMMENT '巡检时间',
|
`inspector` varchar(50) NOT NULL COMMENT '巡检人',
|
`result` varchar(20) NOT NULL DEFAULT 'NORMAL' COMMENT '巡检结果:NORMAL-正常,ABNORMAL-异常',
|
`content` varchar(2000) DEFAULT NULL COMMENT '巡检内容与情况',
|
`photo_urls` varchar(2000) DEFAULT NULL COMMENT '现场照片 URL,逗号分隔',
|
`hazard_count` int NOT NULL DEFAULT 0 COMMENT '本次发现的隐患数',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_point_id` (`point_id`),
|
KEY `idx_inspect_time` (`inspect_time`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-巡检记录';
|
|
-- ---------- 5. 隐患登记与闭环(上报-分派-整改-复查) ----------
|
CREATE TABLE IF NOT EXISTS `safety_hazard` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`code` varchar(64) NOT NULL COMMENT '隐患编号',
|
`title` varchar(200) NOT NULL COMMENT '隐患标题',
|
`level` varchar(20) NOT NULL DEFAULT 'GENERAL' COMMENT '隐患等级:GENERAL-一般,MAJOR-重大',
|
`source` varchar(30) NOT NULL DEFAULT 'INSPECTION' COMMENT '来源:INSPECTION-巡检发现,SELF_CHECK-自查上报,REPORT-员工上报,EXTERNAL-外部检查',
|
`inspection_id` bigint DEFAULT NULL COMMENT '关联巡检记录编号',
|
`point_id` bigint DEFAULT NULL COMMENT '关联巡检点位编号',
|
`point_name` varchar(100) DEFAULT NULL COMMENT '点位名称',
|
`location` varchar(200) DEFAULT NULL COMMENT '隐患位置',
|
`description` varchar(2000) DEFAULT NULL COMMENT '隐患描述',
|
`photo_urls` varchar(2000) DEFAULT NULL COMMENT '现场照片 URL,逗号分隔(移动端拍照上传)',
|
`reporter` varchar(50) NOT NULL COMMENT '上报人',
|
`report_time` datetime NOT NULL COMMENT '上报时间',
|
`assignee` varchar(50) DEFAULT NULL COMMENT '整改责任人(分派)',
|
`assign_time` datetime DEFAULT NULL COMMENT '分派时间',
|
`rectify_deadline` date DEFAULT NULL COMMENT '整改期限',
|
`rectify_desc` varchar(2000) DEFAULT NULL COMMENT '整改措施与结果',
|
`rectify_photo_urls` varchar(2000) DEFAULT NULL COMMENT '整改后照片 URL,逗号分隔',
|
`rectify_time` datetime DEFAULT NULL COMMENT '整改完成时间',
|
`rechecker` varchar(50) DEFAULT NULL COMMENT '复查人',
|
`recheck_time` datetime DEFAULT NULL COMMENT '复查时间',
|
`recheck_result` varchar(20) DEFAULT NULL COMMENT '复查结论:PASSED-通过,REJECTED-不通过退回整改',
|
`recheck_remark` varchar(500) DEFAULT NULL COMMENT '复查意见',
|
`status` varchar(20) NOT NULL DEFAULT 'REPORTED' COMMENT '状态:REPORTED-已上报,ASSIGNED-已分派,RECTIFYING-整改中,RECHECKING-待复查,CLOSED-已闭环,REJECTED-复查不通过',
|
`close_time` datetime DEFAULT NULL COMMENT '闭环时间',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_code` (`code`, `deleted`),
|
KEY `idx_status` (`status`),
|
KEY `idx_report_time` (`report_time`),
|
KEY `idx_inspection_id` (`inspection_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-隐患登记与闭环';
|
|
-- ---------- 6. 高危作业票 ----------
|
CREATE TABLE IF NOT EXISTS `safety_work_permit` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`code` varchar(64) NOT NULL COMMENT '作业票编号',
|
`permit_type` varchar(30) NOT NULL COMMENT '作业类型:HOT_WORK-动火作业,LIVE_HIGH_VOLTAGE-高压带电作业,LIMITED_SPACE-有限空间作业,WORK_AT_HEIGHT-高处作业,LIFTING-吊装作业,TEMP_ELECTRIC-临时用电作业,OTHER-其他',
|
`title` varchar(200) NOT NULL COMMENT '作业名称',
|
`workshop_name` varchar(100) DEFAULT NULL COMMENT '作业区域/车间',
|
`location` varchar(200) DEFAULT NULL COMMENT '作业地点',
|
`work_content` varchar(2000) DEFAULT NULL COMMENT '作业内容与范围',
|
`applicant` varchar(50) NOT NULL COMMENT '申请人',
|
`apply_time` datetime NOT NULL COMMENT '申请时间',
|
`plan_start_time` datetime NOT NULL COMMENT '计划开始时间',
|
`plan_end_time` datetime NOT NULL COMMENT '计划结束时间',
|
`actual_start_time` datetime DEFAULT NULL COMMENT '实际开始时间',
|
`actual_end_time` datetime DEFAULT NULL COMMENT '实际结束时间',
|
`risk_level` varchar(20) NOT NULL DEFAULT 'NORMAL' COMMENT '风险等级:LOW-低,NORMAL-一般,HIGH-高,VERY_HIGH-极高',
|
`safety_measures` varchar(2000) DEFAULT NULL COMMENT '安全措施',
|
`approver` varchar(50) DEFAULT NULL COMMENT '审批人',
|
`approve_time` datetime DEFAULT NULL COMMENT '审批时间',
|
`approve_comment` varchar(500) DEFAULT NULL COMMENT '审批意见',
|
`guardian` varchar(50) DEFAULT NULL COMMENT '监护人',
|
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态:DRAFT-草稿,PENDING-待审批,APPROVED-已批准,REJECTED-已驳回,IN_PROGRESS-作业中,CLOSED-已完结,CANCELLED-已作废',
|
`attachment` varchar(2000) DEFAULT NULL COMMENT '作业票附件 URL,逗号分隔',
|
`photo_urls` varchar(2000) DEFAULT NULL COMMENT '现场照片 URL,逗号分隔',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_code` (`code`, `deleted`),
|
KEY `idx_permit_type` (`permit_type`),
|
KEY `idx_status` (`status`),
|
KEY `idx_plan_start_time` (`plan_start_time`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-高危作业票';
|
|
-- ---------- 7. 作业监护记录 ----------
|
CREATE TABLE IF NOT EXISTS `safety_work_permit_monitor` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`permit_id` bigint NOT NULL COMMENT '作业票编号',
|
`monitor_time` datetime NOT NULL COMMENT '监护时间',
|
`guardian` varchar(50) NOT NULL COMMENT '监护人',
|
`monitor_content` varchar(1000) DEFAULT NULL COMMENT '监护内容与情况',
|
`abnormal` varchar(500) DEFAULT NULL COMMENT '异常情况与处置',
|
`photo_urls` varchar(2000) DEFAULT NULL COMMENT '现场照片 URL,逗号分隔',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_permit_id` (`permit_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-作业监护记录';
|
|
-- ---------- 8. 应急/安全物资台账 ----------
|
CREATE TABLE IF NOT EXISTS `safety_material` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`code` varchar(64) NOT NULL COMMENT '物资编码',
|
`name` varchar(100) NOT NULL COMMENT '物资名称',
|
`category` varchar(30) NOT NULL COMMENT '类别:INSULATING-电力绝缘,HAZARD_CHEMICAL-危化品,FIRE-消防物资,PPE-劳保用品,OTHER-其他',
|
`spec` varchar(100) DEFAULT NULL COMMENT '规格型号',
|
`unit` varchar(20) NOT NULL DEFAULT '个' COMMENT '计量单位',
|
`stock_qty` decimal(18,3) NOT NULL DEFAULT 0 COMMENT '当前库存数量',
|
`safe_stock` decimal(18,3) NOT NULL DEFAULT 0 COMMENT '安全库存(低于则预警)',
|
`storage_location` varchar(100) DEFAULT NULL COMMENT '存放位置',
|
`expire_date` date DEFAULT NULL COMMENT '有效期至(绝缘/危化品必填)',
|
`validity_months` int DEFAULT NULL COMMENT '有效期月数(如绝缘手套 6 个月)',
|
`manager` varchar(50) DEFAULT NULL COMMENT '保管人',
|
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0-启用,1-停用',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_code` (`code`, `deleted`),
|
KEY `idx_category` (`category`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-应急物资台账';
|
|
-- ---------- 9. 物资出入库流水 ----------
|
CREATE TABLE IF NOT EXISTS `safety_material_stock` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`material_id` bigint NOT NULL COMMENT '物资编号',
|
`material_name` varchar(100) DEFAULT NULL COMMENT '物资名称(快照)',
|
`category` varchar(30) DEFAULT NULL COMMENT '物资类别(快照)',
|
`biz_type` varchar(20) NOT NULL COMMENT '业务类型:IN-入库,OUT-出库',
|
`quantity` decimal(18,3) NOT NULL COMMENT '数量',
|
`stock_before` decimal(18,3) NOT NULL DEFAULT 0 COMMENT '操作前库存',
|
`stock_after` decimal(18,3) NOT NULL DEFAULT 0 COMMENT '操作后库存',
|
`biz_date` date NOT NULL COMMENT '业务日期',
|
`operator` varchar(50) NOT NULL COMMENT '经办人',
|
`receiver` varchar(50) DEFAULT NULL COMMENT '领用人(出库)',
|
`purpose` varchar(200) DEFAULT NULL COMMENT '用途/去向',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_material_id` (`material_id`),
|
KEY `idx_biz_date` (`biz_date`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-物资出入库流水';
|
|
-- ---------- 10. 安全培训记录 ----------
|
CREATE TABLE IF NOT EXISTS `safety_training` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`title` varchar(200) NOT NULL COMMENT '培训主题',
|
`training_type` varchar(30) NOT NULL DEFAULT 'SAFETY' COMMENT '培训类型:SAFETY-安全培训,SKILL-技能培训,LAW-法规宣贯,EMERGENCY-应急演练培训,OTHER-其他',
|
`train_date` date NOT NULL COMMENT '培训日期',
|
`duration_hours` decimal(8,1) DEFAULT NULL COMMENT '培训学时',
|
`trainer` varchar(50) DEFAULT NULL COMMENT '讲师/组织人',
|
`location` varchar(200) DEFAULT NULL COMMENT '培训地点',
|
`participants` varchar(2000) DEFAULT NULL COMMENT '参加人员姓名,逗号分隔',
|
`participant_count` int NOT NULL DEFAULT 0 COMMENT '参加人数',
|
`content` varchar(2000) DEFAULT NULL COMMENT '培训内容',
|
`exam_result` varchar(2000) DEFAULT NULL COMMENT '考核情况',
|
`attachment` varchar(2000) DEFAULT NULL COMMENT '签到表/课件/照片 URL,逗号分隔',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_train_date` (`train_date`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-培训记录';
|
|
-- ---------- 11. 消防演练记录 ----------
|
CREATE TABLE IF NOT EXISTS `safety_drill` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`title` varchar(200) NOT NULL COMMENT '演练名称',
|
`drill_type` varchar(30) NOT NULL DEFAULT 'FIRE' COMMENT '演练类型:FIRE-消防演练,EMERGENCY_EVAC-应急疏散,ELECTRIC_ACCIDENT-触电事故,CHEMICAL_LEAK-危化品泄漏,OTHER-其他',
|
`drill_date` date NOT NULL COMMENT '演练日期',
|
`location` varchar(200) DEFAULT NULL COMMENT '演练地点',
|
`organizer` varchar(50) DEFAULT NULL COMMENT '组织人',
|
`participants` varchar(2000) DEFAULT NULL COMMENT '参加人员姓名,逗号分隔',
|
`participant_count` int NOT NULL DEFAULT 0 COMMENT '参加人数',
|
`plan_desc` varchar(2000) DEFAULT NULL COMMENT '演练方案',
|
`process_desc` varchar(2000) DEFAULT NULL COMMENT '演练过程记录',
|
`summary` varchar(2000) DEFAULT NULL COMMENT '演练总结与改进',
|
`duration_minutes` int DEFAULT NULL COMMENT '演练时长(分钟)',
|
`attachment` varchar(2000) DEFAULT NULL COMMENT '演练照片/记录表 URL,逗号分隔',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_drill_date` (`drill_date`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-消防演练记录';
|
|
-- ---------- 12. 安全事故登记 ----------
|
CREATE TABLE IF NOT EXISTS `safety_accident` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`code` varchar(64) NOT NULL COMMENT '事故编号',
|
`title` varchar(200) NOT NULL COMMENT '事故名称',
|
`accident_type` varchar(30) NOT NULL COMMENT '事故类型:ELECTRIC_SHOCK-触电,FIRE-火灾,FALL-高处坠落,OBJECT_STRIKE-物体打击,MECHANICAL-机械伤害,CHEMICAL-中毒窒息,OTHER-其他',
|
`level` varchar(20) NOT NULL DEFAULT 'GENERAL' COMMENT '事故等级:SLIGHT-轻伤,GENERAL-一般,SEVERE-重伤,MAJOR-重大',
|
`occur_time` datetime NOT NULL COMMENT '发生时间',
|
`location` varchar(200) DEFAULT NULL COMMENT '发生地点',
|
`workshop_name` varchar(100) DEFAULT NULL COMMENT '所属车间/区域',
|
`casualty_desc` varchar(500) DEFAULT NULL COMMENT '伤亡情况',
|
`economic_loss` decimal(18,2) DEFAULT NULL COMMENT '直接经济损失(元)',
|
`involved_persons` varchar(500) DEFAULT NULL COMMENT '涉事人员姓名,逗号分隔',
|
`description` varchar(2000) DEFAULT NULL COMMENT '事故经过',
|
`cause_analysis` varchar(2000) DEFAULT NULL COMMENT '原因分析',
|
`measures` varchar(2000) DEFAULT NULL COMMENT '处理措施与整改要求',
|
`reporter` varchar(50) DEFAULT NULL COMMENT '登记人',
|
`report_time` datetime DEFAULT NULL COMMENT '登记时间',
|
`status` varchar(20) NOT NULL DEFAULT 'REPORTED' COMMENT '状态:REPORTED-已登记,INVESTIGATING-调查中,HANDLED-已处理,CLOSED-已结案',
|
`attachment` varchar(2000) DEFAULT NULL COMMENT '现场照片/调查报告 URL,逗号分隔',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_code` (`code`, `deleted`),
|
KEY `idx_occur_time` (`occur_time`),
|
KEY `idx_accident_type` (`accident_type`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='安全生产-事故登记';
|
|
SELECT '安全生产模块表结构创建完成' AS result;
|