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

2.8 KiB
Raw Permalink Blame History

隐患排查审核不通过重提方案

目标

  • 支持企业审核不通过后,驾驶员再次编辑并重新提交。
  • 每次审核不通过时,保存当次提交快照、驳回原因、照片、签名等信息。
  • 详情接口可返回多次审核不通过历史,便于企业端查看。

后端改动

主表 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 推断审核结果。