Files
wucaixing-backend/docs/HiddenDangerInspectionRejectResubmit.md

104 lines
2.8 KiB
Markdown
Raw Normal View History

2026-05-30 16:00:20 +08:00
# 隐患排查审核不通过重提方案
## 目标
- 支持企业审核不通过后,驾驶员再次编辑并重新提交。
- 每次审核不通过时,保存当次提交快照、驳回原因、照片、签名等信息。
- 详情接口可返回多次审核不通过历史,便于企业端查看。
## 后端改动
### 主表 `hot_hidden_danger_inspection`
新增字段:
- `submit_version`:提交版本号
- `audit_result`:审核结果,`PASS` / `REJECT`
- `reject_count`:驳回次数
- `last_reject_reason`:最近一次驳回原因
- `last_reject_time`:最近一次驳回时间
- `last_reject_by_id`最近一次驳回人ID
- `last_reject_by_name`:最近一次驳回人姓名
### 新表 `hot_hidden_danger_inspection_audit_history`
用于保存每次审核不通过时的完整快照:
- 主单ID、计划ID、项目信息
- 提交版本号、审核轮次
- 驳回原因、审核人、审核时间、审核签名
- 当次排查内容、隐患描述、附件、排查人签名、排查人、排查时间
- `submit_snapshot_json` 作为完整快照冗余
## 业务逻辑
### 驾驶员提交
- 首次提交时,沿用原有 `updateByBo` 提交流程。
- 驳回后再次编辑提交时,只要主单已经被回调置为:
- `status = 1`
- `flow_status = REJECTED`
- `instance_id = null`
- 再次保存后会重新启动 `HIDDEN_DANGER_CHECK` 流程。
- 每次重提时:
- `submit_version + 1`
- 清空上一轮审核结论、审核签名、评估人等中间字段
- 状态回到 `status = 2`
### 企业审核
审核新增两种结果:
- `PASS`:审核通过
- `REJECT`:审核不通过
处理规则:
- `PASS + auditHasDanger = 0`
- 流程通过
- 主单最终状态在回调中置为 `3`
- `PASS + auditHasDanger = 1`
- 流程通过
- 主单在回调中置为 `6`
- 自动创建隐患治理流程
- `REJECT`
- 先写入驳回历史表
- 主单记录最近一次驳回信息
- 流程按驳回处理
- 回调把主单恢复为可再次编辑状态
### 流程回调
`HiddenDangerCheckCallback` 调整为:
- 成功:
- `flow_status = APPROVED`
- 无隐患:`status = 3`
- 有隐患:`status = 6`
- 仅在成功且存在隐患时创建治理流程
- 驳回:
- `flow_status = REJECTED`
- `status = 1`
- `instance_id = null`
- 允许驾驶员再次提交
## 详情接口
`queryById` 返回主单详情时,额外附带:
- `rejectHistoryList`
该字段按驳回轮次倒序返回,可直接给前端做历史展开。
## SQL 文件
SQL 已写入:
- `sql/update_hidden_danger_inspection_reject_history.sql`
## 注意事项
- 当前版本只改后端,未改前端和移动端展示。
- 前端后续只要在详情页读取 `rejectHistoryList` 即可展示多次驳回历史。
- 审核接口调用时建议明确传 `auditResult`,不要再仅依赖 `auditHasDanger` 推断审核结果。