隐患排查初版
This commit is contained in:
103
docs/HiddenDangerInspectionRejectResubmit.md
Normal file
103
docs/HiddenDangerInspectionRejectResubmit.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# 隐患排查审核不通过重提方案
|
||||
|
||||
## 目标
|
||||
|
||||
- 支持企业审核不通过后,驾驶员再次编辑并重新提交。
|
||||
- 每次审核不通过时,保存当次提交快照、驳回原因、照片、签名等信息。
|
||||
- 详情接口可返回多次审核不通过历史,便于企业端查看。
|
||||
|
||||
## 后端改动
|
||||
|
||||
### 主表 `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` 推断审核结果。
|
||||
Reference in New Issue
Block a user