Skip to content

开发资产:建筑施工安全与质量管理系统

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


概述

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

  1. Cursor Skill - 资质到期提醒规则
  2. PROMPT 模板 - 整改闭环跟踪逻辑生成
  3. 实施指南 - 如何快速复现这个场景

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


1. Cursor Skill:资质到期提醒规则

使用场景

当你需要开发类似的"资质/证书到期提醒"场景时,可以使用这个 Skill 让 AI 理解业务规则。

Skill 内容

markdown
# 资质到期提醒规则

## 业务场景
建筑施工、设备管理、人员管理等场景中,需要管理各种资质证书,并在到期前自动提醒。

## 核心业务规则

### 1. 资质类型定义

**资质类型:**
- 人员资质:特种作业人员证书、安全员证书等
- 设备资质:设备检测报告、使用登记证等
- 企业资质:施工资质、安全生产许可证等

### 2. 到期提醒规则

**提醒时间:**
- 提前 30 天:第一次提醒
- 提前 15 天:第二次提醒
- 提前 7 天:第三次提醒
- 到期当天:最后一次提醒
- 到期后:禁止使用/作业

**提醒方式:**
- 系统内消息
- 短信通知
- 邮件通知(可选)

### 3. 到期处理规则

**处理规则:**
```typescript
async function checkCertificateExpiry(certificateId: string): Promise<ExpiryResult> {
  const certificate = await getCertificate(certificateId);
  const now = new Date();
  const expiryDate = certificate.expiryDate;
  const daysUntilExpiry = Math.floor((expiryDate.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));
  
  // 检查是否到期
  if (daysUntilExpiry < 0) {
    // 已到期,禁止使用
    await disableCertificate(certificateId);
    return {
      status: 'expired',
      message: '资质已到期,禁止使用',
      action: 'DISABLE'
    };
  }
  
  // 检查是否需要提醒
  if (daysUntilExpiry <= 30 && daysUntilExpiry > 0) {
    const reminderLevel = getReminderLevel(daysUntilExpiry);
    await sendReminder(certificateId, reminderLevel);
    return {
      status: 'expiring',
      daysUntilExpiry,
      reminderLevel,
      message: `资质将在 ${daysUntilExpiry} 天后到期`
    };
  }
  
  return {
    status: 'valid',
    daysUntilExpiry,
    message: '资质有效'
  };
}

function getReminderLevel(days: number): ReminderLevel {
  if (days <= 7) return 'critical';
  if (days <= 15) return 'warning';
  return 'normal';
}

数据模型

资质证书(Certificate)

typescript
interface Certificate {
  id: string;
  type: 'person' | 'equipment' | 'company';
  ownerId: string;              // 持有人/设备/企业ID
  certificateType: string;      // 证书类型
  certificateNumber: string;    // 证书编号
  issueDate: Date;              // 发证日期
  expiryDate: Date;             // 到期日期
  status: 'valid' | 'expiring' | 'expired';
  lastReminderDate?: Date;      // 最后提醒日期
}

开发注意事项

  1. 时区处理:所有日期使用统一时区
  2. 定时任务:需要定时任务检查到期情况
  3. 提醒去重:避免重复提醒
  4. 到期处理:到期后自动禁用相关功能

相似场景复用

这个规则可以复用到:

  • 设备维保提醒:设备维保到期提醒
  • 合同到期提醒:合同到期提醒
  • 许可证到期提醒:各种许可证到期提醒

---

## 2. PROMPT 模板:整改闭环跟踪逻辑生成

### 使用场景

当需要快速生成类似的"整改闭环跟踪"代码时,使用这个 PROMPT 模板。

### PROMPT 模板

```text
你是一个业务逻辑开发专家。请根据以下业务规则,生成完整的整改闭环跟踪逻辑代码。

## 业务场景
[描述你的具体场景,例如:安全隐患整改闭环跟踪]

## 整改流程
[描述整改流程,例如:
1. 隐患上报,生成整改工单
2. 整改任务派发,通知责任人
3. 责任人整改,上传整改照片
4. 验收人员验收,确认整改效果
5. 验收通过,隐患关闭
6. 验收不通过,重新整改
]

## 状态流转
[描述状态流转,例如:
- 待整改 → 整改中 → 待验收 → 已关闭
- 验收不通过 → 待整改(重新开始)
]

## 输出要求
1. TypeScript 代码实现
2. 包含完整的状态流转逻辑
3. 包含通知机制
4. 包含超时处理
5. 包含单元测试用例
6. 包含注释说明

请生成代码。

3. 实施指南

快速复现步骤

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

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

  • [ ] 确认检查表内容和标准
  • [ ] 确认隐患分级规则
  • [ ] 确认整改流程
  • [ ] 确认资质管理规则

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

sql
-- 安全检查记录表
CREATE TABLE safety_inspection_records (
  id VARCHAR(50) PRIMARY KEY,
  project_id VARCHAR(50),
  check_table_id VARCHAR(50),
  inspector_id VARCHAR(50),
  inspection_date DATE,
  status VARCHAR(20),
  created_at TIMESTAMP
);

-- 隐患记录表
CREATE TABLE hazards (
  id VARCHAR(50) PRIMARY KEY,
  inspection_record_id VARCHAR(50),
  hazard_level VARCHAR(20),
  description TEXT,
  status VARCHAR(20),
  created_at TIMESTAMP
);

-- 资质证书表
CREATE TABLE certificates (
  id VARCHAR(50) PRIMARY KEY,
  type VARCHAR(20),
  owner_id VARCHAR(50),
  certificate_type VARCHAR(50),
  expiry_date DATE,
  status VARCHAR(20),
  created_at TIMESTAMP
);

步骤 3:开发检查功能(3 小时)

使用上述 Cursor Skill,快速生成检查逻辑代码。

步骤 4:开发资质管理(2 小时)

使用 Cursor Skill 生成资质到期提醒逻辑。

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

  • 短信通知
  • 系统内消息

步骤 6:测试(2 小时)

  • 检查功能测试
  • 资质管理测试
  • 整改闭环测试
  • 边界值测试

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


下一步

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


相关链接

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