编辑 | blame | 历史 | 原始文档

临抢修软件·工程状态机设计(草案)

日期:2026-08-25 | 当前依据:AXU0/AXU3/AXU4/AXU10/AXU14/AXU15 及用户已确认的派单、完工状态和验收流程;工程状态统一设计为状态机
2026-09-11 更新:按用户确认的“简化流程 + 只做网络版”口径修订(无艇长环节、无离线数据包;2026-09-16 修正为:XCB助理审核负责分配承修单位、拆单、生成工程单号;2026-09-20 进一步修正为派单页按故障选择、按承修单位生成派工单)。
2026-09-14 更新:离线/数据包相关功能整体取消并删除菜单项(数据包导入、完工信息导入、导出待完工数据包、报价管理模块);艇长环节确认不纳入第一版;JCC 助理审批为必经环节。
2026-09-16 更新:任务状态统一为七个值:“未上报 / 已上报XCB / 上级打回 / XCB助理审核完成 / CMB领导审批完成 / JCC助理审批完成 / JCC处长已阅”;AXU4 承修单位分配、拆单、工程单号生成均在 XCB助理审核环节完成。
2026-09-17 更新:AXU5/6/7 三张审批页统一保留列表、刷新、批量审批,去掉修改、CMB已阅、销项、添加进度备注;统一“审批”用语和“JCC处长审批”名称;故障信息增加三组审批字段。
2026-09-20 范围收口:AXU9、AXU11–AXU13、AXU16 暂不处理,不纳入当前需求;AXU8 继续暂缓。
2026-09-20 更新:JCC处长审批完成后直接进入 XCB助理派单页面;页面显示未派单故障,勾选后一键派单,按承修单位生成派工单;编号为故障编号 + /01、/02 等;除“一键派单”外原截图其他业务按钮暂不需要;故障编号由系统按 潜1基-X号/分类-YYMMDD-nnn 自动生成(2026-09-28 更新,替代原“人工填写”)。AXU8 暂缓核对。AXU14 位于派单之后,每一行=1个派工单,只允许勾选1行;完工状态固定为“未完工(默认)/待备件/完工待试验/完工”;去掉导出、添加进度备注、销项按钮;T员评分写回修后质量评分和意见;“完工”按钮仅跳转 AXU15;AXU15 成功提交后,将关联派工单完工状态写为“完工”,随后进入5菜单完工验收流程:验收申请 → 质检员验收 → 质检负责人验收 → 完工验收打印输出 → 修后质量评级;仅质检员验收、质检负责人验收提供通过/打回,质检员打回验收申请,质检负责人打回质检员验收;验收申请、完工验收打印输出、修后质量评级为简单动作。
2026-09-28 更新(B1-B4):派工单“完工”与首页“已完工”为同一统计状态;两处“完工待试验”口径一致;“待备件”允许直接“完工”;“完工待试验”试验不通过回“未完工”,不新增“返工”状态。
性质:需求梳理阶段的**设计草案**,待用户确认后固化进需求清单。

0. 实现原则(用户确认,2026-08-25)

  • 不搞专门的流程引擎:不引入 BPMN/工作流引擎,不配置动态流程定义。
  • 用状态字段管理流转:任务状态、工程状态均为业务表上的普通状态字段;状态流转由业务操作触发,在业务代码中校验当前状态是否允许该操作,再更新状态字段。
  • 状态变化记录操作人、操作时间、操作意见,形成可追溯的流转日志;AXU4、AXU5/6/7 及 AXU14 已确认不提供“添加进度备注”按钮。
  • AXU5/6/7 不提供通用“修改/销项”操作;审批人只执行批量审批,审批意见、审批结果和审批时间随故障信息保存。
  • 故障上报阶段的销项动作统一由 XCB助理执行;T队和其他审批角色不提供销项操作。销项理由、销项人、销项时间随故障信息保存;销项人自动取当前登录 XCB助理,销项时间自动取系统当前时间。
  • 审批环节顺序固定(T员故障上报→XCB助理审核→CMB领导审批→JCC助理审批→JCC处长审批),不通过流程引擎实例/任务表驱动。(2026-09-11 用户确认简化流程,不含艇长环节)

1. 设计思路:两层状态

截图中的“状态”实际分两类:

  • 任务状态:审批链路进度,AXU3/AXU4/AXU5–AXU7 共用一套取值。
  • 工程状态:审批完成并生成/合并工程单后的施工执行进度。AXU14 的“完工状态”字段已固定为四种取值:未完工(默认)、待备件、完工待试验、完工;首页与派工单的“完工/已完工”“完工待试验”统计口径已按 B1/B2 确认为一致(2026-09-28);其他首页统计口径见 B6。

任务状态机在“JCC处长已阅”结束。后续“XCB助理派单”消费处于该终态且未派单的故障,不再改变任务状态,也不重新分配承修单位;派单动作按故障的承修单位生成派工单。

2. 任务状态机(审批链路)

2.1 任务状态取值(2026-09-16 用户确认)

序号 任务状态 说明 主要操作 操作角色
1 未上报 故障信息停留在T队;T队可以删除 修改、删除、上报 T队
2 已上报XCB 等待XCB助理审核 审核通过/不通过、修改、销项(销项仅XCB助理);通过后可分配多个承修单位、拆单、生成工程单号。审核不通过时不转“上级打回”:内容不合格用“修改”处理,不作为故障处理时点“销项” XCB助理
3 上级打回 CMB领导、JCC助理、JCC处长审批不通过时,均直接退回XCB助理;业务语义等价于“已上报XCB”,但保留独立状态值以区分流转轨迹 审核、修改、销项(销项仅XCB助理);按此前删除规则,T队仍可删除 XCB助理/T队
4 XCB助理审核完成 XCB助理审核完成,等待CMB领导审批 批量审批;审批通过后进入下一状态,审批不通过时转为“上级打回” CMB领导
5 CMB领导审批完成 CMB领导审批完成,等待JCC助理审批 批量审批;审批通过后进入下一状态,审批不通过时转为“上级打回” JCC助理
6 JCC助理审批完成 JCC助理审批完成,等待JCC处长审批 批量审批;审批通过后进入下一状态,审批不通过时转为“上级打回” JCC处长
7 JCC处长已阅 JCC处长审批完成,任务状态机终态 后续进入派单管理;显示未派单故障,勾选后一键派单,按承修单位生成派工单 XCB助理

2.2 主流程流转

未上报
  -> 已上报XCB(T队上报)
  -> XCB助理审核完成(XCB助理通过;可分配多个承修单位、拆单、生成工程单号)
  -> CMB领导审批完成(CMB领导通过)
  -> JCC助理审批完成(JCC助理通过)
  -> JCC处长已阅(JCC处长审批完成)
  -> XCB助理派单(任务状态不变:未派单故障 -> 勾选 -> 一键派单 -> 按承修单位生成派工单)

退回规则(不逐级打回,统一回到XCB助理):
XCB助理审核完成 -> 上级打回(CMB领导审批不通过)
CMB领导审批完成 -> 上级打回(JCC助理审批不通过)
JCC助理审批完成 -> 上级打回(JCC处长审批不通过)
上级打回 -> XCB助理审核完成(XCB助理重新审核通过)

XCB助理审核不通过(不是“上级打回”):
内容不合格 -> 使用“修改”按钮修正内容
不作为故障处理 -> 点“销项”

流转要点:

  • AXU5/6/7 共通操作(2026-09-17 确认):界面只保留列表、刷新、批量审批;去掉修改、CMB已阅、销项、添加进度备注。三页界面、菜单和按钮统一使用“审批”,JCC处长页面及菜单统一写“JCC处长审批”。

  • 承修单位分配在XCB助理审核环节完成:一个故障单可分配多个承修单位;审核完成后按承修单位拆成多个工程单。

  • 工程单号在XCB助理审核环节生成:规则为“固定-X号/班组类别-YYMMDD-厂家代号/序号”,其中 YYMMDD 为上报日期;审核完成后即可领器材。
  • 派单页按故障选择并按承修单位生成派工单:JCC处长审批完成后,页面显示未派单故障;勾选后点击“一键派单”,一个故障的每个承修单位各生成一张派工单。派单时不再重新分配承修单位或修改厂家。除“一键派单”外,原截图其他业务按钮暂不需要。
  • “上级打回”是独立任务状态值:不是普通进度备注或布尔标记;CMB领导、JCC助理、JCC处长均直接退回XCB助理,不回退到各自的上一级,也不出现逐级打回。
  • “上级打回”与“已上报XCB”业务语义等价:两者都等待XCB助理审核、都允许XCB助理继续处理和修改;区别是状态值不同、流转轨迹不同。代码中应保存为不同枚举值。
  • XCB助理审核不通过不等于“上级打回”(2026-09-16确认):“上级打回”只由CMB领导、JCC助理、JCC处长发起。XCB助理审核时,内容不合格由XCB助理通过“修改”按钮自行修正;不作为故障处理时点“销项”。
  • 删除例外:按此前确认,任务状态为“上级打回”时仍允许删除。
  • 审批字段组:故障信息保存 CMB领导、JCC助理、JCC处长三组“审批意见、审批结果(通过/不通过)、审批时间”。
  • 销项字段组:故障信息保存“销项理由、销项人、销项时间”;故障上报阶段的销项动作统一由XCB助理执行,销项人自动取当前登录的XCB助理,销项时间自动取系统当前时间。
  • “销项”不属于上述七个任务状态:AXU4 页面的销项按钮保留,且故障上报阶段统一由XCB助理执行;销项理由、销项人、销项时间随故障信息保存,销项人自动取当前登录XCB助理,销项时间自动取系统当前时间。销项后的工程状态/处理方式待确认。

2.3 审批信息字段组(2026-09-17 用户确认)

故障信息中增加三组审批字段,每组三个字段:

审批环节 审批意见 审批结果 审批时间
CMB领导 CMB领导审批意见 CMB领导审批结果(通过/不通过) CMB领导审批时间
JCC助理 JCC助理审批意见 JCC助理审批结果(通过/不通过) JCC助理审批时间
JCC处长 JCC处长审批意见 JCC处长审批结果(通过/不通过) JCC处长审批时间

说明:三组字段随故障信息保存,分别记录三个审批环节的意见、结果和操作时间;审批结果值为“通过/不通过”。

2.4 销项信息字段组(2026-09-17 用户确认)

故障信息中增加“销项理由、销项人、销项时间”三个字段。故障上报阶段的销项动作统一由XCB助理执行;T队和其他审批角色不提供销项操作。销项人自动取当前登录的XCB助理,销项时间自动取系统当前时间。

2.5 派单规则(2026-09-20 用户确认)

  • 入口:JCC处长审批完成后,流程直接进入 XCB助理派单页面。
  • 页面数据:显示“未派单”的故障一览;派单完成后,该故障不再出现在未派单列表。是否单独保存“派单状态”字段由实现阶段决定,也可以根据是否已存在派工单派生判断。
  • 操作:勾选一个或多个故障,点击“一键派单”。
  • 生成规则:按每个故障的承修单位生成派工单;一个故障有多个承修单位时,每个承修单位各生成一张派工单。
  • 派工单编号:故障编号 + / + 两位序号,从 /01 开始;同一故障多个承修单位依次为 /01、/02 等。例:故障编号 F001 有两个承修单位时生成 F001/01、F001/02。
  • 按钮范围:除“一键派单”外,原 AXU10 截图中的修改、生成临修工程单、删除亚复(疑为清除重复)等业务按钮暂不需要。
  • 任务状态:派单不改变任务状态,仍然保持“JCC处长已阅”;“未派单/已派单”是派单环节的独立查询口径。
  • 关联规则:XCB助理审核仍负责分配承修单位、拆单并生成工程单号;派单时不再重新分配或修改承修单位。
  • 常用承修单位显示:XCB助理审核分配承修单位时,候选列表来自“系统管理 > 承修单位管理”,按“排序”排序后显示前7个常用承修单位。
  • 故障编号来源(2026-09-28 更新):由系统自动生成,规则 潜1基-X号/分类-YYMMDD-nnn(X号3位数字、分类取“T队专业配置”的 A/B、YYMMDD 为上报日期、nnn 为同一 X号+同一T队专业+同一上报日期的序号,从 001 起);故障信息保留“故障编号”字段,生成后不可修改。

3. 工程状态机(执行链路)

3.1 派工单“完工状态”字段(2026-09-20 用户确认)

派工单的“完工状态”固定为四种取值;派单生成派工单时默认“未完工”:

状态码 状态名 截图/页面依据 含义
PENDING 未完工 AXU0/14 派单后默认值;施工未完成
PARTS 待备件 AXU0/14 缺备件、施工挂起
TRIAL 完工待试验 AXU0/14 施工完成、待试验
DONE 完工 AXU0/14/15 施工完成;由 AXU15 成功提交后写入

“完工”是本字段的第四种取值,不再写成“已完工”。触发规则(2026-09-20 确认):AXU14 的“完工”按钮只跳转 AXU15,AXU15 成功提交后才回写关联派工单完工状态为“完工”。“待验收/已验收/已销项”不并入本字段;后续是否另设状态或字段待确认。首页“已完工”与这里的“完工”已按 B1 确认为同一统计口径(2026-09-28);验收状态单独维护,不并入完工状态字段。

3.2 完工状态流转与页面操作(2026-09-20 修订)

  • AXU14 位于派单之后;每一行代表1个派工单,只允许勾选1行。
  • 勾选1张派工单后,点击“未完工”“待备件”或“完工待试验”,直接将所选派工单的完工状态设置为对应值。
  • 点击“完工”时仅跳转到 AXU15“完工信息上报”;AXU15 成功提交后,系统再将关联派工单完工状态写为“完工”。提交失败或未提交时,不写入“完工”状态。
  • 本页去掉“导出”“添加进度备注”“销项”按钮;列表去掉“工程单单号”,增加“完工状态”。
  • T员评分:点击后将“修后质量评分”和“修后质量意见”写入所选派工单的对应字段,不改变完工状态。
  • 各状态设置按钮允许的前置状态尚未明确,先用“?”标记,不在设计中自行限定。
  • “待备件”允许直接提交 AXU15 并转为“完工”(2026-09-28,B3)。
  • “完工待试验”试验不通过时回到“未完工”;第一版不新增“返工”状态(2026-09-28,B4)。
stateDiagram-v2
    [*] --> 未完工: 派单生成(默认)
    未完工 --> 待备件: 设置待备件
    待备件 --> 未完工: 设置未完工
    未完工 --> 完工待试验: 设置完工待试验
    待备件 --> 完工待试验: 设置完工待试验(前置状态待确认)
    完工待试验 --> 未完工: 试验不通过(2026-09-28 确认)
    完工待试验 --> 待备件: 设置待备件(是否允许待确认)
    未完工 --> 完工: AXU15提交成功
    待备件 --> 完工: AXU15提交成功(允许直接完工)
    完工待试验 --> 完工: AXU15提交成功
    完工 --> 未完工: 设置未完工(是否允许待确认)
    完工 --> 待备件: 设置待备件(是否允许待确认)
    完工 --> 完工待试验: 设置完工待试验(是否允许待确认)

3.3 完工状态操作矩阵(2026-09-28 修订)

操作 未完工 待备件 完工待试验 完工 角色
勾选1行 ✓ ✓ ✓ ✓ 待确认
设置未完工 ✓(保持不变) ✓ ✓(试验不通过) ? 待确认
设置待备件 ✓ ✓(保持不变) ? ? 待确认
设置完工待试验 ✓ ✓ ? ? 待确认
完工(AXU14跳转AXU15;AXU15提交成功后写入) ✓ ✓(可直接完工) ✓ ? 待确认
T员评分(写回修后质量评分、修后质量意见) ? ? ? ? T员;具体角色与时机待确认

说明:? 表示尚未明确该前置状态是否允许,不自行限定。B3 已确认“待备件”可直接转“完工”;B4 已确认“完工待试验”试验不通过回“未完工”,不新增“返工”状态。AXU14 去掉导出、添加进度备注、销项,不代表其他页面上的同名操作一并取消;其他页面的按钮范围继续按各自已确认口径处理。

3.4 完工验收流程(2026-09-20 用户确认)

入口:AXU15 完工信息成功提交后,进入验收申请。

序号 菜单/节点 后续节点 打回
1 验收申请 质检员验收 无(简单动作)
2 质检员验收 质检负责人验收 验收申请
3 质检负责人验收 完工验收打印输出 质检员验收
4 完工验收打印输出 修后质量评级 无(简单动作)
5 修后质量评级 验收完成 无(简单动作)
stateDiagram-v2
    [*] --> 验收申请: AXU15成功提交
    验收申请 --> 质检员验收: 提交申请
    质检员验收 --> 质检负责人验收: 通过
    质检员验收 --> 验收申请: 打回
    质检负责人验收 --> 完工验收打印输出: 通过
    质检负责人验收 --> 质检员验收: 打回
    完工验收打印输出 --> 修后质量评级: 完成打印输出
    修后质量评级 --> 验收完成: 完成评级

规则:

  • 仅“质检员验收”“质检负责人验收”提供“通过/打回”;“验收申请”“完工验收打印输出”“修后质量评级”为简单动作,不设计复杂审批表单。
  • 质检员验收打回验收申请;质检负责人验收打回质检员验收。
  • 本流程节点与派工单“完工状态”字段分开;派工单完工状态仍只有“未完工/待备件/完工待试验/完工”四种。
  • 各环节操作角色、打印输出的实际行为,以及“修后质量评级”与 AXU14“T员评分”字段的关系待确认。

3.5 首页统计卡片映射

首页卡片(AXU0) 统计口径(草案) 备注
工程总数 全部未销项工程数
未完工 未完工 + 待备件 【待确认】是否合并
完工待试验 派工单完工状态 = WAIT_TEST 已确认与 AXU14 同一口径(B2,2026-09-28)
已完工 派工单完工状态 = COMPLETED 已确认为同一统计状态;验收状态单列,不混入该统计(B1,2026-09-28)
待处理 未派单/待开工工程? 【待确认】
小修 工程类别=小修 的数量? 【待确认】疑为修理类别
重大故障 故障性质=重大 的未销项工程数 【待确认】
销项总数 已销项工程数
待备件 待备件 数 卡片可选
器材审核 / 自筹器材审核 待审器材单数量 【待确认】
TD / JC信息 含义未明 【待确认】

4. 待确认事项(本次新增)

  1. 【已解决 2026-09-28】派工单“完工”(COMPLETED)与首页“已完工”为同一统计状态。
  2. 【已解决 2026-09-28】两处均使用“完工待试验”/WAIT_TEST,口径一致。
  3. 【已解决 2026-09-28】允许“待备件”直接“完工”,由 AXU15 提交成功后写入。
  4. 【已解决 2026-09-28】试验不通过回“未完工”,不单设“返工”状态。
  5. 【已解决 2026-09-20】完工验收打回目标:质检员验收打回验收申请,质检负责人验收打回质检员验收。
  6. 首页"待处理""小修""重大故障""TD""JC信息"的统计口径
  7. "未完工"是否拆分为"待开工/施工中"两个状态
  8. 销项是否可撤销(恢复)
  9. 已验收(终态)后是否仍有查询/归档/打印等操作
  10. T员评分可用时机(AXU14 按钮行为已确认:将修后质量评分、修后质量意见写回所选派工单;具体可用时机仍待确认)
  11. 【已解决 2026-09-14】只做网络版后,离线相关页面/按钮整体取消:AXU2 数据包导入、完工信息导入、导出待完工数据包、报价导出/导入
  12. 【已解决 2026-09-20】派单口径:XCB助理审核仍填“承修单位/跟踪技术队/要求完工日期”,并负责分配多个承修单位、按承修单位拆单、生成工程单号;JCC处长审批完成后进入派单页面,显示未派单故障,勾选后一键派单,按承修单位生成派工单,编号为故障编号 + /01、/02 等。派单时不再分配或修改承修单位,原截图其他业务按钮暂不需要。
  13. 【已解决 2026-09-16】XCB助理审核不通过后的处理:不转“上级打回”;内容不合格时由XCB助理通过“修改”按钮修正内容,不作为故障处理时点“销项”。“上级打回”仅适用于CMB领导、JCC助理、JCC处长退回XCB助理。
  14. 【已解决 2026-09-17】AXU5/6/7 共通操作、审批用语和审批字段组:保留列表、刷新、批量审批;去掉修改、CMB已阅、销项、添加进度备注;统一“审批”用语和“JCC处长审批”名称;增加 CMB领导/JCC助理/JCC处长三组审批意见、审批结果、审批时间字段。
  15. 【已解决 2026-09-17】故障上报阶段销项:统一由XCB助理执行;故障信息增加销项理由、销项人、销项时间字段;销项人自动取当前登录XCB助理,销项时间自动取系统当前时间。
  16. 【更新 2026-09-28】故障编号由系统自动生成(潜1基-X号/分类-YYMMDD-nnn);系统管理新增“工程专业配置”“T队专业配置”,T队专业/工程专业下拉改由配置读取。
  17. AXU14 操作角色、各状态设置按钮的启用条件,以及跳转 AXU15 时是否传入选中的派工单。
  18. 完工验收流程各环节操作角色;完工验收打印输出的实际打印行为;“修后质量评级”与 AXU14“T员评分”字段的关系。

5. 与现有文档的关系

  • 本草案是 requirement\前44页需求梳理.md 第 6.1 节状态的细化,确认后回填进需求清单。
  • 待确认项并入原文档第 9 节待确认清单。