场景01:消防设施检测到期提醒
当前阶段: 🔍 探索中 | 行业: 消防安全 | 关键词: 消防设施、检测管理、到期提醒 | 返回消防场景 →
一、需求探索
1.1 痛点时刻
具体场景:
周一上午10点,消防部门进行例行检查时发现,某商场3号消防栓的年度检测计划应在上周五(5月12日)完成,但消防专员未收到任何提醒。查询后发现该消防栓实际已超期6个月未检测。
此时面临的问题:
- 消防栓已超期6个月,期间如果发生火灾,消防栓是否能正常使用?
- 消防部门当场开具整改通知书,罚款5000元
- 消防专员解释"太忙忘记了",没有自动提醒机制
- 需要立即安排检测,影响商场正常营业
业务背景:
- 设施规模:大型商场/写字楼拥有消防设施200-500个
- 检测周期:消防栓、灭火器每年1次,烟感、喷淋系统每半年1次
- 管理部门:消防专员负责检测计划,安保部门负责日常巡查
- 监管要求:《消防法》要求定期检测,超期未检将被处罚
1.2 核心痛点
问题1:提醒不及时
- 检测计划记录在Excel表格中,依赖人工查看
- 消防专员日常工作繁忙,容易遗忘
- 没有自动提醒机制,发现时往往已超期
问题2:优先级不清
- 所有设施一视同仁,无法区分重点设施
- 消防栓、灭火器等重点设施超期影响更大,但没有特殊提醒
- 不知道哪些设施即将到期,无法提前安排
问题3:责任不清
- 超期后无法追溯谁负责、为什么没提醒
- 消防专员和安保部门互相推诿责任
- 缺少完整的提醒和处理记录
1.3 业务规则(行业标准)
《消防法》相关要求:
- 建筑消防设施应当定期进行检验、检测(第16条)
- 消防设施、器材应当定期组织检验、维修,确保完好有效(第16条)
- 未按规定进行检测的,由消防救援机构责令改正,处五千元以上五万元以下罚款(第60条)
《建筑消防设施检测技术规程》相关要求:
- 消防栓系统每年检测1次
- 自动喷水灭火系统每年检测1次
- 火灾自动报警系统每年检测1次
- 灭火器每年检测1次
实际业务规则(基于行业调研):
- 提前30天预警:检测计划到期前30天 → 推送预警给消防专员
- 到期当天报警:检测计划到期 → 推送报警给消防专员和安保主管
- 超期7天禁用:超期7天未完成 → 设施标记为"待检",禁止使用
- 重点设施特殊处理:消防栓、灭火器、烟感 → 提前60天预警
成本测算:
- 超期成本:罚款5000-50000元 + 整改成本
- 安全风险:超期设施可能失效,影响消防安全
- 声誉损失:被媒体曝光,影响商场声誉
- 平衡点:宁可提前提醒,不可超期未检
二、方案设计
2.1 业务规则设计
规则1:到期判定规则
typescript
// 检测到期判定
interface InspectionDue {
// 判定条件
dueDate: Date; // 计划检测日期
currentDate: Date; // 当前日期
facilityType: string; // 设施类型
priority: 'HIGH' | 'NORMAL'; // 优先级
// 判定结果
status: 'NORMAL' | 'WARNING' | 'ALERT' | 'OVERDUE';
daysRemaining: number; // 剩余天数(负数表示超期)
alertLevel: 'INFO' | 'WARNING' | 'CRITICAL';
}
// 判定逻辑
function checkInspectionDue(
facility: FireFacility,
currentDate: Date
): InspectionDue {
const dueDate = facility.nextInspectionDate;
const daysRemaining = Math.floor(
(dueDate.getTime() - currentDate.getTime()) / (1000 * 60 * 60 * 24)
);
// 重点设施(消防栓、灭火器、烟感)
const isHighPriority = ['消防栓', '灭火器', '烟感'].includes(facility.type);
const warningDays = isHighPriority ? 60 : 30;
if (daysRemaining < -7) {
// 超期7天 → 设施禁用
return {
status: 'OVERDUE',
daysRemaining,
alertLevel: 'CRITICAL',
action: '设施已标记为"待检",禁止使用'
};
} else if (daysRemaining < 0) {
// 已超期 → 报警
return {
status: 'ALERT',
daysRemaining,
alertLevel: 'CRITICAL',
action: '立即安排检测'
};
} else if (daysRemaining === 0) {
// 到期当天 → 报警
return {
status: 'ALERT',
daysRemaining: 0,
alertLevel: 'CRITICAL',
action: '今日必须完成检测'
};
} else if (daysRemaining <= warningDays) {
// 提前预警
return {
status: 'WARNING',
daysRemaining,
alertLevel: 'WARNING',
action: '请提前安排检测'
};
}
return { status: 'NORMAL', daysRemaining };
}规则2:自动提醒规则
typescript
// 自动提醒动作
interface AutoReminder {
// 提前60天(仅重点设施)
day_60_before: {
condition: '重点设施(消防栓、灭火器、烟感) && 距离到期60天';
notifyTo: ['消防专员', '安保主管'];
channel: ['系统消息', '微信'];
message: '消防栓检测计划将在60天后到期,请提前联系检测机构';
};
// 提前30天(所有设施)
day_30_before: {
condition: '距离到期30天';
notifyTo: ['消防专员', '安保主管'];
channel: ['系统消息', '微信', '短信'];
message: '喷淋系统检测计划将在30天后到期,请及时安排';
};
// 到期当天
due_day: {
condition: '到期当天';
notifyTo: ['消防专员', '安保主管', '物业经理'];
channel: ['系统消息', '微信', '短信', '电话'];
message: '消防栓检测计划今日到期,请立即处理';
priority: 'HIGH';
};
// 超期每天提醒
overdue_daily: {
condition: '超期未完成';
notifyTo: ['消防专员', '安保主管', '物业经理', '消防责任人'];
channel: ['系统消息', '微信', '短信'];
message: '消防栓检测已超期7天,设施已标记为"待检"';
frequency: '每天上午9:00';
};
}规则3:设施禁用规则
typescript
// 设施禁用逻辑
interface FacilitySuspension {
// 禁用条件
condition: {
overdueDays: number; // 超期天数 > 7
facilityStatus: string; // 设施状态 = '在用'
};
// 禁用动作
actions: {
updateStatus: '设施状态 → 待检';
blockUsage: '禁止使用(消防系统联动)';
notifyDepartments: ['消防专员', '安保部门', '物业经理'];
displayWarning: '设施列表显示红色"待检"标识';
};
// 恢复条件
resumeCondition: {
inspectionCompleted: true; // 完成检测
reportUploaded: true; // 上传检测报告
approvedBy: '消防专员'; // 消防专员审核通过
};
}2.2 技术方案
技术架构
消防设施管理系统 → 定时任务(每天凌晨1点) → 规则引擎 → 提醒推送
↓
检测计划数据
↓
消防系统联动(设施禁用)核心技术点
1. 定时任务调度
- 执行时间:每天凌晨1:00检查所有设施
- 检查范围:状态为"在用"的设施
- 数据来源:消防设施管理系统的检测计划表
2. 到期判断逻辑
- 计算剩余天数:
(到期日期 - 当前日期) / 86400000 - 判断设施优先级:重点设施提前60天,普通设施提前30天
- 判断超期状态:超期7天自动禁用
3. 规则引擎
- 基于时间窗口的规则判断
- 支持规则配置(提前天数、超期天数可调整)
- 支持设施分类(重点设施、普通设施)
4. 提醒推送
- 多通道推送:系统消息、微信、短信、电话
- 分级推送:预警(微信)、报警(微信+短信)、严重(微信+短信+电话)
- 推送确认:重要提醒需要确认收到
5. 消防系统联动
- 设施超期7天 → 自动更新设施状态为"待检"
- 消防系统检查设施状态,待检设施无法使用
- 完成检测后 → 上传报告 → 消防专员审核 → 恢复"在用"
数据模型
typescript
// 消防设施信息
interface FireFacility {
id: string;
name: string; // 设施名称
type: string; // 设施类型(消防栓、灭火器、烟感等)
location: string; // 位置
serialNumber: string; // 编号
status: 'IN_USE' | 'PENDING_INSPECTION' | 'SCRAPPED'; // 设施状态
priority: 'HIGH' | 'NORMAL'; // 优先级
}
// 检测计划
interface InspectionPlan {
id: string;
facilityId: string;
facilityName: string;
lastInspectionDate: Date; // 上次检测日期
nextInspectionDate: Date; // 下次检测日期
inspectionCycle: number; // 检测周期(月)
status: 'PENDING' | 'COMPLETED' | 'OVERDUE';
// 提醒记录
reminders: {
sentAt: Date;
type: 'WARNING' | 'ALERT' | 'OVERDUE';
recipients: string[];
confirmed: boolean;
}[];
// 完成记录
completion: {
completedAt: Date;
inspectionAgency: string; // 检测机构
reportNumber: string; // 报告编号
reportFile: string; // 报告文件
approvedBy: string; // 审核人
approvedAt: Date;
};
}三、AI辅助开发方案
3.1 技术迁移分析
复用已有资产:通用场景的"设备巡检到期预警"规则
相似点:
- 都是基于时间的到期判断
- 都需要提前预警 + 到期报警
- 都需要分级提醒 + 处置闭环
差异点:
| 维度 | 设备巡检 | 消防设施检测 |
|---|---|---|
| 判断对象 | 设备巡检计划 | 消防设施检测计划 |
| 预警时间 | 到期前30分钟 | 到期前30天(重点设施60天) |
| 超期处理 | 必须补检 | 超期7天设施禁用 |
| 系统联动 | 无 | 消防系统(禁止使用) |
技术复用度:95%
- 规则引擎逻辑:100%复用
- 提醒推送逻辑:100%复用
- 到期判断逻辑:95%复用(调整时间阈值)
- 新增:消防系统联动(5%新开发)
3.2 Cursor Skill设计
Skill名称: inspection-overdue-alert.md (直接复用)
调整说明:
- 将"设备巡检"改为"消防设施检测"
- 将"30分钟/2小时"改为"30天/60天"
- 新增"超期7天禁用"规则
- 新增"消防系统联动"逻辑
3.3 PROMPT模板
PROMPT 1:生成到期判断代码
你是一个业务逻辑开发专家。请根据以下业务规则,生成消防设施检测到期判断的代码。
## 业务场景
消防设施需要定期检测,检测计划到期前需要自动提醒,超期未完成需要禁用设施。
## 业务规则
1. 到期判定:
- 提前60天(仅重点设施:消防栓、灭火器、烟感) → 预警
- 提前30天(所有设施) → 预警
- 到期当天 → 报警
- 超期1-7天 → 报警
- 超期7天以上 → 设施禁用
2. 提醒推送:
- 预警:推送给消防专员、安保主管(微信)
- 报警:推送给消防专员、安保主管、物业经理(微信+短信)
- 禁用:推送给消防专员、安保主管、物业经理、消防责任人(微信+短信+电话)
3. 设施禁用:
- 超期7天 → 设施状态改为"待检"
- 消防系统联动 → 禁止使用
- 通知相关部门
## 数据模型
- FireFacility:设施信息(id, name, type, status, priority)
- InspectionPlan:检测计划(facilityId, nextInspectionDate, status)
## 技术要求
- 使用TypeScript
- 定时任务(每天凌晨1:00执行)
- 支持规则配置(提前天数、超期天数可调整)
- 记录所有提醒和处理过程
请生成完整的代码实现。PROMPT 2:生成消防系统联动代码
你是一个业务逻辑开发专家。请根据以下业务规则,生成设施禁用时消防系统联动的代码。
## 业务场景
消防设施检测超期7天后,需要自动禁用设施,并在消防系统中禁止使用。
## 业务规则
1. 设施禁用:
- 更新设施状态为"待检"
- 记录禁用原因、禁用时间、操作人
2. 消防系统联动:
- 调用消防系统接口,更新设施状态
- 消防系统检查设施状态,待检设施无法使用
- 返回提示:"该设施检测已超期,暂停使用"
3. 恢复使用:
- 完成检测 → 上传检测报告
- 消防专员审核通过 → 恢复"在用"状态
- 消防系统同步更新
## 技术要求
- 调用消防系统API(RESTful接口)
- 支持事务回滚(设施状态更新失败时回滚)
- 记录所有操作日志
请生成完整的代码实现。3.4 开发周期预估
基于已有资产(设备巡检到期预警):
原型验证:1天
- Day 1:复用inspection-overdue-alert规则,调整时间阈值,测试到期判断
首版上线:3-5天
- Day 2:完善提醒推送逻辑,对接微信/短信
- Day 3:开发消防系统联动接口
- Day 4:测试设施禁用和恢复流程
- Day 5:部署上线
迭代优化:根据实际使用反馈调整提前天数、优化提醒策略
四、开发资产
4.1 Cursor Skill
文件名: inspection-overdue-alert.md (复用已有资产)
调整内容:
- 检查对象:设备巡检 → 消防设施检测
- 提醒周期:30分钟/2小时 → 30天/60天
- 禁用对象:设备 → 消防设施
- 解除条件:完成巡检 → 完成检测并上传报告
4.2 技术迁移说明
可复用的已有资产:
矿山场景:设备巡检到期预警规则
- 复用:规则引擎框架、提醒推送逻辑、到期判断逻辑
- 调整:时间阈值(30分钟/2小时 → 30天/60天)
- 复用度:95%
新增部分:
- 消防系统联动接口(5%)
- 设施禁用和恢复逻辑
4.3 实施指南
步骤1:准备环境
bash
# 安装依赖
npm install
# 配置消防系统接口
# 编辑 config/fire-system-config.json步骤2:使用Cursor Skill
1. 将 inspection-overdue-alert.md 保存到 .cursor/rules/
2. 在Cursor中告诉AI:
"参考 inspection-overdue-alert.md 中的业务规则,
实现消防设施检测到期提醒功能"
3. AI会基于规则生成代码步骤3:调整配置
typescript
// config/inspection-rules.ts
export const INSPECTION_CONFIG = {
highPriorityWarningDays: 60, // 重点设施提前60天
normalWarningDays: 30, // 普通设施提前30天
suspensionDays: 7, // 超期7天禁用
highPriorityTypes: ['消防栓', '灭火器', '烟感'],
};步骤4:测试验证
bash
# 运行测试
npm test
# 模拟到期场景
npm run simulate:inspection-due五、下一步行动
如果您对这个场景感兴趣
- 快速验证:我们可以用1天时间,基于模拟数据做原型演示
- 技术对接:提供消防系统接口文档,评估对接工作量
- 成本预估:根据设施数量、提醒频率,给出详细报价
相关场景
- 场景02:消防通道占用监测 - 区域监测类场景
- 医疗场景:设备校准到期提醒 - 原始复用资产

