FSD M5 · 订单变更
← 总则 | 附录 → | 上游:主 PRD(6.2 订单变更部分 / 页面树 4 订单变更屏)| 交互稿:prd/design/order/(已确认,订单变更屏)+ prd/design/shipping/(已确认,F05.03 地址边界)
册边界:订单本体生命周期归 m04;本册只承载已确认订单的受控字段变更(前后可对比,PRD 6.2)。在制回写是快照冻结(Q18/R-008)的唯一例外通道;工单侧的执行响应归 m07。本册 P1(MVP 上线订单本体,变更流随 P1 落地)。
M5 订单变更
F05.01 变更单创建
对应 PRD:6.2 规则「订单确认后不得直接覆盖明细;数量、价格、规格、工艺、交期、地址、付款、发票为受控字段」(prd/印刷行业工单系统产品与交互设计.md:218)| 交互稿:prd/design/order/(已确认,订单变更屏 /orders/{orderId}/changes/new)| 实现落点:待回填 | 操作入口:/orders/{orderId}/changes/new(详情「修改」→变更单入口弹层)| 状态:未实现
1 功能定义
已确认订单修改的唯一通道:受控字段(数量/价格/规格/工艺/交期/地址/付款/发票)修改须创建变更单,原值 vs 新值逐项对照(勾选生效)、变更原因必填、与上一版差异留版本链;客户确认凭证上传;审批分级(假设 Q7:变更分级 L1/L2/L3,阈值可配置,待客户确认);生效日期可选。已确认订单详情点「修改」不直接编辑,仅打开变更单入口(B1 归并裁决)。
2 触发条件与前置状态
- 触发:订单详情「修改」→「创建变更单」。
- 前置状态:订单
已确认/生产中/已暂停(草稿直接编辑不走路由 m04 F04.01;取消不可变更)。
3 输入与校验
| 字段 | 必填 | 校验 | 失败处理 |
|---|---|---|---|
| 受控字段新值(勾选生效项) | ≥1 项 | 新值合法(同 F04.01 字段校验) | 全不勾选不可提交 |
| 变更原因 | 是 | 非空、分类枚举 | 阻断 |
| 与上一版对照 | 自动生成 | 逐项差异可读 | — |
| 客户确认凭证 | 涉及价格/数量/交期时必填 | 上传留痕(电子签 P1+ 假设 Q8) | 缺失阻断提交 |
| 生效日期 | 否 | 不早于当日;留空=审批通过即生效 | — |
| 审批分级 | 自动 | 按变更字段与幅度路由 L1/L2/L3(假设 Q7) | 未配置分级阻断提交 |
4 处理流程
5 输出与结果状态
变更单记录(待审批)+ 原订单版本链追加一版(未生效);原值留痕。
6 状态流转
变更单:[*] → 待审批;后续见 F05.02。订单本体状态不变(变更生效时受控字段翻转)。
7 边界与异常
| 条件 | 系统行为 | 提示 |
|---|---|---|
| 同一订单已有在途变更单 | 提示不阻断(人工判断合并或串行) | 「存在在途变更单」 |
| 审批中订单被取消 | 变更单自动作废并标注 | 「订单已取消,变更单作废」 |
| 草稿订单修改 | 不进变更单(直接编辑,m04) | — |
| 修改快照相关字段(工艺/材料) | 标记触发在制影响评估(F05.02) | — |
8 权限与数据规则
- 发起=销售(本人口径);客户凭证仅发起与审批链可见。
- 变更原因与对照记录进审计(F15.03)。
F05.02 变更评审与在制回写
对应 PRD:6.2 异常「审批中版本被改须重提」+ 主流程「变更前后可对比」(prd/印刷行业工单系统产品与交互设计.md:216,220)+ 调研 R-008(变更刷新例外通道)| 交互稿:prd/design/order/(已确认,订单变更屏影响评估区)| 实现落点:待回填 | 操作入口:/orders/{orderId}/changes/new(影响评估三卡+审批)| 状态:未实现
1 功能定义
变更单的审批与生效:影响评估三卡(工单/物料/交期)作为审批依据;审批分级路由(L1/L2/L3,假设 Q7);审批通过后受控字段生效并生成订单新版本;涉及工艺/材料/数量变更时明确刷新在制工单快照(R-008 例外通道——唯一允许刷新已冻结快照的路径),刷新动作留痕;审批中版本被改须重提(6.2 异常)。
2 触发条件与前置状态
- 触发:变更单提交(F05.01)。
- 前置状态:变更单
待审批;订单未被取消。
3 输入与校验
| 字段 | 必填 | 校验 | 失败处理 |
|---|---|---|---|
| 审批结论(同意/驳回) | 是 | 驳回须附原因 | 缺原因阻断 |
| 分级路由 | 自动 | L1/L2/L3 审批人配置(假设 Q7) | 未配置阻断 |
| 影响评估三卡 | 自动生成 | 工单影响数/物料差异数/交期变化可读 | — |
| 刷新在制确认 | 涉及快照字段时 | 逐工单勾选刷新范围 | 未勾选=仅影响后续新建工单 |
4 处理流程
5 输出与结果状态
变更单 已生效/已驳回;订单版本链追加(生效版本);受影响工单快照刷新记录(逐单留痕);交期变化通知相关方(工作台待办 F01.02 事件源)。
6 状态流转
变更单:待审批 → 已生效 / 已驳回;驳回后修改重新提交生成新审批(旧审批留痕)。
7 边界与异常
| 条件 | 系统行为 | 提示 |
|---|---|---|
| 审批中受控字段被再改 | 禁止;改动须驳回后重提(6.2 异常) | 「审批中版本已变更,须重新提交」 |
| 在制工单已报工 | 刷新前提示报工差异,逐单确认 | 「该工单已有报工 N 笔」 |
| 已发货后变更数量 | 影响清单加重;超发校验联动 m12 | — |
| 变更生效后排程冲突 | 通知计划员(m07 待办),不自动重排 | — |
8 权限与数据规则
- 审批角色按分级配置(假设 Q7);财务会签条件沿 m04 取消会签同口径(资金影响时)。
- 快照刷新动作全量审计(F15.03:旧快照版本→新快照版本)。
F05.03 发货地址变更
对应 PRD:6.9 规则「地址变更需销售/订单审批」(prd/印刷行业工单系统产品与交互设计.md:268)| 交互稿:prd/design/shipping/(已确认,发货单屏地址卡小注——本域地址只读)+ prd/design/order/(已确认,变更单入口)| 实现落点:待回填 | 操作入口:/shipping/shipments/{shipmentId}(地址卡「申请变更」)、/orders/{orderId}/changes/new(审批落点)| 状态:未实现
1 功能定义
收货地址作为受控字段的变更通路(跨 order/shipping 两域):发货单屏地址只读,展示「申请变更」入口→生成地址类变更单(销售申请)→订单域审批(本册 F05.02 分级)→生效后发货单地址刷新;未生效前发货按原地址,warehouse 拦截提示。审批流不落 shipping 域(B2 边界裁决)。
2 触发条件与前置状态
- 触发:发货单地址卡「申请变更」(销售);客户联系销售提出。
- 前置状态:发货单存在且未全部签收;订单非取消态。
3 输入与校验
| 字段 | 必填 | 校验 | 失败处理 |
|---|---|---|---|
| 新地址(联系人/电话/地址) | 是 | 齐备性 | 阻断提交 |
| 变更原因 | 是 | 非空 | 阻断 |
| 关联发货单范围 | 是 | 勾选受影响发货单 | 缺失=仅订单级生效 |
| 审批 | 自动 | 走 F05.02 分级(地址类默认 L1,可配置) | — |
4 处理流程
5 输出与结果状态
地址变更单 + 受影响发货单地址刷新记录;驳回归原值;全部留痕。
6 状态流转
沿变更单状态机(F05.02);发货单地址字段随变更生效翻转。
7 边界与异常
| 条件 | 系统行为 | 提示 |
|---|---|---|
| 发货单已交接物流 | 变更仍可审批,物流侧提示重新确认 | 「已交接承运,请同步物流」 |
| 已签收发货单 | 不纳入变更范围(终态) | — |
| 审批期间发货 | 按原地址执行(未生效不拦截) | — |
8 权限与数据规则
- 申请=销售(本人口径);审批=订单域分级(F05.02);仓库只读。
- 地址变更全链审计(F15.03)。
E2E 场景清单(m05 覆盖地图)
| 场景 ID | 场景名 | FSD 功能 ID | 前置种子 | 主干路径 | 关键断言 | 冒烟? | 可并行? | 现状 |
|---|---|---|---|---|---|---|---|---|
| E05.01 | 交期变更主干 | F05.01→F05.02 | 已确认订单 | 创建变更单(新交期)→审批通过 | 受控字段生效;版本链追加;原值留痕 | ✓ | — | 未实现 |
| E05.02 | 原值 vs 新值对照 | F05.01 | 已确认订单 | 勾选字段填新值 | 对照逐项可读;全不勾选不可提交 | ✓ | ✓ | 未实现 |
| E05.03 | 影响评估驱动审批 | F05.02 | 已排产订单+工艺变更 | 提交→三卡生成→分级审批 | 工单/物料/交期影响可读;分级路由正确 | ✓ | — | 未实现 |
| E05.04 | 在制快照刷新(R-008 例外) | F05.02(+F07.01) | 在制工单+工艺变更 | 审批通过→勾选刷新范围 | 工单快照刷新留痕;未勾选工单不刷新 | ✓ | — | 未实现 |
| E05.05 | 审批中修改须重提 | F05.02 | 待审批变更单 | 尝试再改受控字段 | 禁止并提示;驳回后新审批 | — | ✓ | 未实现 |
| E05.06 | 地址变更跨域闭环 | F05.03 | 未签收发货单 | 发货单申请→订单审批→生效 | 地址刷新+通知;shipping 侧只读边界保持 | ✓ | ✓ | 未实现 |
| E05.07 | 订单取消作废变更单 | F05.01/F04.06 | 在途变更单+取消 | 取消订单 | 变更单自动作废并标注 | — | ✓ | 未实现 |