Skip to content

开发资产:水利工程巡检管理系统

← 上一阶段:方案设计 | 下一阶段:系统落地 →


概述

在开发这个场景的过程中,我们沉淀了以下可复用的开发资产:

  1. Cursor Skill - 自动化数据采集与异常预警规则
  2. PROMPT 模板 - 维护计划自动生成逻辑
  3. 实施指南 - 如何快速复现这个场景

这些资产可以帮助快速复用这个场景的开发经验。


1. Cursor Skill:自动化数据采集与异常预警规则

使用场景

当你需要开发类似的"传感器数据采集/异常预警"场景时,可以使用这个 Skill 让 AI 理解业务规则。

Skill 内容

markdown
# 自动化数据采集与异常预警规则

## 业务场景
水利工程、环境监测、设备监控等场景中,需要自动采集传感器数据,并在数据异常时自动预警。

## 核心业务规则

### 1. 数据采集规则

**采集频率:**
- 实时监测:每 5 分钟采集一次
- 定期监测:每小时采集一次
- 历史数据:每天汇总一次

**数据存储:**
- 实时数据保存 1 年
- 历史数据保存 10 年
- 异常数据永久保存

### 2. 异常预警规则

**预警判断:**
```typescript
function checkDataAbnormal(
  value: number,
  normalRange: { min: number; max: number },
  alarmThresholds: { warning: number; critical: number }
): AlarmResult {
  // 检查是否超出正常范围
  if (value < normalRange.min || value > normalRange.max) {
    // 检查是否达到严重阈值
    if (Math.abs(value - (normalRange.min + normalRange.max) / 2) > alarmThresholds.critical) {
      return {
        isAbnormal: true,
        alarmLevel: 'critical',
        message: '数据严重异常,需要立即处理'
      };
    }
    // 检查是否达到一般阈值
    if (Math.abs(value - (normalRange.min + normalRange.max) / 2) > alarmThresholds.warning) {
      return {
        isAbnormal: true,
        alarmLevel: 'warning',
        message: '数据异常,需要关注'
      };
    }
  }
  
  return {
    isAbnormal: false,
    alarmLevel: 'normal'
  };
}

3. 历史数据对比

对比分析:

typescript
async function compareWithHistory(
  currentValue: number,
  parameterType: string,
  date: Date
): Promise<ComparisonResult> {
  // 获取历史同期数据
  const historyData = await getHistoryData({
    parameterType,
    date: new Date(date.getFullYear() - 1, date.getMonth(), date.getDate())
  });
  
  // 计算平均值和标准差
  const avg = historyData.reduce((sum, d) => sum + d.value, 0) / historyData.length;
  const std = Math.sqrt(
    historyData.reduce((sum, d) => sum + Math.pow(d.value - avg, 2), 0) / historyData.length
  );
  
  // 判断是否异常(超过2倍标准差)
  const deviation = Math.abs(currentValue - avg);
  const isAbnormal = deviation > 2 * std;
  
  return {
    currentValue,
    historyAvg: avg,
    deviation,
    isAbnormal,
    trend: currentValue > avg ? 'up' : 'down'
  };
}

数据模型

监测数据(MonitoringData)

typescript
interface MonitoringData {
  parameterType: string;
  parameterValue: number;
  normalRange: { min: number; max: number };
  isAbnormal: boolean;
  alarmLevel: 'normal' | 'warning' | 'critical';
  timestamp: Date;
}

开发注意事项

  1. 数据精度:传感器数据可能有误差,需要设置合理的容差
  2. 数据丢失:网络不稳定时,数据需要本地缓存
  3. 异常处理:传感器故障、数据异常等情况需要处理
  4. 性能优化:大量数据采集需要优化存储和查询性能

相似场景复用

这个规则可以复用到:

  • 环境监测:空气质量、水质监测
  • 设备监控:工业设备、建筑设备监控
  • 农业监测:土壤湿度、气象监测

---

## 2. PROMPT 模板:维护计划自动生成逻辑

### 使用场景

当需要快速生成类似的"维护计划自动生成"代码时,使用这个 PROMPT 模板。

### PROMPT 模板

```text
你是一个业务逻辑开发专家。请根据以下业务规则,生成完整的维护计划自动生成逻辑代码。

## 业务场景
[描述你的具体场景,例如:水利工程设备维护计划]

## 维护类型
[列出维护类型,例如:
- 日常维护:每月一次
- 定期维护:每季度一次
- 大修:每年一次
]

## 维护规则
[描述维护规则,例如:
- 根据设备类型和使用情况制定维护计划
- 支持按时间周期(如每月、每季度)
- 支持按使用量周期(如运行小时数)
- 维护到期自动提醒(提前7天)
]

## 输出要求
1. TypeScript 代码实现
2. 包含完整的维护计划生成逻辑
3. 包含维护到期提醒逻辑
4. 包含单元测试用例
5. 包含注释说明

请生成代码。

3. 实施指南

快速复现步骤

如果你需要在新项目中实现类似的场景,按照以下步骤:

步骤 1:需求确认(1 小时)

  • [ ] 确认监测参数和采集频率
  • [ ] 确认异常预警阈值
  • [ ] 确认维护计划和规则
  • [ ] 确认硬件设备选型

步骤 2:数据库设计(30 分钟)

sql
-- 监测数据表
CREATE TABLE monitoring_data (
  id VARCHAR(50) PRIMARY KEY,
  project_id VARCHAR(50),
  parameter_type VARCHAR(50),
  parameter_value DECIMAL(10,2),
  normal_min DECIMAL(10,2),
  normal_max DECIMAL(10,2),
  is_abnormal BOOLEAN,
  alarm_level VARCHAR(20),
  timestamp TIMESTAMP,
  created_at TIMESTAMP
);

-- 维护计划表
CREATE TABLE maintenance_plans (
  id VARCHAR(50) PRIMARY KEY,
  equipment_id VARCHAR(50),
  maintenance_type VARCHAR(50),
  cycle_type VARCHAR(50),  -- time/usage
  cycle_value INT,
  next_maintenance_time TIMESTAMP,
  status VARCHAR(20),
  created_at TIMESTAMP
);

步骤 3:开发数据采集(3 小时)

使用上述 Cursor Skill,快速生成数据采集和异常预警逻辑。

步骤 4:开发维护管理(2 小时)

使用 PROMPT 模板生成维护计划自动生成逻辑。

步骤 5:集成通知(1 小时)

  • 短信通知
  • 电话通知(紧急情况)
  • 系统内消息

步骤 6:测试(2 小时)

  • 数据采集测试
  • 异常预警测试
  • 维护管理测试
  • 边界值测试

总开发时间:约 9-11 小时


下一步

查看 系统落地 → 了解这个场景在完整系统中的实现。


相关链接

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