Files
wucaixing-backend/docs/HiddenDangerInspectionRejectResubmit.md
2026-05-30 16:00:20 +08:00

104 lines
2.8 KiB
Markdown
Raw Permalink 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.

# 隐患排查审核不通过重提方案
## 目标
- 支持企业审核不通过后,驾驶员再次编辑并重新提交。
- 每次审核不通过时,保存当次提交快照、驳回原因、照片、签名等信息。
- 详情接口可返回多次审核不通过历史,便于企业端查看。
## 后端改动
### 主表 `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` 推断审核结果。