团队作业进度
题目
运维管理子系统
运维管理子系统分为八个模块, 分别是设备故障、 维修工单、巡检计划、巡检工单、保养计划、保养工单、检测计划、检测工单。此模块的开发旨在实现对现场运维作业的全流程监管,管理人员能及时反馈客服设备、机电设备、电梯设备及消防设备等各类设备出现的故障问题;支持制定各类设备的巡检计划、保养计划、检测计划;支持指派现场工程师处理各类设备维修工单、巡检工单、保养工单及检测工单,并实时跟踪工单的执行进度与完成情况;支持查看业务流程图、处理时间线及处理流程图等;提供查询、高级查询、故障报修、工单指派、新增计划、启用计划、停用计划、批量启用、批量停用及批量导出等功能。
2.2.1 设备故障
此模块支持管理人员对各类设备进行故障报修; 故障报修方式为自主报修(管理人员) 、电话报修(由监控调度中心统一派发设备故障工单) ;维修过程中,支持上传现场照片(修复前) ,且拍摄的照片均为带水印实时拍摄(显示年月日时分秒) ;系统会自动对现场工程师上传的照片进行智能审核 (设置最低拍摄张数、照片模糊程度较低将被自动驳回,提示上传失败) 。
2.2.2 维修工单
此模块支持查看各类设备维修工单的故障设备信息、 备件申请信息、设备维修信息及执行完成进度等;支持维修前阅读维修安全须知(弹窗方式,播放声音朗读内容且持续时长 1 分钟) ;支持查看处理时间线及处理流程图 (待处理→处理中→已完成→已关闭) ;支持查看维修照片(修复后) ,且拍摄的照片均为带水印实时拍摄(显示年月日时分秒) ;系统会自动对现场工程师上传的照片进行智能审核(设置最低拍摄张数、照片模糊程度较低将被自动驳回,提示上传失败) 。
2.2.3 巡检计划
此模块支持创建、编辑各类设备的巡检计划;支持按起始时间、截止时间及巡检频度(如日、月、季度、半年、年)自动/手动生成巡检计划;通过电子围栏、停留时长及人员定位等技术手段,当现场工程师在围栏内持续停留大于设定最短时间(如 2分钟) ,方可激活设备状态选项(正常/异常) ;支持定义每个区域合理检查时长。
2.2.4 巡检工单
此模块支持查看各类设备巡检工单的设备巡检信息、 巡检设备明细及执行完成进度等;支持查看处理时间线及处理流程图(待处理→处理中→已完成→已关闭) ;支持查看巡检照片(巡检时) , 且拍摄的照片均为带水印实时拍摄 (显示年月日时分秒) ;
系统会自动对现场工程师上传的照片进行智能审核 (设置最低拍摄张数、照片模糊程度较低将被自动驳回,提示上传失败) 。
2.2.5 保养计划
此模块支持创建、编辑各类设备的保养计划;支持按起始时间、截止时间及保养频度(如日、月、季度、半年、年)自动/手动生成保养计划;通过电子围栏、停留时长及人员定位等技术手段,当现场工程师在围栏内持续停留大于设定最短时间(如 2分钟) ,方可激活保养状态选项(已完成/未完成) ;支持定义每个区域合理保养时长。
2.2.6 保养工单
此模块支持查看各类设备保养工单的保养设备明细、 设备保养项点及执行完成进度等;支持保养前阅读保养安全须知(弹窗方式,播放声音朗读内容且持续时长 1 分钟) ;支持查看处理时间线及处理流程图(待处理→处理中→已完成→已关闭) ;支持查看保养照片(保养前/保养后) ,且拍摄的照片均为带水印实时拍摄(显示年月日时分秒) ;系统会自动对现场工程师上传的照片进行智能审核(设置最低拍摄张数、照片模糊程度较低将被自动驳回,提示上传失败) 。
2.2.7 检测计划
此模块支持创建、编辑消防设备的检测计划;支持按起始时间、截止时间及检测频度(如日、月、季度、半年、年)自动/手动生成检测计划;通过电子围栏、停留时长及人员定位等技术手段,当现场工程师在围栏内持续停留大于设定最短时间(如 2分钟) ,方可激活设备状态选项(如正常/异常) ;支持定义每个区域合理检测时长。
2.2.8 检测工单
数据库设计
-- 维修工单表
CREATE TABLE `repair_order` (
`id` bigint NOT NULL AUTO_INCREMENT,
`order_code` varchar(64) NOT NULL COMMENT '工单编号',
`fault_id` bigint NOT NULL COMMENT '故障ID',
`assignee_id` bigint DEFAULT NULL COMMENT '指派工程师ID',
`assign_time` datetime DEFAULT NULL COMMENT '指派时间',
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
`end_time` datetime DEFAULT NULL COMMENT '完成时间',
`status` tinyint DEFAULT '0' COMMENT '状态(0-待处理,1-处理中,2-已完成,3-已关闭)',
`result_desc` text COMMENT '处理结果描述',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_fault_id` (`fault_id`),
KEY `idx_status` (`status`)
);
-- 设备故障表
CREATE TABLE `device_fault` (
`id` bigint NOT NULL AUTO_INCREMENT,
`fault_code` varchar(64) NOT NULL COMMENT '故障编号',
`device_id` bigint NOT NULL COMMENT '设备ID',
`fault_type` varchar(32) NOT NULL COMMENT '故障类型',
`fault_desc` text COMMENT '故障描述',
`report_type` tinyint DEFAULT '1' COMMENT '报修方式(1-自主报修,2-电话报修)',
`report_user_id` bigint DEFAULT NULL COMMENT '报修人ID',
`report_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '报修时间',
`status` tinyint DEFAULT '0' COMMENT '状态(0-待处理,1-处理中,2-已完成,3-已关闭)',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_device_id` (`device_id`),
KEY `idx_status` (`status`)
);
-- 巡检计划表
CREATE TABLE `inspection_plan` (
`id` bigint NOT NULL AUTO_INCREMENT,
`plan_code` varchar(64) NOT NULL COMMENT '计划编号',
`plan_name` varchar(128) NOT NULL COMMENT '计划名称',
`device_type` varchar(32) NOT NULL COMMENT '设备类型',
`start_date` date NOT NULL COMMENT '开始日期',
`end_date` date DEFAULT NULL COMMENT '结束日期',
`frequency` varchar(16) NOT NULL COMMENT '巡检频度(日/周/月/季/半年/年)',
`duration` int DEFAULT NULL COMMENT '合理检查时长(分钟)',
`status` tinyint DEFAULT '1' COMMENT '状态(1-启用,0-停用)',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
);
-- 巡检工单表
CREATE TABLE `inspection_order` (
`id` bigint NOT NULL AUTO_INCREMENT,
`order_code` varchar(64) NOT NULL COMMENT '工单编号',
`plan_id` bigint DEFAULT NULL COMMENT '计划ID',
`device_id` bigint NOT NULL COMMENT '设备ID',
`assignee_id` bigint DEFAULT NULL COMMENT '指派工程师ID',
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
`end_time` datetime DEFAULT NULL COMMENT '完成时间',
`status` tinyint DEFAULT '0' COMMENT '状态(0-待处理,1-处理中,2-已完成,3-已关闭)',
`device_status` varchar(16) DEFAULT NULL COMMENT '设备状态(正常/异常)',
`result_desc` text COMMENT '巡检结果描述',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_plan_id` (`plan_id`),
KEY `idx_device_id` (`device_id`),
KEY `idx_status` (`status`)
);
-- 检测计划表
CREATE TABLE `detection_plan` (
`id` bigint NOT NULL AUTO_INCREMENT,
`plan_code` varchar(64) NOT NULL COMMENT '计划编号',
`plan_name` varchar(128) NOT NULL COMMENT '计划名称',
`device_type` varchar(32) NOT NULL COMMENT '设备类型(消防设备)',
`start_time` datetime NOT NULL COMMENT '开始时间',
`end_time` datetime NOT NULL COMMENT '结束时间',
`frequency` varchar(16) NOT NULL COMMENT '检测频度(日、月、季度、半年、年)',
`duration` int DEFAULT NULL COMMENT '合理检测时长(分钟)',
`min_stay_time` int DEFAULT '2' COMMENT '最短停留时间(分钟)',
`status` tinyint DEFAULT '1' COMMENT '状态(0-停用,1-启用)',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_device_type` (`device_type`),
KEY `idx_status` (`status`)
);
-- 检测工单表
CREATE TABLE `detection_order` (
`id` bigint NOT NULL AUTO_INCREMENT,
`order_code` varchar(64) NOT NULL COMMENT '工单编号',
`plan_id` bigint DEFAULT NULL COMMENT '计划ID',
`device_id` bigint NOT NULL COMMENT '设备ID',
`assignee_id` bigint DEFAULT NULL COMMENT '指派工程师ID',
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
`end_time` datetime DEFAULT NULL COMMENT '完成时间',
`status` tinyint DEFAULT '0' COMMENT '状态(0-待处理,1-处理中,2-已完成,3-已关闭)',
`device_status` varchar(16) DEFAULT NULL COMMENT '设备状态(正常/异常)',
`result_desc` text COMMENT '检测结果描述',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_plan_id` (`plan_id`),
KEY `idx_device_id` (`device_id`),
KEY `idx_status` (`status`)
);
-- 保养计划表
CREATE TABLE `maintenance_plan` (
`id` bigint NOT NULL AUTO_INCREMENT,
`plan_code` varchar(64) NOT NULL COMMENT '计划编号',
`plan_name` varchar(128) NOT NULL COMMENT '计划名称',
`device_type` varchar(32) NOT NULL COMMENT '设备类型',
`start_time` datetime NOT NULL COMMENT '开始时间',
`end_time` datetime NOT NULL COMMENT '结束时间',
`frequency` varchar(16) NOT NULL COMMENT '保养频度(日、月、季度、半年、年)',
`duration` int DEFAULT NULL COMMENT '合理保养时长(分钟)',
`min_stay_time` int DEFAULT '2' COMMENT '最短停留时间(分钟)',
`status` tinyint DEFAULT '1' COMMENT '状态(0-停用,1-启用)',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_device_type` (`device_type`),
KEY `idx_status` (`status`)
);
-- 保养工单表
CREATE TABLE `maintenance_order` (
`id` bigint NOT NULL AUTO_INCREMENT,
`order_code` varchar(64) NOT NULL COMMENT '工单编号',
`plan_id` bigint DEFAULT NULL COMMENT '计划ID',
`device_id` bigint NOT NULL COMMENT '设备ID',
`assignee_id` bigint DEFAULT NULL COMMENT '指派工程师ID',
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
`end_time` datetime DEFAULT NULL COMMENT '完成时间',
`status` tinyint DEFAULT '0' COMMENT '状态(0-待处理,1-处理中,2-已完成,3-已关闭)',
`maintenance_status` varchar(16) DEFAULT NULL COMMENT '保养状态(已完成/未完成)',
`result_desc` text COMMENT '保养结果描述',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_plan_id` (`plan_id`),
KEY `idx_device_id` (`device_id`),
KEY `idx_status` (`status`)
);
-- 巡检工单表
CREATE TABLE `inspection_order` (
`id` bigint NOT NULL AUTO_INCREMENT,
`order_code` varchar(64) NOT NULL COMMENT '工单编号',
`plan_id` bigint DEFAULT NULL COMMENT '计划ID',
`device_id` bigint NOT NULL COMMENT '设备ID',
`assignee_id` bigint DEFAULT NULL COMMENT '指派工程师ID',
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
`end_time` datetime DEFAULT NULL COMMENT '完成时间',
`status` tinyint DEFAULT '0' COMMENT '状态(0-待处理,1-处理中,2-已完成,3-已关闭)',
`device_status` varchar(16) DEFAULT NULL COMMENT '设备状态(正常/异常)',
`result_desc` text COMMENT '巡检结果描述',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_plan_id` (`plan_id`),
KEY `idx_device_id` (`device_id`),
KEY `idx_status` (`status`)
);
CREATE TABLE `user` (
`id` bigint NOT NULL AUTO_INCREMENT,
`username` varchar(64) NOT NULL COMMENT '用户名',
`password` varchar(128) NOT NULL COMMENT '密码(加密存储)',
`real_name` varchar(64) NOT NULL COMMENT '真实姓名',
`phone` varchar(20) COMMENT '手机号',
`email` varchar(128) COMMENT '邮箱',
`employee_id` varchar(32) COMMENT '工号',
`department_id` bigint COMMENT '所属部门ID',
`position_id` bigint COMMENT '职位ID',
`role_id` bigint NOT NULL COMMENT '角色ID',
`status` tinyint DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
`last_login_time` datetime COMMENT '最后登录时间',
`face_image` varchar(255) COMMENT '人脸识别照片路径',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_username` (`username`),
UNIQUE KEY `idx_employee_id` (`employee_id`),
KEY `idx_department_id` (`department_id`),
KEY `idx_role_id` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
CREATE TABLE `role` (
`id` bigint NOT NULL AUTO_INCREMENT,
`name` varchar(64) NOT NULL COMMENT '角色名称',
`code` varchar(64) NOT NULL COMMENT '角色编码',
`description` varchar(255) COMMENT '角色描述',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';
CREATE TABLE `department` (
`id` bigint NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL COMMENT '部门名称',
`code` varchar(64) NOT NULL COMMENT '部门编码',
`parent_id` bigint COMMENT '父部门ID',
`leader_id` bigint COMMENT '负责人ID',
`order_num` int DEFAULT 0 COMMENT '排序号',
`status` tinyint DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_code` (`code`),
KEY `idx_parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';
CREATE TABLE `position` (
`id` bigint NOT NULL AUTO_INCREMENT,
`name` varchar(64) NOT NULL COMMENT '职位名称',
`code` varchar(64) NOT NULL COMMENT '职位编码',
`description` varchar(255) COMMENT '职位描述',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='职位表';
CREATE TABLE `user_role` (
`id` bigint NOT NULL AUTO_INCREMENT,
`user_id` bigint NOT NULL COMMENT '用户ID',
`role_id` bigint NOT NULL COMMENT '角色ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_user_role` (`user_id`, `role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关联表';
INSERT INTO `role` (`name`, `code`, `description`) VALUES
('系统管理员', 'admin', '系统最高权限管理员'),
('管理人员', 'manager', '负责设备管理和工单派发'),
('班组长', 'team_leader', '负责工单审核和初级验收'),
('工区长', 'area_leader', '负责工单最终审核和验收'),
('车站主管领导', 'station_director', '负责签字确认和满意度评分'),
('现场工程师', 'engineer', '负责执行维修、巡检、保养等工作'),
('监控调度人员', 'dispatcher', '负责电话报修工单派发'),
('二级维修人员', 'repair_technician', '专门负责备件维修'),
('库管人员', 'storekeeper', '负责备件库存管理');
-- 修改数据库表结构
ALTER TABLE `device_fault`
ADD COLUMN `reporter_name` varchar(50) COMMENT '报修人姓名',
ADD COLUMN `contact_phone` varchar(20) COMMENT '联系电话';
drop table repairManager;
create table repairManager(
planId int null comment '工单编号',
name varchar(20) null comment '设备名称',
code varchar(20) null comment '设备编号',
type varchar(20) null comment '设备类型',
static2 varchar(02) null comment '工单状态',
description varchar(600) null comment '故障描述',
location varchar(20) null comment '位置',
repairer varchar(20) null comment '报修人',
repairTime varchar(20) null comment '报修时间',
image varchar(255) null comment '图片',
fault_code varchar(64) null comment '故障编号',
fault_type varchar(32) null comment '故障类型',
report_type tinyint default 1 null comment '报修方式(1-自主报修,2-电话报修)',
report_time datetime default CURRENT_TIMESTAMP null comment '报修时间',
status tinyint default 0 null comment '状态(0-待处理,1-处理中,2-已完成,3-已关闭)',
create_time datetime default CURRENT_TIMESTAMP null,
update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP,
reporter_name varchar(50) null comment '报修人姓名',
contact_phone varchar(20) null comment '联系电话'
);
ALTER TABLE repairmanager MODIFY COLUMN repairTime VARCHAR(255);

浙公网安备 33010602011771号