日报2025415
今日继续进行团队项目作业
今日完成了数据库的查询语句语法纠正、查询语句的注释、示例测试数据的编写
-- 用户表:users
CREATE TABLE users (
id VARCHAR(8) PRIMARY KEY NOT NULL, -- 工号 主键
username VARCHAR(50) NOT NULL UNIQUE, -- 姓名
phone VARCHAR(20) NOT NULL UNIQUE, -- 电话
email VARCHAR(100) NOT NULL UNIQUE, -- 邮箱
password VARCHAR(255) NOT NULL, -- 密码
role ENUM('engineer', 'admin', 'super_admin') NOT NULL -- 职位
);
-- 设备表:devices
CREATE TABLE devices (
device_id VARCHAR(9) PRIMARY KEY NOT NULL, -- 设备编号
device_type VARCHAR(50) NOT NULL, -- 设备类型
location VARCHAR(100) NOT NULL, -- 设备位置
status ENUM('正常', '故障', '维护中', '报废') DEFAULT '正常' -- 设备状态
);
-- 设备故障表:device_faults
CREATE TABLE device_faults (
fault_id INT PRIMARY KEY AUTO_INCREMENT, -- 主键
device_id VARCHAR(9) NOT NULL, -- 设备编号(关联 devices 表)
fault_desc TEXT NOT NULL, -- 故障描述
report_type ENUM('自主报修', '电话报修') NOT NULL, -- 报修类型
reported_id VARCHAR(8) NOT NULL, -- 报修人工号
reported_name VARCHAR(20) NOT NULL, -- 报修人姓名
reported_phone VARCHAR(11) NOT NULL, -- 报修人电话
status ENUM('待处理', '处理中', '已解决', '已关闭') DEFAULT '待处理' -- 状态
);
-- 维修工单表:repair_orders
CREATE TABLE repair_orders (
orderID INT PRIMARY KEY AUTO_INCREMENT, -- 工单编号
fault_id INT NOT NULL, -- 故障编号(关联 device_faults)
engineer_id VARCHAR(8) NOT NULL, -- 工程师工号(关联 users)
repair_desc TEXT, -- 维修描述
status VARCHAR(20) NOT NULL DEFAULT '待处理', -- 工单状态
safety_notice TEXT, -- 安全须知
photos MEDIUMBLOB -- 维修照片
);
-- 巡检计划表:inspection_plans
CREATE TABLE inspection_plans (
plan_id INT PRIMARY KEY AUTO_INCREMENT, -- 计划ID
device_id VARCHAR(9) NOT NULL, -- 设备编号
start_time DATETIME NOT NULL, -- 开始时间
end_time DATETIME, -- 结束时间
frequency ENUM('日', '周', '月', '季度', '半年', '年') NOT NULL, -- 巡检频率
location VARCHAR(100) -- 巡检位置
);
-- 巡检工单表:inspection_orders
CREATE TABLE inspection_orders (
order_id INT PRIMARY KEY AUTO_INCREMENT, -- 工单ID
plan_id INT NOT NULL, -- 计划ID(关联 inspection_plans)
engineer_id VARCHAR(8) NOT NULL, -- 工程师工号
inspection_desc TEXT, -- 巡检描述
status ENUM('待处理', '处理中', '已完成', '已关闭') DEFAULT '待处理', -- 状态
photos MEDIUMBLOB -- 巡检照片
);
-- 保养计划表:maintenance_plans
CREATE TABLE maintenance_plans (
plan_id INT PRIMARY KEY AUTO_INCREMENT, -- 计划ID
device_id VARCHAR(9) NOT NULL, -- 设备编号
start_time DATETIME NOT NULL, -- 开始时间
end_time DATETIME, -- 结束时间
frequency ENUM('月', '季度', '半年', '年') NOT NULL, -- 保养频率
checklist MEDIUMBLOB -- 保养清单
);
-- 保养工单表:maintenance_orders
CREATE TABLE maintenance_orders (
work_order_id INT PRIMARY KEY AUTO_INCREMENT, -- 工单ID
plan_id INT, -- 计划ID
engineer_id VARCHAR(8) NOT NULL, -- 工程师工号
maintenance_desc TEXT, -- 保养描述
status ENUM('待处理', '处理中', '已完成', '已关闭') DEFAULT '待处理', -- 状态
before_photos MEDIUMBLOB, -- 保养前照片
after_photos MEDIUMBLOB -- 保养后照片
);
-- 检测计划表:testing_plans
CREATE TABLE testing_plans (
plan_id INT PRIMARY KEY AUTO_INCREMENT, -- 计划ID
device_id VARCHAR(9) NOT NULL, -- 设备编号
start_time DATETIME NOT NULL, -- 开始时间
end_time DATETIME, -- 结束时间
frequency ENUM('月', '季度', '半年', '年') NOT NULL, -- 检测频率
location VARCHAR(100) NOT NULL -- 检测位置
);
-- 检测工单表:testing_orders
CREATE TABLE testing_orders (
work_order_id INT PRIMARY KEY AUTO_INCREMENT, -- 工单ID
plan_id INT, -- 计划ID
engineer_id VARCHAR(8) NOT NULL, -- 工程师工号
testing_desc TEXT, -- 检测描述
status ENUM('待处理', '处理中', '已完成', '已关闭') DEFAULT '待处理', -- 状态
photos MEDIUMBLOB -- 检测照片
);
--数据
INSERT INTO users (id, username, phone, email, password, role) VALUES
-- 工程师
('E001',
('E002',
-- 管理人员
('M001',
-- 监控调度中心人员
('C001',
INSERT INTO devices (device_id, device_type, location, status) VALUES
-- 消防设备
('FIRE001', '消防喷淋系统', 'B1层消防通道', '正常'),
('FIRE002', '烟雾报警器', '3楼走廊', '正常'),
-- 电梯设备
('ELEV001', '客梯', '1号楼大厅', '正常'),
('ELEV002', '货梯', '2号楼仓库', '故障'),
-- 机电设备
('MECH001', '中央空调主机', '地下机房', '维护中');
INSERT INTO device_faults (device_id, fault_desc, report_type, reported_id, reported_name, reported_phone, status) VALUES
-- 管理人员自主报修(电梯故障)
('ELEV002', '货梯门无法关闭,蜂鸣器报警', '自主报修', 'M001', '王五', '13800003333', '待处理'),
-- 监控调度中心电话报修(消防设备)
('FIRE001', '喷淋系统水压异常', '电话报修', 'C001', '赵六', '13800004444', '处理中');
INSERT INTO repair_orders (fault_id, engineer_id, repair_desc, status, photos) VALUES
-- 电梯维修工单(需安全确认)
(1, 'E001', '更换电梯门传感器,测试正常', '已解决',
NULL),
-- 消防设备维修工单(照片审核失败)
(2, 'E002', '调整水压阀门', '处理中',
NULL);
INSERT INTO inspection_plans (device_id, start_time, end_time, frequency, location) VALUES
-- 电梯日检计划(电子围栏停留2分钟)
('ELEV001', '2023-10-01 08:00:00', '2023-12-31 18:00:00', '日', '1号楼大厅'),
-- 消防设备季度巡检
('FIRE001', '2023-10-01 09:00:00', NULL, '季度', 'B1层消防通道');
INSERT INTO inspection_orders (plan_id, engineer_id, inspection_desc, status, photos) VALUES
-- 电梯日检完成(位置已验证)
(1, 'E001', '检查电梯运行平稳度,测试紧急按钮', '已完成',
NULL),
-- 消防设备巡检待处理
(2, 'E002', NULL, '待处理', NULL);
INSERT INTO maintenance_plans (device_id, start_time, end_time, frequency, checklist) VALUES
-- 空调主机季度保养
('MECH001', '2023-10-10 09:00:00', '2023-12-31 17:00:00', '季度',
NULL),
-- 货梯月度保养
('ELEV002', '2023-10-05 14:00:00', NULL, '月',
NULL);
INSERT INTO maintenance_orders (plan_id, engineer_id, maintenance_desc, status, before_photos, after_photos) VALUES
-- 空调保养已完成
(1, 'E001', '完成滤网更换和压力检测', '已完成',
NULL,
NULL),
-- 货梯保养待处理
(2, 'E002', NULL, '待处理', NULL, NULL);
INSERT INTO testing_plans (device_id, start_time, end_time, frequency, location) VALUES
-- 消防设备年检
('FIRE001', '2023-11-01 10:00:00', '2023-11-01 12:00:00', '年', 'B1层消防通道'),
-- 烟雾报警器月检
('FIRE002', '2023-10-01 09:00:00', NULL, '月', '3楼走廊');
INSERT INTO testing_orders (plan_id, engineer_id, testing_desc, status, photos) VALUES
-- 消防设备检测超时(触发通知)
(1, 'E001', '水压测试通过', '处理中',
NULL),
-- 烟雾报警器检测正常
(2, 'E002', '灵敏度测试达标', '已完成',
NULL);
遇到的问题
在编写测试数据时不清楚怎么将图片数据以JSON的方式上传到数据库中
解决方法
将图片存储形式改为更适合的存储类型MEDIUMBLOB,然后将测试数据中图片对象设置为暂空后续处理

浙公网安备 33010602011771号