2-workflow_design.md 3.54 KB

🔄 流程架构师 | 步骤 2/7 | 21.2s


1. 工单生命周期状态机

草稿
→ 待派工:工单已审核,绑定型号、批次、工艺路线
→ 执行中:至少一个 SN/工序已开工
→ 暂停:计划暂停、缺料、设备不可用
→ 异常中:存在未关闭异常/返修
→ 待质检:全部工序完成,等待终检/审核
→ 已完成:质检通过,允许入库
→ 已关闭:入库完成或管理员归档

补充状态:

  • 已取消:草稿/待派工阶段取消
  • 部分完成:部分 SN 完成,部分仍在制或异常

2. 工序任务状态机

待开始
→ 进行中:扫码 SN、校验通过、记录开工人/工位/设备
→ 待测试:装配类工序完成,等待测试录入/采集
→ 测试通过
→ 已完成:结果提交并锁定

异常分支:

进行中/待测试
→ 测试失败
→ 返修中
→ 待复测
→ 测试通过 / 测试失败

其他终态:

已跳过:管理员授权跳过,必须记录原因
已取消:工单取消或 SN 作废

3. 正常流程路径

  1. 管理员创建工单:录入型号、数量、批次、计划时间。
  2. 绑定工艺路线:生成 SN 与工序任务。
  3. 工单审核后进入 待派工
  4. 系统按工序/工位派工。
  5. 操作员扫码 SN 开工。
  6. 后端校验:工单状态、SN、当前工序、人员权限、设备状态、物料批次。
  7. 操作员完成装配/测试,提交结果、附件、日志。
  8. 每道工序完成后流转到下一工序。
  9. 全部工序通过后,工单进入 待质检
  10. 质检通过后进入 已完成,入库后 已关闭

4. 异常流程路径

  • 测试失败:工序 → 测试失败;SN 冻结;生成异常单;管理员判定返修、让步放行或报废。
  • 漏扫:禁止提交结果;提示“未扫码开工”;需补扫码或管理员补录并审计。
  • 重复扫码:若同 SN 同工序已进行中,返回冲突;若已完成,禁止重复开工。
  • 物料不匹配:阻断开工/提交;记录异常;需更换物料或管理员审批。
  • 设备离线:阻断测试类工序;工单可进入 暂停;恢复后继续。
  • 人员无权限:拒绝操作;记录越权尝试日志。

5. 前后端关键交互节点

  • POST /work-orders:创建工单
  • POST /work-orders/{id}/release:审核下达
  • POST /sn/{sn}/scan-start:扫码开工校验
  • POST /operations/{id}/materials:绑定物料批次
  • POST /operations/{id}/test-results:提交测试结果
  • POST /exceptions:创建异常
  • POST /repairs/{id}/close:返修闭环
  • POST /work-orders/{id}/qc-pass:质检通过
  • GET /trace/sn/{sn}:SN 全链路追溯查询

每次提交必须返回:成功状态、当前工序状态、下一步动作、错误码。


6. 追溯事件与审计日志

所有关键动作沉淀为事件表:

event_id, entity_type, entity_id, sn, work_order_id,
operation_id, action, before_state, after_state,
actor_id, role, workstation_id, device_id,
material_batch_id, timestamp, result, reason,
source_ip, attachment_hash, previous_hash

规则:

  • 业务表可更新,事件日志只追加不修改。
  • 每条事件记录操作者、时间、对象、状态变化和原因。
  • 附件/测试文件保存摘要 hash。
  • 使用 previous_hash + current_hash 形成链式审计。
  • 管理员修正数据必须生成“更正事件”,不得覆盖原记录。