主题
开投安质环监管 · 详细设计文档
文档版本:1.01 | 最近核对日期:2026-11-09
当前进展:目标、工作计划、正常/需整改月度督察及整改回复代表性正式链路已核验;事故、考评正式流程和全角色扩展仍待专项;下一办理人重新选择规则已按方案 B 明确;月度督察月份控件已按方案 A 修复
关联:需求分析、概要设计、数据库设计、测试与验收。接口以
digital-construction-ui/src/api/business/sqe/index.ts和后端实现共同核对。
1. 页面与固定表单路由
| 能力 | 台账组件 | 固定表单路由 | API 前缀 |
|---|---|---|---|
| 安全质量环保目标 | views/business/sqe/target/index.vue | /sqe/targetIssue/target/flowForm | /business/sqe/target |
| 工作计划上报 | views/business/sqe/workPlan/index.vue | /sqe/targetIssue/workPlan/flowForm | /business/sqe/workPlan |
| 月度督察 | views/business/sqe/monthlySupervision/index.vue | /sqe/supervision/monthlySupervision/flowForm | /business/sqe/monthlySupervision |
| 问题整改回复 | views/business/sqe/rectificationReply/index.vue | /sqe/supervision/rectificationReply/flowForm | /business/sqe/rectificationReply |
| 事故管理 | views/business/sqe/accident/index.vue | /sqe/supervision/accident/flowForm | /business/sqe/accident |
| 考评管理 | views/business/sqe/assessment/index.vue | /sqe/assessment/flowForm | /business/sqe/assessment |
2026-09-14 正式链路核对补充:目标 2099056264522342401、工作计划 2099056981337284610、正常月度督察 2099057627784388609、需整改月度督察 2099174109759512577 均已使用测试单位数据提交并按当前任务办理;需整改完成事件生成回复 2099187882461339650,回复流程实例 2099194264598192129 完成且活动待办为 0。事故附件仍为非必填契约,考评正式流程、退回/并发和等价角色视觉验收不因代表性链路通过而视为完成。
月度督察的年度和月份是两个独立字段。查询区和固定表单统一使用纯月份选择器(1月~12月),不展示浏览器当前年份;提交请求和数据库继续保持 year、month 两个字段,历史数据无需迁移。
新增/编辑均在台账固定表单弹窗完成;查看和当前待办“去办理”进入流程工作台。工作台左侧为业务表单,右侧为审批时间线;顶部信息卡保持三栏:业务标题、流程信息(流程定义名称与版本号)、单据编号。待办办理时顶部操作区依次放置流程图、审批动作和返回,返回始终最右;审批动作点击后弹出审批操作弹窗(意见、附件、下一步审批人和平台动作按钮),流程图打开 80% 高度底部抽屉。
2. 接口契约
公共选项 GET /business/sqe/options 无请求参数,返回 R<SqeOptionsVo>,包含 deptOptions 组织树和 userOptions 正常用户候选。2026-10-14 起,组织树的业主候选为 deptType=1 且 orgType=group/company/branch/joint_venture,参建候选仍为 deptType=2 的真实 company;部门、项目部和参建归集根不作为单位候选。保存端共享 OrgRules 与候选一致地识别业主合资公司;接口沿用六类台账列表权限的 OR 校验,不新增权限或改变业务数据过滤。
目标、计划、督察、事故、考评提供 GET /list、GET /{id}、POST /、PUT /、DELETE /{ids}、POST /submit、GET /process-info/{id};整改回复仅提供 GET /list、GET /{id}、PUT /、DELETE /{ids}、POST /submit、GET /process-info/{id},由督察事件生成,不提供手工新增。所有接口统一 R<T>/PageResult<T>。
| 资源 | 权限编码示例 | 特殊行为 |
|---|---|---|
target | sqe:target:list/add/edit/remove/export/submit | 适用单位由所选接收人部门自动带出(只读);流程完成回写审批状态 |
workPlan | sqe:workPlan:* | 按上报单位展示当前年度卡片 |
monthlySupervision | sqe:monthlySupervision:* | 接收单位单选;完成事件可能生成整改草稿 |
rectificationReply | sqe:rectificationReply:* | 只能更新/提交系统生成的来源记录 |
accident | sqe:accident:* | 事故附件非必填,保留盖章版提示 |
assessment | sqe:assessment:* | 被考核单位单选,完成后保留审批状态 |
提交请求包含业务 id 和二级单位接收人 ID 集合(nextHandlerIds,多选,逗号拼接进流程变量 nextHandlerId,多人或签);退回申请人时在原流程实例完成既有任务,不创建新实例。列表返回 currentTaskId 供“去办理”显隐;流程详情返回实例、状态、流程定义名称、流程版本和业务标题。
nextHandlerIds 是本次提交动作的路由参数,不作为业务详情的持久化回显字段。新增、编辑草稿或退回重办打开固定表单时,该集合默认为空;提交前必须重新选择至少一名接收人,前后端均执行非空校验。六类台账表单通过字段提示明确该规则,不自动恢复历史接收人,也不新增接收人快照字段;本口径按方案 B 确认。
3. 状态与动作矩阵
| 状态 | 台账动作 | 流程工作台动作 |
|---|---|---|
draft | 编辑、删除、提交 | 不适用 |
waiting | 查看、进入待办(仅当前办理人) | 平台审批动作 |
back | 编辑、删除、重新提交原实例 | 查看退回意见 |
finish | 查看、导出、删除 | 查看流程 |
cancel / invalid / termination | 只读、不可删除 | 按平台终止态展示 |
发布/上报组织、人员、时间由系统生成并保存名称快照;整改回复从月度督察复制来源年度、月份、名称和接收单位,首次人工保存/提交时补齐缺失上报快照并冻结。
3.1 流程图当前办理人提示
六类业务的实例流程图统一复用平台工作流的流程图提示能力,不在目标、计划、督察、整改、事故或考评页面分别实现办理人查询。流程图节点提示按以下规则组装:
- 历史节点读取已办理任务,继续展示历史办理人、账号、审批状态、审批耗时和办理时间;
- 当前中间节点读取 Warm-Flow 运行中任务,并通过任务关联的审批、转办、委托办理人关系查询用户信息;
- 当前节点展示“当前办理人:姓名(部门)”、用户账号、办理状态和接收时间;同一任务下重复的办理人关系只展示一次;
- 当前办理人以引擎运行时任务关联关系为准,不使用业务单据保存的下一办理人名称快照替代;驳回后沿原实例重新生成的待办也按此规则展示;
- 仅有流程定义、没有实例运行任务的设计图不展示当前办理人。流程提示由
digital-construction-workflow的FlwChartExtServiceImpl统一处理。
4. 异常、事务与幂等
- 正式提交前服务端校验年度、类别、名称、单位等业务必填,附件不作为流程前置条件;草稿暂存的接口约束需与数据库非空列一致:目标和事故的
add/update已有服务端校验,工作计划、月度督察、考评目前仅页面暂存拦截,后端add/update直接调用仍可能写入空值,待补服务端校验或调整可空约束并回归; - 页面权限可查看全部记录,按钮和接口权限控制各资源的新增、编辑、删除、导出和提交;整改回复不提供新增权限和接口;
- 月度督察完成事件在同一事务内检查有效整改记录并创建草稿;唯一约束、并发冲突和重复事件都按幂等成功处理;
- 六类业务记录统一按状态处理:草稿、退回、已完成允许删除;已完成记录拒绝编辑;审批中和终止态单据拒绝编辑/删除;逻辑删除沿平台
del_flag; - 组织、用户 ID 必须有效,名称快照由服务端生成,前端传入名称不能覆盖系统值。
5. 实现映射与核对状态
| 责任 | 已核对位置 | 状态 |
|---|---|---|
| 台账和固定表单 | digital-construction-ui/src/views/business/sqe/** | 已有组件,需真实角色回归 |
| API 客户端与类型 | digital-construction-ui/src/api/business/sqe/** | 六类 submit/process-info 已声明 |
| 后端业务与监听 | digital-construction-modules/digital-construction-business/** | 需核对状态、事务和异常 |
| 数据库迁移/实体 | 迁移目录、实体、Mapper | 需与全量字段逐项核对 |
| 流程定义 | Warm-Flow 定义和表单路径 | 路径已在前端测试引用,生产定义需复核 |
| 流程图通用提示 | digital-construction-modules/digital-construction-workflow/src/main/java/com/bokun/workflow/service/impl/FlwChartExtServiceImpl.java、Warm-Flow ChartExtService | 已实现历史任务与运行中任务合并展示;自动化回归通过,真实页面待部署后验收 |
6. 来源与变更
页面与流程路径依据 629508b0c、c33c675b4、3718d3b4c、cb5ab5ceb 的实现和修复;业务边界和验收依据 b3c737714 及当前六类文档。未核对实现保持待核对状态。
2026-09-12 补充流程图当前办理人通用能力:原提示仅读取历史任务,导致当前节点无法定位实际办理人;现由 Warm-Flow 引擎当前任务和办理人关联关系统一组装,覆盖本模块六类流程。代码自动化已验证,页面显示仍需部署后按实例悬停当前节点复验。
2026-10-13 业务文案与去审批化优化:
- 月度督察(
monthlySupervision)与考评管理(assessment)新增弹窗底部操作按钮统一定义为「提交」(去除“提交审批”字样,符合上级向二级单位下发通知/接收业务事实); - 月度督察新增表单默认将「是否需整改」设为「是」(
needsRectification = '1'); - 公共流程办理弹窗(
FlowActionPanel.vue)中附件上传 Label 统一定义为「本次任务处理附件」。