场景03:设备维护到期提醒
当前阶段: 🔍 探索中 | 行业: 水利行业 | 关键词: 设备维护、到期提醒、超期报警 | 返回水利场景 →
一、需求探索
1.1 痛点时刻
具体场景:
3月15日,1号主泵按计划应进行季度维护保养。但由于调度员工作繁忙,忘记安排维护任务。
4月20日,1号主泵突然出现异常振动,紧急停机检查后发现轴承磨损严重。如果按时维护,这个问题本可以提前发现并处理。
此时正值汛期,1号主泵停机导致排涝能力下降30%,影响防汛安全。维修耗时3天,费用5万元。如果按时维护,只需半天时间,费用5000元。
业务背景:
- 设备规模:中型水库有50-100台设备(水泵、闸门、启闭机、变压器等)
- 维护周期:日常巡检(每天)、月度保养(每月)、季度维护(每季度)、年度大修(每年)
- 维护方式:自有维护团队 + 外包维护公司
- 管理难点:设备多、周期不同、人员有限、容易遗漏
1.2 核心痛点
问题1:计划管理混乱
- 维护计划记录在Excel表格中,容易遗漏
- 不同设备维护周期不同,难以统一管理
- 人工计算到期时间,容易出错
问题2:提醒不及时
- 没有自动提醒机制,依赖人工记忆
- 到期当天才想起来,来不及安排人员和备件
- 节假日或人员休假时,更容易遗漏
问题3:超期无人知
- 超期后没有报警机制,可能一直拖延
- 不知道哪些设备超期最严重,无法优先处理
- 事后追责困难,责任不清
1.3 业务规则(行业标准)
《水利工程管理条例》相关要求:
- 水利设备应定期维护保养(第20条)
- 维护计划应提前制定并严格执行(第21条)
- 超期未维护应及时报告并处理(第22条)
实际业务规则(基于行业调研):
- 提前7天预警:到期前7天发送预警,提醒安排维护
- 到期当天报警:到期当天发送报警,督促立即执行
- 超期3天紧急:超期3天发送紧急报警,升级到部门负责人
- 重点设备特殊规则:主泵、主变压器等重点设备提前15天预警
成本测算:
- 按时维护成本:人工费 + 备件费,约5000元/次
- 超期维护成本:设备损坏 + 紧急维修 + 影响生产,约5万元/次
- 成本比:1:10(按时维护可节省90%成本)
二、方案设计
2.1 业务规则设计
规则1:到期提醒规则
typescript
// 到期提醒规则
interface MaintenanceDueReminder {
// 维护计划
plan: {
equipmentId: string; // 设备ID
equipmentName: string; // 设备名称
maintenanceType: string; // 维护类型(日常/月度/季度/年度)
dueDate: Date; // 到期日期
lastMaintenanceDate: Date; // 上次维护日期
};
// 提醒级别
reminderLevel: 'advance' | 'due' | 'overdue' | 'urgent';
// 提醒时间
reminderTime: {
advance: Date; // 提前7天(或15天)
due: Date; // 到期当天
overdue: Date; // 超期3天
};
}
// 判定逻辑
function checkMaintenanceDue(
plan: MaintenancePlan,
currentDate: Date,
isKeyEquipment: boolean = false
): MaintenanceDueReminder {
const daysUntilDue = Math.floor(
(plan.dueDate.getTime() - currentDate.getTime()) / (1000 * 60 * 60 * 24)
);
// 重点设备提前15天,普通设备提前7天
const advanceDays = isKeyEquipment ? 15 : 7;
let reminderLevel: 'advance' | 'due' | 'overdue' | 'urgent';
if (daysUntilDue < -3) {
reminderLevel = 'urgent'; // 超期3天以上
} else if (daysUntilDue < 0) {
reminderLevel = 'overdue'; // 超期但不到3天
} else if (daysUntilDue === 0) {
reminderLevel = 'due'; // 到期当天
} else if (daysUntilDue <= advanceDays) {
reminderLevel = 'advance'; // 提前预警
}
return {
plan,
reminderLevel,
reminderTime: {
advance: new Date(plan.dueDate.getTime() - advanceDays * 24 * 60 * 60 * 1000),
due: plan.dueDate,
overdue: new Date(plan.dueDate.getTime() + 3 * 24 * 60 * 60 * 1000)
}
};
}规则2:超期升级规则
typescript
// 超期升级规则
interface OverdueEscalation {
// 超期天数
overdueDays: number;
// 升级级别
escalationLevel: 'normal' | 'warning' | 'urgent';
// 通知对象
notifyTo: string[];
// 自动动作
autoActions: string[];
}
// 判定逻辑
function checkOverdueEscalation(
plan: MaintenancePlan,
currentDate: Date,
isKeyEquipment: boolean = false
): OverdueEscalation {
const overdueDays = Math.floor(
(currentDate.getTime() - plan.dueDate.getTime()) / (1000 * 60 * 60 * 24)
);
if (overdueDays <= 0) {
return { overdueDays: 0, escalationLevel: 'normal', notifyTo: [], autoActions: [] };
}
// 重点设备超期1天即升级,普通设备超期3天升级
const urgentThreshold = isKeyEquipment ? 1 : 3;
let escalationLevel: 'normal' | 'warning' | 'urgent';
let notifyTo: string[];
let autoActions: string[];
if (overdueDays >= urgentThreshold) {
escalationLevel = 'urgent';
notifyTo = ['设备负责人', '部门负责人', '分管领导'];
autoActions = [
'标记为紧急任务',
'自动生成工单',
'每天发送催办通知',
'记录到设备台账'
];
} else {
escalationLevel = 'warning';
notifyTo = ['设备负责人', '部门负责人'];
autoActions = [
'标记为待办任务',
'发送催办通知'
];
}
return {
overdueDays,
escalationLevel,
notifyTo,
autoActions
};
}规则3:自动响应规则
typescript
// 自动响应动作
interface AutoResponse {
// 提前预警(7天或15天)
advance: {
alert: {
channels: ['设备负责人手机', '维护人员手机'];
message: '1号主泵季度维护到期提醒:到期日期3月15日,还有7天';
};
actions: [
'显示维护计划详情(维护内容、所需备件、预计时长)',
'显示历史维护记录',
'提示安排维护人员和备件'
];
};
// 到期当天报警
due: {
alert: {
channels: ['设备负责人手机', '维护人员手机', '调度室大屏'];
sound: '普通报警音';
message: '1号主泵季度维护到期:到期日期今天,请立即安排维护';
};
actions: [
'自动生成维护工单',
'标记为待办任务',
'发送到维护人员任务列表'
];
};
// 超期报警(3天)
overdue: {
alert: {
channels: ['设备负责人手机', '部门负责人手机', '调度室大屏'];
sound: '高优先级报警音';
message: '1号主泵季度维护超期:超期3天,请立即处理';
};
actions: [
'标记为紧急任务',
'升级到部门负责人',
'每天发送催办通知',
'记录到设备台账'
];
};
// 重点设备特殊处理
keyEquipment: {
alert: {
channels: ['设备负责人手机', '部门负责人手机', '分管领导手机'];
message: '1号主泵(重点设备)季度维护到期提醒:到期日期3月15日,还有15天';
};
actions: [
'提前15天预警',
'超期1天即升级到分管领导',
'优先安排维护人员和备件'
];
};
}2.2 技术方案
技术架构
维护计划数据 → 定时任务 → 规则引擎 → 提醒推送
↓
到期检查(每天凌晨)
↓
可视化大屏 + 移动端核心技术点
1. 维护计划管理
- 数据来源:从设备台账导入维护计划
- 计划类型:日常巡检、月度保养、季度维护、年度大修
- 周期计算:根据上次维护日期 + 维护周期,自动计算下次到期日期
2. 到期检查
- 定时任务:每天凌晨1点执行
- 检查逻辑:遍历所有维护计划,计算距离到期日期的天数
- 触发提醒:根据天数触发不同级别的提醒
3. 规则引擎
- 支持多条规则并行判断(提前预警 + 到期报警 + 超期升级)
- 支持规则配置(提前天数、超期天数可调整)
- 支持重点设备特殊规则
4. 提醒推送
- 多通道推送:手机APP、短信、邮件
- 分级推送:不同级别推送给不同人员
- 推送确认:重要提醒必须确认收到
数据模型
typescript
// 维护计划
interface MaintenancePlan {
id: string;
equipmentId: string; // 设备ID
equipmentName: string; // 设备名称
equipmentType: string; // 设备类型(水泵/闸门/变压器等)
isKeyEquipment: boolean; // 是否重点设备
maintenanceType: string; // 维护类型(日常/月度/季度/年度)
maintenanceCycle: number; // 维护周期(天)
lastMaintenanceDate: Date; // 上次维护日期
nextDueDate: Date; // 下次到期日期
responsiblePerson: string; // 负责人
status: 'PENDING' | 'COMPLETED' | 'OVERDUE';
}
// 维护记录
interface MaintenanceRecord {
id: string;
planId: string; // 关联的计划ID
equipmentId: string;
equipmentName: string;
maintenanceType: string;
maintenanceDate: Date; // 维护日期
maintenanceBy: string; // 维护人
maintenanceContent: string; // 维护内容
findings: string; // 发现的问题
actions: string; // 处理措施
nextDueDate: Date; // 下次到期日期
}
// 提醒事件记录
interface ReminderEvent {
id: string;
planId: string; // 关联的计划ID
equipmentId: string;
equipmentName: string;
reminderType: 'ADVANCE' | 'DUE' | 'OVERDUE' | 'URGENT';
reminderLevel: 'normal' | 'warning' | 'urgent';
sentAt: Date; // 发送时间
sentTo: string[]; // 发送对象
confirmedBy: string; // 确认人
confirmedAt: Date; // 确认时间
status: 'SENT' | 'CONFIRMED' | 'IGNORED';
}三、AI辅助开发方案
3.1 技术迁移分析
复用已有资产:矿山场景的"设备巡检到期预警"规则
相似点:
- 都是基于时间的到期提醒
- 都需要提前预警 + 到期报警 + 超期升级
- 都需要分级推送 + 处置闭环
差异点:
| 维度 | 矿山场景(设备巡检) | 水利场景(设备维护) |
|---|---|---|
| 计划类型 | 日常巡检 | 日常/月度/季度/年度 |
| 提前预警 | 提前1天 | 提前7天(重点设备15天) |
| 超期升级 | 超期1天升级 | 超期3天升级(重点设备1天) |
| 重点设备 | 无特殊规则 | 有特殊规则 |
技术复用度:90%
- 规则引擎逻辑:100%复用
- 提醒推送逻辑:100%复用
- 到期检查逻辑:需要调整提前天数和超期天数(10%新开发)
3.2 Cursor Skill设计
Skill名称: inspection-overdue-alert.md(已存在,可直接复用)
复用说明:
- 矿山场景的"设备巡检到期预警"规则可以直接应用到设备维护提醒
- 只需调整提前天数(1天 → 7天/15天)和超期天数(1天 → 3天/1天)
3.3 PROMPT模板
PROMPT 1:生成到期提醒代码
你是一个业务逻辑开发专家。请根据以下业务规则,生成设备维护到期提醒的代码。
## 业务场景
水利设备需要定期维护保养,到期前需要自动提醒,超期未执行时需要升级报警。
## 业务规则
1. 提前预警:
- 普通设备:到期前7天发送预警
- 重点设备:到期前15天发送预警
2. 到期报警:
- 到期当天发送报警
- 自动生成维护工单
3. 超期升级:
- 普通设备:超期3天升级到部门负责人
- 重点设备:超期1天升级到分管领导
- 每天发送催办通知
4. 自动响应:
- 提前预警:提示安排维护人员和备件
- 到期报警:自动生成工单,标记为待办任务
- 超期升级:标记为紧急任务,记录到设备台账
## 数据模型
- MaintenancePlan:维护计划(equipmentId, maintenanceType, nextDueDate)
- MaintenanceRecord:维护记录(planId, maintenanceDate, maintenanceBy)
- ReminderEvent:提醒事件记录(reminderType, reminderLevel, sentTo)
## 技术要求
- 使用TypeScript
- 定时任务:每天凌晨1点执行
- 支持规则配置(提前天数、超期天数可调整)
- 记录所有提醒事件和处置过程
请参考 inspection-overdue-alert.md 中的规则,生成完整的代码实现。PROMPT 2:生成分级推送逻辑
你是一个业务逻辑开发专家。请根据以下业务规则,生成分级推送的代码。
## 业务场景
设备维护到期需要根据提醒级别推送给不同人员,并触发不同的自动动作。
## 业务规则
1. 提前预警(7天或15天):
- 推送到:设备负责人、维护人员
- 动作:显示维护计划详情、提示安排人员和备件
2. 到期报警(当天):
- 推送到:设备负责人、维护人员、调度室大屏
- 动作:自动生成工单、标记为待办任务
3. 超期报警(3天或1天):
- 推送到:设备负责人、部门负责人、分管领导
- 动作:标记为紧急任务、每天催办、记录台账
4. 重点设备特殊处理:
- 提前15天预警
- 超期1天即升级到分管领导
- 优先安排维护
## 技术要求
- 支持多通道推送(APP、短信、邮件)
- 推送确认机制(重要提醒必须确认收到)
- 推送失败重试(最多3次)
请生成完整的代码实现。3.4 开发周期预估
基于已有资产(矿山场景):
原型验证:1天
- Day 1:复用规则引擎,调整提前天数和超期天数
首版上线:2-3天
- Day 2:完善推送逻辑,对接设备台账系统
- Day 3:测试各种提醒场景,部署上线
迭代优化:根据实际使用反馈调整提前天数、优化推送策略
四、开发资产
4.1 Cursor Skill
文件名: inspection-overdue-alert.md(已存在)
复用说明: 矿山场景的"设备巡检到期预警"规则可以直接应用到设备维护提醒,只需调整以下配置:
typescript
// 到期提醒配置
const DUE_REMINDER_CONFIG = {
// 矿山场景:设备巡检
mining: {
advanceDays: 1, // 提前1天预警
overdueDays: 1, // 超期1天升级
keyEquipmentRule: false // 无重点设备特殊规则
},
// 水利场景:设备维护
waterConservancy: {
advanceDays: 7, // 提前7天预警
advanceDaysForKey: 15, // 重点设备提前15天
overdueDays: 3, // 超期3天升级
overdueDaysForKey: 1, // 重点设备超期1天升级
keyEquipmentRule: true // 有重点设备特殊规则
}
};4.2 技术迁移说明
可复用的已有资产:
矿山场景:设备巡检到期预警规则
- 复用:规则引擎框架、提醒推送逻辑、分级预警机制
- 调整:提前天数(1天 → 7天/15天)、超期天数(1天 → 3天/1天)
- 新增:重点设备特殊规则
- 复用度:90%
医废场景:超期预警规则
- 复用:时间窗口判断、升级机制
- 调整:时间窗口(46/47/48小时 → 7天/15天)
- 复用度:80%
需要新开发的部分:
- 重点设备特殊规则(10%)
4.3 实施指南
步骤1:准备环境
bash
# 安装依赖
npm install
# 配置设备台账系统接口
# 编辑 config/equipment-config.json步骤2:使用Cursor Skill
1. 确认 inspection-overdue-alert.md 已存在于 .cursor/rules/
2. 在Cursor中告诉AI:
"参考 inspection-overdue-alert.md 中的业务规则,
实现设备维护到期提醒功能。普通设备提前7天预警、超期3天升级,
重点设备提前15天预警、超期1天升级。"
3. AI会基于规则生成代码步骤3:调整配置
typescript
// config/maintenance-reminder-rules.ts
export const MAINTENANCE_REMINDER_CONFIG = {
advanceDays: 7, // 普通设备提前天数
advanceDaysForKey: 15, // 重点设备提前天数
overdueDays: 3, // 普通设备超期天数
overdueDaysForKey: 1, // 重点设备超期天数
checkTime: '01:00', // 每天检查时间
reminderChannels: ['APP', 'SMS', 'EMAIL'], // 提醒渠道
};步骤4:测试验证
bash
# 运行测试
npm test
# 模拟到期提醒场景
npm run simulate:maintenance-due-reminder五、下一步行动
如果您对这个场景感兴趣
- 快速验证:我们可以用1天时间,基于模拟数据做原型演示
- 技术对接:提供设备台账系统接口文档,评估对接工作量
- 成本预估:根据设备数量、维护计划数量,给出详细报价
相关场景
- 场景01:水库水位异常预警 - 环境监测类场景
- 场景02:闸门控制异常监测 - 设备控制类场景

