Skip to content

场景02:输电线路巡检漏检预警

当前阶段: 🔍 探索中 | 行业: 电力设施 | 关键词: 输电线路、巡检管理、漏检预警 | 返回电力场景 →


一、需求探索

1.1 痛点时刻

具体场景:

某220kV输电线路(主干线)应每月15日前完成巡检,但巡检员因工作繁忙忘记了。到了月底28日,安全科检查台账时才发现已经超期13天。此时:

  • 如果线路有隐患(如树木碰线、绝缘子破损),可能已经造成安全风险
  • 如果发生事故,巡检员和管理人员都要承担责任
  • 需要紧急补检,但可能遇到恶劣天气,增加作业风险

业务背景:

  • 线路规模:一个供电局管理数百条输电线路,总长度数千公里
  • 巡检周期:主干线每月1次,一般线路每季度1次,特殊线路(跨江、山区)每半月1次
  • 巡检方式:人工巡检(徒步或车辆)+ 无人机巡检
  • 管理难点:线路分散、巡检员流动性大、纸质台账容易遗漏

1.2 核心痛点

问题1:发现滞后

  • 巡检到期后,可能1-2周才发现漏检
  • 没有自动提醒机制,依赖人工查台账
  • 安全科每月检查一次,发现时已经超期

问题2:责任不清

  • 不知道是巡检员忘记了,还是计划没下达
  • 不知道是否有特殊原因(如恶劣天气、设备故障)
  • 事后追责困难,容易引发纠纷

问题3:风险难控

  • 主干线漏检风险大(影响数万户用电)
  • 一般线路漏检风险小(影响数百户用电)
  • 但现有管理方式对所有线路一视同仁,没有重点监控

1.3 业务规则(行业标准)

《电力设施保护条例》相关要求:

  • 电力企业应定期巡检输电线路,及时发现和消除隐患
  • 重要输电线路应加强巡检频次
  • 巡检记录应完整、真实、可追溯

实际业务规则(基于行业调研):

  • 巡检周期规则
    • 主干线(220kV及以上):每月1次
    • 一般线路(110kV):每季度1次
    • 特殊线路(跨江、山区、重要用户):每半月1次
  • 到期提醒规则
    • 到期前3天:黄色预警,提醒巡检员
    • 到期+3天:橙色预警,提醒班组长
    • 到期+7天:红色报警,上报安全科
  • 重点线路规则
    • 主干线、特殊线路:到期当天立即报警
    • 一般线路:到期+3天才报警

成本测算:

  • 漏检成本:线路隐患未及时发现,可能造成停电事故,经济损失10-100万元/次
  • 补检成本:紧急补检,人工成本增加50%,约500元/次
  • 平衡点:宁可多提醒,不可漏检

二、方案设计

2.1 业务规则设计

规则1:巡检到期判定规则

规则一:重点线路(主干线、特殊线路)

  • 到期当天:立即报警
  • 到期前3天:黄色预警,提醒巡检员
  • 风险等级:高

规则二:一般线路

  • 到期+7天:红色报警,立即安排巡检
  • 到期+3天:橙色预警,尽快安排巡检
  • 到期前3天:黄色预警,提前安排
  • 风险等级:中/低

接口规范:

typescript
// 巡检到期检测接口
interface IInspectionOverdueDetector {
  /**
   * 检测巡检到期
   * @param lineId 线路ID
   * @param currentDate 当前日期
   * @returns 到期判定结果
   */
  checkOverdue(
    lineId: string,
    currentDate: Date
  ): InspectionOverdueResult;

  /**
   * 计算下次到期日期
   * @param lastInspectionDate 上次巡检日期
   * @param inspectionCycle 巡检周期(天)
   * @returns 下次到期日期
   */
  calculateNextDueDate(
    lastInspectionDate: Date,
    inspectionCycle: number
  ): Date;

  /**
   * 获取超期天数
   * @param dueDate 到期日期
   * @param currentDate 当前日期
   * @returns 超期天数(负数表示未到期)
   */
  getOverdueDays(dueDate: Date, currentDate: Date): number;
}

// 到期判定结果
interface InspectionOverdueResult {
  status: 'normal' | 'warning' | 'alarm' | 'overdue';
  overdueDays: number;
  level: 'low' | 'medium' | 'high';
  reason: string;
}

复杂度评估:

  • 实现复杂度:低
  • 核心逻辑:日期计算 + 差异化规则判断
  • 数据依赖:巡检计划数据、线路类型数据

技术难点:

  • 差异化规则的灵活配置
  • 巡检周期的准确计算(考虑节假日)
  • 批量检测的性能优化

关键依赖:

  • 巡检计划管理系统
  • 线路基础数据
  • 日期计算工具库

规则2:自动提醒规则

规则一:分级提醒

  • 到期前3天:黄色预警 → 巡检员手机
  • 到期+3天:橙色预警 → 巡检员 + 班组长
  • 到期+7天:红色报警 → 巡检员 + 班组长 + 安全科长
  • 重点线路到期:立即报警 → 巡检员 + 班组长 + 安全科长 + 调度中心

规则二:信息展示

  • 线路信息:名称、电压等级、长度
  • 上次巡检:日期、巡检人、发现问题
  • 天气预报:未来3天天气
  • 建议时间:最佳巡检时间窗口

接口规范:

typescript
// 提醒推送接口
interface IReminderService {
  /**
   * 推送提醒信息
   * @param overdueEvent 漏检事件
   * @param channels 推送渠道
   * @returns 推送结果
   */
  pushReminder(
    overdueEvent: OverdueEvent,
    channels: ReminderChannel[]
  ): Promise<ReminderResult>;

  /**
   * 获取提醒配置
   * @param lineType 线路类型
   * @param overdueDays 超期天数
   * @returns 提醒配置
   */
  getReminderConfig(
    lineType: string,
    overdueDays: number
  ): ReminderConfig;

  /**
   * 确认收到提醒
   * @param reminderId 提醒ID
   * @param userId 用户ID
   * @returns 确认结果
   */
  confirmReminder(
    reminderId: string,
    userId: string
  ): Promise<boolean>;
}

// 提醒渠道
type ReminderChannel = 'mobile' | 'sms' | 'wechat' | 'app';

// 提醒配置
interface ReminderConfig {
  channels: ReminderChannel[];
  recipients: string[];
  priority: 'low' | 'medium' | 'high' | 'critical';
  requireConfirm: boolean;
  retryTimes: number;
}

复杂度评估:

  • 实现复杂度:中等
  • 核心逻辑:分级推送 + 确认机制
  • 数据依赖:用户信息、推送渠道配置

技术难点:

  • 多渠道推送的可靠性
  • 推送确认机制的实现
  • 推送失败的重试策略

关键依赖:

  • 消息推送服务(短信、微信、APP)
  • 用户管理系统
  • 消息队列(保证推送可靠性)

规则3:处置闭环规则

规则一:确认机制

  • 巡检员必须在24小时内确认收到提醒
  • 确认时需要填写计划巡检时间
  • 未确认则持续推送,并升级通知

规则二:执行时限

  • 一般线路:72小时内完成巡检
  • 重点线路:24小时内完成巡检
  • 超时未完成则自动上报

规则三:结果记录

  • 必须记录:巡检日期、巡检人、巡检结果
  • 发现问题:问题类型、严重程度、处理方案
  • 照片证据:必须上传现场照片或视频
  • 自动归档:巡检报告自动归档到台账

接口规范:

typescript
// 处置流程接口
interface IDisposalService {
  /**
   * 确认巡检计划
   * @param overdueEventId 漏检事件ID
   * @param userId 用户ID
   * @param plannedTime 计划巡检时间
   * @returns 确认结果
   */
  confirmInspection(
    overdueEventId: string,
    userId: string,
    plannedTime: Date
  ): Promise<boolean>;

  /**
   * 提交巡检报告
   * @param inspectionRecord 巡检记录
   * @returns 提交结果
   */
  submitInspectionReport(
    inspectionRecord: InspectionRecord
  ): Promise<string>;

  /**
   * 检查处置超时
   * @param overdueEventId 漏检事件ID
   * @returns 是否超时
   */
  checkDisposalTimeout(overdueEventId: string): Promise<boolean>;

  /**
   * 归档巡检记录
   * @param inspectionRecordId 巡检记录ID
   * @returns 归档结果
   */
  archiveInspectionRecord(inspectionRecordId: string): Promise<boolean>;
}

// 巡检记录
interface InspectionRecord {
  id: string;
  planId: string;
  lineId: string;
  inspectionDate: Date;
  inspector: string;
  result: 'normal' | 'abnormal';
  issues: InspectionIssue[];
  photos: string[];
  completedAt: Date;
}

// 巡检问题
interface InspectionIssue {
  type: string;
  description: string;
  severity: 'low' | 'medium' | 'high';
  photos: string[];
  status: 'pending' | 'resolved';
}

复杂度评估:

  • 实现复杂度:中等
  • 核心逻辑:流程状态管理 + 超时检测
  • 数据依赖:巡检计划、巡检记录、用户信息

技术难点:

  • 流程状态的准确跟踪
  • 超时检测的定时任务
  • 照片上传和存储

关键依赖:

  • 巡检管理系统
  • 文件存储服务
  • 定时任务调度器

2.2 技术方案

技术架构

巡检计划 → 到期检测 → 规则引擎 → 提醒推送

        数据存储(计划、记录、事件)

        可视化大屏 + 移动端

核心技术点

1. 巡检计划管理

  • 计划生成:根据线路类型自动生成巡检计划
  • 计划调整:支持手动调整巡检周期、巡检人
  • 计划查询:按线路、按人员、按时间查询

2. 到期检测

  • 实时监测:每天凌晨检查一次所有线路的巡检计划
  • 到期判定:基于上次巡检日期 + 巡检周期计算到期日期
  • 分级提醒:到期前3天、到期+3天、到期+7天分级提醒

3. 规则引擎

  • 基于线路类型的差异化规则(主干线/一般线路/特殊线路)
  • 支持规则配置(提醒时间、升级时间可调整)
  • 支持规则测试(模拟到期场景)

4. 提醒推送

  • 多通道推送:手机APP、短信、微信
  • 推送确认:必须确认收到,否则持续推送
  • 推送记录:记录所有推送历史,便于追溯

复杂度评估:

  • 系统复杂度:中等
  • 核心挑战:差异化规则 + 推送可靠性
  • 技术栈:定时任务 + 规则引擎 + 消息推送

技术难点:

  • 差异化规则的灵活配置
  • 推送确认机制的实现
  • 批量检测的性能优化(数百条线路)
  • 推送失败的重试策略

关键依赖:

  • 定时任务调度器(Quartz / XXL-Job)
  • 规则引擎(Drools / Easy Rules)
  • 消息队列(Kafka / RabbitMQ)
  • 推送服务(短信、微信、APP)

数据模型

typescript
// 输电线路
interface TransmissionLine {
  id: string;
  name: string;               // 线路名称
  voltageLevel: string;       // 电压等级(220kV/110kV)
  lineType: 'main' | 'normal' | 'special';  // 线路类型
  length: number;             // 线路长度(公里)
  inspectionCycle: number;    // 巡检周期(天)
  assignedInspector: string;  // 指定巡检员
}

// 巡检计划
interface InspectionPlan {
  id: string;
  lineId: string;
  lineName: string;
  planDate: Date;             // 计划巡检日期
  dueDate: Date;              // 到期日期
  assignedTo: string;         // 巡检员
  status: 'pending' | 'confirmed' | 'completed' | 'overdue';
}

// 巡检记录
interface InspectionRecord {
  id: string;
  planId: string;
  lineId: string;
  lineName: string;
  inspectionDate: Date;       // 实际巡检日期
  inspector: string;          // 巡检员
  result: 'normal' | 'abnormal';
  issues: {
    type: string;             // 问题类型
    description: string;      // 问题描述
    photos: string[];         // 照片
    severity: 'low' | 'medium' | 'high';
    status: 'pending' | 'resolved';
  }[];
  completedAt: Date;
}

// 漏检事件
interface OverdueEvent {
  id: string;
  lineId: string;
  lineName: string;
  lineType: string;
  dueDate: Date;
  detectedAt: Date;
  overdueDays: number;
  status: 'PENDING' | 'CONFIRMED' | 'RESOLVED';

  // 处置记录
  disposal: {
    confirmedBy: string;      // 确认人
    confirmedAt: Date;
    inspectedBy: string;      // 巡检人
    inspectedAt: Date;
    result: string;           // 巡检结果
    resolvedAt: Date;
  };
}

三、AI辅助开发方案

3.1 技术迁移分析

复用已有资产:矿山场景的"设备巡检到期预警"规则

相似点:

  • 都是基于计划任务的到期监测
  • 都需要提前提醒 + 超期报警
  • 都需要分级响应(预警/报警)

差异点:

维度矿山场景(设备巡检)电力场景(线路巡检)
监测对象设备(提升机、通风机)输电线路
巡检周期每周/每月每月/每季度/每半月
分级规则统一规则差异化规则(主干线/一般线路)
提醒时间到期+3天/+7天到期前3天/+3天/+7天

技术复用度:90%

  • 规则引擎逻辑:100%复用
  • 提醒推送逻辑:100%复用
  • 到期判定逻辑:需要增加差异化规则(10%新开发)

3.2 Cursor Skill设计

Skill名称: inspection-overdue-alert.md

复用说明:

  • 该Skill已在矿山场景中验证,可直接复用
  • 需要调整的参数:监测对象(设备 → 线路)、巡检周期、提醒时间
  • 需要增加的逻辑:差异化规则(主干线立即报警,一般线路延迟报警)

四、开发资产

4.1 Cursor Skill

文件名: inspection-overdue-alert.md

复用说明: 该Skill已在矿山场景(设备巡检)中验证,可直接复用到电力场景(线路巡检)。

需要调整的参数:

typescript
// 矿山场景(设备巡检)
const OVERDUE_CONFIG = {
  warningDays: 3,   // 到期+3天预警
  alarmDays: 7      // 到期+7天报警
};

// 电力场景(线路巡检)
const OVERDUE_CONFIG = {
  reminderDays: -3,     // 到期前3天提醒
  warningDays: 3,       // 到期+3天预警
  alarmDays: 7,         // 到期+7天报警
  mainLineImmediate: 0  // 主干线到期当天报警
};

需要增加的逻辑:

typescript
// 差异化规则接口
interface IDifferentiatedRuleService {
  /**
   * 获取报警阈值
   * @param lineType 线路类型
   * @returns 报警阈值(天数)
   */
  getAlertThreshold(lineType: string): number;

  /**
   * 获取提醒配置
   * @param lineType 线路类型
   * @param overdueDays 超期天数
   * @returns 提醒配置
   */
  getReminderConfig(
    lineType: string,
    overdueDays: number
  ): ReminderConfig;
}

核心规则:

markdown
# 巡检到期预警规则(电力行业适配版)

## 业务场景
电力行业中,输电线路需要定期巡检,主干线每月1次,一般线路每季度1次。到期前3天提醒,到期后3天/7天分级报警。重点线路到期当天立即报警。

## 核心业务规则

### 1. 到期判定规则

**规则一:重点线路(主干线、特殊线路)**
- 到期当天:立即报警
- 到期前3天:黄色预警
- 风险等级:高

**规则二:一般线路**
- 到期+7天:红色报警
- 到期+3天:橙色预警
- 到期前3天:黄色预警
- 风险等级:中/低

### 2. 自动提醒规则

**规则一:分级提醒**
- 到期前3天:黄色预警 → 巡检员手机
- 到期+3天:橙色预警 → 巡检员 + 班组长
- 到期+7天:红色报警 → 巡检员 + 班组长 + 安全科长
- 重点线路到期:立即报警 → 所有相关人员

### 3. 处置闭环规则

**规则一:确认机制**
- 24小时内确认收到提醒
- 确认时填写计划巡检时间
- 未确认则持续推送

**规则二:执行时限**
- 一般线路:72小时内完成
- 重点线路:24小时内完成

## 数据模型

### 输电线路
```typescript
interface TransmissionLine {
  id: string;
  name: string;
  voltageLevel: string;
  lineType: 'main' | 'normal' | 'special';
  length: number;
  inspectionCycle: number;
  assignedInspector: string;
}

巡检计划

typescript
interface InspectionPlan {
  id: string;
  lineId: string;
  planDate: Date;
  dueDate: Date;
  assignedTo: string;
  status: 'pending' | 'confirmed' | 'completed' | 'overdue';
}

漏检事件

typescript
interface OverdueEvent {
  id: string;
  lineId: string;
  dueDate: Date;
  detectedAt: Date;
  overdueDays: number;
  status: 'PENDING' | 'CONFIRMED' | 'RESOLVED';
  disposal: {
    confirmedBy: string;
    confirmedAt: Date;
    inspectedBy: string;
    inspectedAt: Date;
    result: string;
    resolvedAt: Date;
  };
}

关键处理流程

  1. 定时检测 → 每天凌晨检查所有线路
  2. 到期判定 → 基于线路类型差异化判断
  3. 分级提醒 → 到期前/到期后分级推送
  4. 确认机制 → 必须确认收到,否则持续推送
  5. 处置闭环 → 记录处置过程 + 自动归档

开发注意事项

  1. 差异化规则:主干线和一般线路的提醒时间不同
  2. 推送确认:必须确认收到,否则持续推送
  3. 性能优化:批量检测数百条线路,需要优化查询
  4. 数据留痕:所有漏检事件和处置过程必须记录

**复杂度评估:**
- Skill复用度:90%
- 需要调整的部分:差异化规则、提醒时间
- 新增开发量:10%

**技术难点:**
- 差异化规则的灵活配置
- 推送确认机制的实现
- 批量检测的性能优化

**关键依赖:**
- 矿山场景的规则引擎框架
- 巡检管理系统接口
- 消息推送服务

### 4.2 技术迁移说明

**可复用的已有资产:**

1. **矿山场景:设备巡检到期预警规则**
   - 复用:规则引擎框架、提醒推送逻辑、到期判定逻辑
   - 调整:监测对象(设备 → 线路)、巡检周期、提醒时间
   - 复用度:90%

2. **矿山场景:人员定位异常预警规则**
   - 复用:分级响应机制、升级机制
   - 调整:判断逻辑(信号消失 → 到期时间)
   - 复用度:60%

**需要新开发的部分:**
- 差异化规则逻辑(主干线/一般线路)(10%)
- 天气预报集成(可选,用于辅助安排巡检时间)

### 4.3 实施指南

**步骤1:准备环境**
```bash
# 安装依赖
npm install

# 配置巡检管理系统接口
# 编辑 config/inspection-config.json

步骤2:使用Cursor Skill

1. 将 inspection-overdue-alert.md 保存到 .cursor/rules/
2. 在Cursor中告诉AI:
   "参考 inspection-overdue-alert.md 中的业务规则,
   实现输电线路巡检到期检测功能。
   需要支持差异化规则:主干线到期当天报警,一般线路到期+3天报警"
3. AI会基于规则生成代码

步骤3:调整配置

typescript
// config/overdue-rules.ts
export const INSPECTION_OVERDUE_CONFIG = {
  reminderDays: -3,             // 到期前3天提醒
  warningDays: 3,               // 到期+3天预警
  alarmDays: 7,                 // 到期+7天报警
  mainLineImmediate: true,      // 主干线到期当天报警
  checkTime: '00:00',           // 每天凌晨检查
};

步骤4:测试验证

bash
# 运行测试
npm test

# 模拟到期场景
npm run simulate:overdue
npm run simulate:main-line-overdue

复杂度评估:

  • 实施复杂度:中等
  • 配置工作量:巡检系统接口对接 + 规则参数配置
  • 测试工作量:到期场景模拟 + 推送测试

技术难点:

  • 巡检系统接口的对接
  • 差异化规则的配置
  • 推送渠道的测试

关键依赖:

  • 巡检管理系统接口文档
  • 推送服务配置(短信、微信)
  • 测试环境和数据

五、下一步行动

如果您对这个场景感兴趣

  1. 快速验证:我们可以用1天时间,基于模拟数据做原型演示
  2. 技术对接:提供巡检管理系统接口文档,评估对接工作量
  3. 成本预估:根据线路数量、巡检员数量,给出详细报价

相关场景

相关资产


← 返回电力场景 | 联系合作 →

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