# 临抢修软件·工程状态机设计(草案) > 日期: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 主流程流转 ```text 未上报 -> 已上报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)。 ```mermaid 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 | 修后质量评级 | 验收完成 | 无(简单动作) | ```mermaid 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 节待确认清单。