维护计划自动生成规则
适用于水利工程、设备维保、资产运维的周期计划生成与到期提醒场景。
规则文件内容
请复制以下内容,保存为 .cursor/rules/maintenance-plan-scheduler.mdc:
markdown
---
description: 维护计划生成、周期计算与到期提醒业务规则
globs: src/modules/maintenance/**, src/modules/equipment/**, src/modules/schedules/**
---
# 维护计划自动生成业务规则
## 1. 核心原则
- **按设备分层策略**:不同设备类型使用不同维护周期与策略。
- **时间 + 使用量双触发**:支持按日历周期和累计运行量触发维护。
- **到期前预警**:维护窗口前置提醒,避免逾期停机。
## 2. 维护类型定义
- `routine`:日常维护(默认每月)
- `periodic`:定期维护(默认每季度)
- `overhaul`:大修(默认每年)
- `condition_based`:状态触发维护(按异常阈值)
## 3. 计划生成规则
- 新设备入库时自动生成首批维护计划。
- 完成一次维护后自动计算下次计划时间。
- 停用设备不再生成新计划,恢复后按策略重算。
```ts
type CycleType = 'time' | 'usage';
interface PlanRule {
cycleType: CycleType;
cycleValue: number;
}
function calcNextByTime(lastDate: Date, cycleDays: number): Date {
const next = new Date(lastDate);
next.setDate(next.getDate() + cycleDays);
return next;
}4. 周期计算规则
- 时间周期:按
cycle_days计算next_maintenance_at。 - 使用量周期:按累计运行小时
runtime_hours计算触发阈值。 - 同时满足双条件时,取更早到期时间作为计划执行时间。
5. 提醒与升级规则
- 到期前
7天发送首次提醒。 - 到期前
3天发送二次提醒。 - 到期当天发送紧急提醒并标记
urgent。 - 逾期超过
48小时,升级通知设备负责人和运维主管。
6. 执行与闭环规则
- 维护工单必须包含:执行人、维护项、耗材、结果。
- 维护完成后更新设备状态与下一次维护计划。
- 验收不通过时,工单回退重做并保留原因。
7. 数据质量与校验规则
runtime_hours不得回退,异常回退需人工复核。- 同设备同维护类型同周期内不得创建重复计划。
- 缺失关键字段(设备ID、维护类型、周期)禁止发布计划。
8. 数据模型约束
maintenance_plans必须包含:equipment_id,maintenance_type,cycle_type,cycle_value,next_maintenance_at,statusmaintenance_orders必须包含:plan_id,executor_id,started_at,finished_at,result,statusequipment_metrics必须包含:equipment_id,runtime_hours,last_maintenance_at,health_scoremaintenance_notifications必须包含:plan_id,level,channel,sent_at,result
9. 实施注意事项
- 计划计算任务建议日批 + 增量触发结合,避免集中负载。
- 使用量数据来源要统一口径(PLC/传感器/人工录入优先级)。
- 建议输出月度逾期统计,支持运维策略优化。
## 适用场景
- 水利工程设备维护
- 工业设备预防性维保
- 园区资产运维计划管理
