Files
wucaixing-backend/docs/VehicleThreeInspectApi.md

156 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 车辆三检模块改动说明
## 1. 本次改动
本次对车辆三检模块新增了以下能力:
1. 新增字段 `rejectReason`,表示审核不通过原因。
2. 新增批量审核接口,管理员可以一键审核多条不同的车辆三检内容。
## 2. 字段变更
### 2.1 新增字段
- 字段名:`rejectReason`
- 含义:审核不通过原因
- 生效场景:仅在审核不通过时有值
### 2.2 使用规则
- 当审核通过时:
- 后端自动将 `rejectReason` 置空
- 当审核不通过时:
- 前端需要传入 `rejectReason`
- 若未传,后端会返回业务异常:
- `审核不通过时,不通过原因不能为空`
### 2.3 数据库说明
车辆三检表需要新增字段:
```sql
ALTER TABLE hot_vehicle_three_inspect
ADD COLUMN reject_reason varchar(500) NULL COMMENT '审核不通过原因';
```
## 3. 单条审核接口调整
### 3.1 接口信息
- 路径:`POST /securityManagement/vehicleThreeInspect/audit`
### 3.2 新增请求字段
- `rejectReason`:审核不通过原因
### 3.3 审核规则
- 当前仍以 `hasHiddenDanger` 作为是否通过的判断依据:
- `hasHiddenDanger = 0`:审核通过
- `hasHiddenDanger = 1`:审核不通过
- 审核不通过时必须传 `rejectReason`
- 审核通过时 `rejectReason` 不入库
## 4. 批量审核接口
### 4.1 接口信息
- 路径:`POST /securityManagement/vehicleThreeInspect/batchAudit`
- 说明:管理员可一次性审核多条不同三检记录
### 4.2 请求体
```json
{
"auditItems": [
{
"id": 101,
"taskId": "task_001",
"auditTime": "2026-05-22 10:00:00",
"hasHiddenDanger": 0,
"auditResult": "审核通过",
"auditorSignImgUrl": "12345"
},
{
"id": 102,
"taskId": "task_002",
"auditTime": "2026-05-22 10:05:00",
"hasHiddenDanger": 1,
"auditResult": "发现问题需整改",
"rejectReason": "轮胎磨损超标",
"auditorSignImgUrl": "12345"
}
]
}
```
### 4.3 请求字段说明
批量项沿用单条审核字段,核心包括:
- `id`三检记录ID
- `taskId`流程任务ID
- `auditTime`:审核时间
- `hasHiddenDanger`:是否存在隐患
- `auditResult`:审核结论
- `rejectReason`:审核不通过原因
- `auditorSignImgUrl`:审核人签名
### 4.4 处理规则
接口会逐条执行以下逻辑:
1. 校验三检记录ID和流程任务ID。
2. 校验审核时间不能早于检查时间。
3. 若传了审核签名,则校验签名归属。
4. 根据 `hasHiddenDanger` 处理通过/不通过逻辑。
5. 审核不通过时校验 `rejectReason` 必填。
6. 更新三检记录并推进对应流程任务。
## 5. 影响范围
- 详情接口、列表接口、导出接口会返回 `rejectReason` 字段。
- 审核驳回通知优先展示 `rejectReason`,没有时才回退展示 `auditResult`
## 6. 三检历史记录接口
### 6.1 新增字段
- `inspectNo`:三检记录编号,规则为 `SJ + 三检创建日期(yyyyMMdd) + 车牌号后3位 + 4位随机数`
- `inspectLocation`:检查地点,出车前、行车中、收车后三个阶段都支持保存
### 6.2 历史列表接口
- 路径:`GET /securityManagement/vehicleThreeInspect/history/list`
- 说明:按 `inspectId` 聚合查询一轮三检历史记录,支持分页
返回核心字段:
- `inspectId`三检流程ID
- `inspectNo`:三检记录编号
- `plateNumber`:车牌号
- `inspectorName`:检查人
- `startTime`:检查开始时间(出车提交时间)
- `endTime`:检查结束时间(收车提交时间)
- `auditorName`:审核人
- `outInspectLocation`:出车前检查地点
- `drivingInspectLocation`:行车中检查地点
- `backInspectLocation`:收车后检查地点
- `outCheck` / `drivingCheck` / `backCheck`:三个阶段详情
### 6.3 历史详情接口
- 路径:`GET /securityManagement/vehicleThreeInspect/history/{inspectId}`
- 说明:返回指定 `inspectId` 下三个阶段的车辆三检详情
### 6.4 数据库脚本
新增脚本:
- `sql/alter_hot_vehicle_three_inspect_history_fields_20260601.sql`
脚本内容包含:
-`hot_vehicle_three_inspect` 增加 `inspect_no``inspect_location` 字段
- 对历史数据回填 `inspect_no`