Skip to content

场景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 技术迁移说明

可复用的已有资产:

  1. 矿山场景:设备巡检到期预警规则

    • 复用:规则引擎框架、提醒推送逻辑、到期判断逻辑
    • 调整:时间阈值(30分钟/2小时 → 30天/60天)
    • 复用度:95%
  2. 新增部分:

    • 消防系统联动接口(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. 快速验证:我们可以用1天时间,基于模拟数据做原型演示
  2. 技术对接:提供消防系统接口文档,评估对接工作量
  3. 成本预估:根据设施数量、提醒频率,给出详细报价

相关场景

相关资产


← 返回消防场景 | 联系合作 →

基于 AI 辅助开发,快速、灵活、可靠