场景01:车辆年检到期提醒
当前阶段: 🔍 探索中 | 行业: 交通运输 | 关键词: 车辆年检、营运车辆、年检提醒、车辆禁用 | 返回交通场景 →
一、需求探索
1.1 痛点时刻
具体场景:
周一早上8点,物流公司的一辆货车(车牌号:京A12345)在配送途中被交警拦下检查。交警发现该车年检已过期15天,当场扣车并罚款2000元。
车队长老张接到电话后才发现,这辆车的年检日期是上个月15号,但因为最近业务繁忙,完全忘记了这事。现在车被扣了,当天的配送任务无法完成,客户投诉,还要支付罚款和拖车费,总损失超过5000元。
业务背景:
- 车队规模:中型物流公司,车辆50-200辆
- 年检要求:营运车辆每年年检一次,非营运车辆每两年年检一次
- 办理周期:营运车辆年检需要提前预约,办理周期7-15天
- 管理难点:车辆多、年检日期不统一、车队长靠记忆或Excel表格管理,容易遗漏
1.2 核心痛点
问题1:年检日期难记忆
- 50-200辆车,每辆车年检日期不同
- 车队长靠Excel表格或纸质台账管理,容易遗漏
- 没有自动提醒机制,发现过期时已经被罚款
问题2:营运车辆办理周期长
- 营运车辆年检需要提前预约,办理周期7-15天
- 如果临近到期才发现,来不及办理,车辆被迫停运
- 影响配送任务,造成经济损失
问题3:过期车辆仍在使用
- 年检过期后,系统没有自动禁用车辆
- 调度员不知道车辆已过期,继续派单
- 被交警查到,罚款2000元,扣车,影响业务
1.3 业务规则(行业标准)
《道路交通安全法》:
- 机动车应当从注册登记之日起,按照规定期限进行安全技术检验(第13条)
- 未按规定进行安全技术检验的,由公安机关交通管理部门处警告或者200元以下罚款(第90条)
- 上道路行驶的机动车未放置检验合格标志的,扣留机动车,罚款200元,记1分(第95条)
《道路运输车辆技术管理规定》:
- 道路运输车辆应当按照国家有关规定进行定期检验检测(第18条)
- 道路运输经营者应当建立车辆技术档案(第19条)
实际业务规则(基于行业调研):
- 预警规则:
- 营运车辆:到期前60天 → 预警(办理周期长)
- 普通车辆:到期前30天 → 预警
- 报警规则:
- 营运车辆:到期前15天 → 报警
- 普通车辆:到期前7天 → 报警
- 禁用规则:
- 年检过期 → 车辆自动禁用,停止派单
- 必须完成年检后才能解除禁用
成本测算:
- 过期成本:罚款2000元 + 扣车拖车费500元 + 配送延误损失2000-5000元 = 4500-7500元/次
- 提醒成本:短信0.1元/条,人工核查10分钟/次,约20元/次
- 平衡点:宁可多提醒,不可漏检
二、方案设计
2.1 业务规则设计
规则1:年检到期判定
接口规范:
typescript
// 年检到期判定接口
interface VehicleInspectionExpiry {
// 车辆信息
vehicleId: string;
plateNumber: string; // 车牌号
vehicleType: 'COMMERCIAL' | 'NON_COMMERCIAL'; // 营运/非营运
// 年检信息
lastInspectionDate: Date; // 上次年检日期
nextInspectionDate: Date; // 下次年检日期
inspectionCycle: number; // 年检周期(月):12或24
// 时间信息
currentDate: Date; // 当前日期
daysUntilExpiry: number; // 距离到期天数
// 判定结果
status: 'NORMAL' | 'WARNING' | 'ALERT' | 'EXPIRED';
}
// 判定方法签名
function checkInspectionExpiry(
vehicle: Vehicle,
currentDate: Date
): VehicleInspectionExpiry;核心逻辑:
- 计算距离到期天数
- 营运车辆:60天预警,15天报警
- 普通车辆:30天预警,7天报警
- 已过期:立即标记为EXPIRED状态
规则2:分级提醒规则
接口规范:
typescript
// 分级提醒规则配置
interface AlertRule {
// 预警级别(营运车辆60天,普通车辆30天)
warning: {
condition: string;
notifyTo: string[];
channels: string[];
message: string;
};
// 报警级别(营运车辆15天,普通车辆7天)
alert: {
condition: string;
notifyTo: string[];
channels: string[];
message: string;
};
// 过期禁用
expired: {
condition: string;
notifyTo: string[];
channels: string[];
message: string;
autoActions: string[];
};
}核心逻辑:
- 预警:通知车队长和驾驶员(APP+短信)
- 报警:升级通知调度主管(APP+短信+电话)
- 过期:自动禁用车辆,停止派单,通知安全总监
规则3:车辆禁用规则
接口规范:
typescript
// 车辆禁用规则配置
interface VehicleDisableRule {
// 步骤1:自动禁用
step1_disable: {
trigger: string;
action: string;
effect: string[];
};
// 步骤2:通知相关人员
step2_notify: {
notifyTo: string[];
message: string;
channels: string[];
};
// 步骤3:解除禁用
step3_enable: {
condition: string;
action: string;
mustRecord: string[];
};
}核心逻辑:
- 自动禁用:年检过期当天自动变更车辆状态
- 派单拦截:调度系统过滤禁用车辆
- 解除禁用:完成年检并上传合格证后,车队长审核通过
2.2 技术方案
技术架构
车辆档案库 → 定时扫描(每天) → 规则引擎 → 分级推送
↓
年检记录库(历史数据)
↓
可视化看板 + 移动端核心技术点
1. 车辆档案管理
- 车辆信息:车牌号、车辆类型(营运/非营运)、年检周期
- 年检信息:上次年检日期、下次年检日期、年检合格证
- 车辆状态:正常、预警、报警、禁用
2. 到期检测
- 定时扫描:每天凌晨扫描所有车辆
- 到期判定:当前日期 + 预警天数 > 年检日期 → 触发提醒
- 特殊处理:营运车辆提前60天预警(办理周期长)
3. 规则引擎
- 基于时间窗口的规则判断
- 支持规则配置(预警/报警阈值可调整)
- 支持特殊规则(营运车辆提前预警)
4. 分级推送
- 多通道推送:APP、短信、语音电话
- 分级推送:预警(车队长)、报警(调度主管)
- 推送确认:必须确认收到,否则升级
5. 车辆禁用
- 自动禁用:年检过期 → 车辆状态变更为"禁用"
- 派单拦截:调度系统无法选择禁用车辆
- 手动解除:完成年检后,车队长审核解除禁用
数据模型
typescript
// 车辆档案
interface Vehicle {
id: string;
plateNumber: string; // 车牌号
vehicleType: 'COMMERCIAL' | 'NON_COMMERCIAL'; // 营运/非营运
// 年检信息
lastInspectionDate: Date; // 上次年检日期
nextInspectionDate: Date; // 下次年检日期
inspectionCycle: number; // 年检周期(月):12或24
inspectionCertificate: string; // 年检合格证照片
// 车辆状态
status: 'ACTIVE' | 'WARNING' | 'ALERT' | 'DISABLED';
// 责任人
driver: string; // 驾驶员ID
driverName: string; // 驾驶员姓名
fleetManager: string; // 车队长ID
}
// 年检记录
interface InspectionRecord {
id: string;
vehicleId: string;
inspectionDate: Date; // 年检日期
nextInspectionDate: Date; // 下次年检日期
inspectionResult: 'PASS' | 'FAIL'; // 年检结果
certificate: string; // 年检合格证照片
remarks: string; // 备注
operator: string; // 操作人
}
// 提醒记录
interface AlertRecord {
id: string;
vehicleId: string;
alertType: 'WARNING' | 'ALERT' | 'EXPIRED';
alertTime: Date;
daysUntilExpiry: number; // 距离到期天数
notifiedTo: string[]; // 通知对象
confirmed: boolean; // 是否确认
confirmedAt: Date; // 确认时间
}三、AI辅助开发方案
3.1 技术迁移分析
复用已有资产:通用场景的"资质到期提醒"规则
相似点:
- 都是基于时间的到期检测
- 都需要分级提醒(预警 → 报警)
- 都需要过期后自动禁用
差异点:
| 维度 | 资质到期提醒 | 车辆年检提醒 |
|---|---|---|
| 检查对象 | 人员资质证书 | 车辆年检合格证 |
| 提醒周期 | 统一30天预警 | 营运车辆60天,普通车辆30天 |
| 过期处理 | 人员禁止上岗 | 车辆禁用,停止派单 |
| 解除条件 | 上传新证书 | 完成年检并上传合格证 |
技术复用度:95%
- 规则引擎逻辑:100%复用
- 分级推送逻辑:100%复用
- 到期检测逻辑:95%复用(需增加营运车辆特殊规则)
- 禁用解除逻辑:90%复用(调整禁用对象:人员 → 车辆)
3.2 Cursor Skill设计
Skill名称: qualification-expiry-alert.md
Skill内容: 复用已有的资质到期提醒规则,调整为车辆年检场景
3.3 PROMPT模板
PROMPT 1:生成年检到期检测代码
你是一个业务逻辑开发专家。请根据以下业务规则,生成车辆年检到期检测的代码。
## 业务场景
物流公司的车辆需要定期年检,营运车辆每年一次,非营运车辆每两年一次。年检过期需要自动提醒并禁用车辆。
## 业务规则
1. 到期判定:当前日期 + 预警天数 > 年检日期 → 触发提醒
2. 分级提醒:
- 营运车辆:到期前60天预警,15天报警
- 普通车辆:到期前30天预警,7天报警
3. 过期禁用:年检过期 → 车辆自动禁用,停止派单
4. 解除禁用:完成年检并上传合格证 → 车队长审核解除
## 数据模型
- Vehicle:车辆档案(plateNumber, vehicleType, nextInspectionDate)
- InspectionRecord:年检记录(inspectionDate, nextInspectionDate, certificate)
- AlertRecord:提醒记录(alertType, alertTime, daysUntilExpiry)
## 技术要求
- 使用TypeScript
- 定时扫描(每天凌晨检查一次)
- 支持规则配置(预警/报警阈值可调整)
- 记录所有提醒和年检过程
请基于以上规范生成代码。PROMPT 2:生成车辆禁用逻辑
你是一个业务逻辑开发专家。请根据以下业务规则,生成车辆年检过期自动禁用的代码。
## 业务场景
车辆年检过期后,需要自动禁用车辆,停止派单,防止违规上路。
## 业务规则
1. 自动禁用:年检过期当天 → 车辆状态变更为"禁用"
2. 派单拦截:调度系统无法选择禁用车辆
3. 通知相关人员:车队长、调度员、驾驶员
4. 解除禁用:完成年检并上传合格证 → 车队长审核解除
## 技术要求
- 自动禁用:定时任务检测过期车辆,自动变更状态
- 派单拦截:调度系统查询可用车辆时,过滤禁用车辆
- 通知推送:多通道推送(APP、短信、语音)
- 审核流程:车队长审核年检合格证,手动解除禁用
请基于以上规范生成代码。3.4 技术复杂度评估
复杂度等级: 中等
技术难点:
营运车辆差异化处理
- 需要根据车辆类型动态调整预警阈值
- 营运车辆办理周期长,需要更早预警
车辆禁用与派单系统联动
- 调度系统需要实时同步车辆状态
- 禁用车辆需要从可派单列表中过滤
- 正在执行的任务不受影响,新任务无法派发
解除禁用审核流程
- 需要上传年检合格证照片
- 车队长审核通过后才能解除
- 更新下次年检日期,重新计算预警时间
关键依赖:
- 车辆档案管理系统(车辆信息、年检记录)
- 调度派单系统(车辆状态同步、派单拦截)
- 推送通知服务(多通道推送:APP、短信、电话)
- 文件存储服务(年检合格证照片存储)
技术迁移说明:
- 可复用"资质到期提醒"规则引擎(95%复用度)
- 需要新增营运车辆特殊规则(3%)
- 需要新增车辆禁用+派单拦截逻辑(2%)
四、开发资产
4.1 Cursor Skill
文件名: qualification-expiry-alert.md(复用已有资产)
调整内容:
- 检查对象:人员资质 → 车辆年检
- 提醒周期:统一30天 → 营运车辆60天,普通车辆30天
- 禁用对象:人员 → 车辆
- 解除条件:上传新证书 → 完成年检并上传合格证
4.2 技术迁移说明
可复用的已有资产:
建筑场景:资质到期提醒规则
- 复用:规则引擎框架、分级推送逻辑、到期检测逻辑
- 调整:检查对象(人员 → 车辆)、提醒周期(增加营运车辆特殊规则)
- 复用度:95%
医废场景:超期预警规则
- 复用:时间窗口判断、升级机制
- 调整:阈值(46/47/48小时 → 30/60天)
- 复用度:85%
需要新开发的部分:
- 营运车辆特殊规则(提前60天预警)(3%)
- 车辆禁用 + 派单拦截逻辑(2%)
4.3 实施指南
步骤1:准备环境
bash
# 安装依赖
npm install
# 配置车辆档案
# 编辑 config/vehicles.json步骤2:使用Cursor Skill
1. 将 qualification-expiry-alert.md 保存到 .cursor/rules/
2. 在Cursor中告诉AI:
"参考 qualification-expiry-alert.md 中的业务规则,
实现车辆年检到期提醒功能,
注意营运车辆需要提前60天预警"
3. AI会基于规则生成代码步骤3:调整配置
typescript
// config/alert-rules.ts
export const ALERT_CONFIG = {
commercial: {
warningDays: 60, // 营运车辆预警天数
alertDays: 15, // 营运车辆报警天数
},
nonCommercial: {
warningDays: 30, // 普通车辆预警天数
alertDays: 7, // 普通车辆报警天数
},
autoDisable: true, // 过期自动禁用
confirmTimeout: 30, // 确认超时(分钟)
};步骤4:测试验证
bash
# 运行测试
npm test
# 模拟过期场景
npm run simulate:expiry五、下一步行动
如果您对这个场景感兴趣
- 快速验证:我们可以用1天时间,基于模拟数据做原型演示
- 技术对接:提供车辆档案配置模板,评估对接工作量
- 成本预估:根据车队规模、车辆数量,给出详细报价
相关场景
- 场景02:道路桥梁巡检漏检 - 道路养护管理
- 场景03:驾驶员资质到期提醒 - 人员资质管理

