# FSD M4 · 销售订单

LLMS 索引： [llms.txt](/llms.txt)

---

> [← 总则](/poms/fsd/00-%E6%80%BB%E5%88%99/) ｜ [附录 →](/poms/fsd/99-%E9%99%84%E5%BD%95/) ｜ 上游：[主 PRD](/poms/%E5%8D%B0%E5%88%B7%E8%A1%8C%E4%B8%9A%E5%B7%A5%E5%8D%95%E7%B3%BB%E7%BB%9F%E4%BA%A7%E5%93%81%E4%B8%8E%E4%BA%A4%E4%BA%92%E8%AE%BE%E8%AE%A1/)（6.2 / 7.3）｜ 交互稿：[prd/design/order/](/poms/design/order/readme/)（已确认）
>
> 册边界：订单变更单 = m05；拆合/排产/齐套/插单 = m07；发货 = m12；对账 = m13。本册覆盖订单本体生命周期（创建→评审→确认→快照→取消/恢复）与查询视图。

### M4 销售订单

#### F04.01 订单创建与报价转单

**对应 PRD**：6.2 主流程/字段要点（`prd/印刷行业工单系统产品与交互设计.md:214-220`）｜ **交互稿**：[prd/design/order/](/poms/design/order/readme/)（已确认，订单列表屏）｜ **实现落点**：待回填 ｜ **操作入口**：`/orders`（「从报价转单」「无报价录单」入口）｜ **状态**：未实现

##### 1 功能定义

把已确认报价（或补充条件）固化为订单——订单是客户承诺的**唯一执行起点**。转单时带入选定报价版本为基线；支持无报价录单但必须标注价格证据来源（**假设 Q6**：是否允许无报价录单，待客户确认；原型按允许+凭证必填设计）。

##### 2 触发条件与前置状态

- 入口：报价详情「转订单」（仅已确认版本，F03.05 联动）；订单列表「新建订单」。
- 前置状态：来源报价 `已确认` 且未失效、未被其他订单占用基线；无报价录单时客户存在（F02.01）。
- 前置数据：客户信用/收款策略已由财务启用（未启用时提示，不阻断建草稿）。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 来源报价版本 | 转单时必填 | 状态=已确认、未失效、基线未占用 | 提示「报价已失效/已转单，请重新确认」并阻断 |
| 客户 | 是 | 存在且未作废 | 阻断 |
| 明细（数量/单价/规格） | 是 | 与报价基线一致或标注差异原因 | 差异未标注阻断提交评审 |
| 承诺交期 | 是 | 不早于当日 | 阻断 |
| 收货信息/付款条款/定金/发票类型 | 是 | 按 6.2 字段要点齐备 | 缺失阻断提交评审（草稿可存） |
| 无报价录单·价格依据 | 无报价时必填 | 凭证/说明留痕 | 缺失阻断 |

##### 4 处理流程

```mermaid
flowchart TD
    A[转单/新建入口] --> B{来源报价有效?}
    B -- 是 --> C[带入选定版本+四类基线引用]
    B -- 否 --> X[阻断: 重新确认报价]
    C --> D[补充明细与条款]
    D --> E[冲突检查: 明细 vs 报价基线]
    E -- 有差异 --> F[差异标注必填]
    E -- 一致 --> G[存草稿]
    F --> G
    G --> H[提交评审 → F04.04]
```

##### 5 输出与结果状态

订单记录（状态 `草稿`）+ 来源报价基线回链（转单后报价侧显示基线链接，6.1）；无报价录单留证据附件。

##### 6 状态流转

`[*] → 草稿`；草稿可编辑至提交评审（`草稿 → 待评审` 见 F04.04）。草稿作废走取消留痕（删除行为禁用，PRD 对象关系约束）。

##### 7 边界与异常

| 条件 | 系统行为 | 提示 |
|------|----------|------|
| 报价在草稿期间失效 | 提交评审时复验状态 | 「报价已失效须重新确认」阻断 |
| 重复订单（同客户同基线） | 提示不阻断（人工判断） | 「存在疑似重复订单」 |
| 审批中报价版本被修改 | 转单以提交时版本为准；基线变化提示 | 「来源报价已更新，请核对」 |
| 客户信用超额 | 按财务策略：阻断或提示（**假设**，策略待访谈） | 阻断时「信用额度不足，走财务审批」 |

##### 8 权限与数据规则

- 销售：创建/编辑草稿（本组织、本人或授权客户范围）。
- 报价基线字段只读——修改走变更单（m05）。
- 毛利/成本字段不出现于创建表单（Q41 矩阵，F15.02 收口）。

#### F04.02 订单列表与检索

**对应 PRD**：6.2（订单状态与查询）｜ **交互稿**：[prd/design/order/](/poms/design/order/readme/)（已确认，订单列表屏）｜ **实现落点**：待回填 ｜ **操作入口**：`/orders` ｜ **状态**：未实现

##### 1 功能定义

订单集合的查询入口：按状态/客户/交期筛选，行内展示来源报价基线（锁定可对照）、状态徽标、风险标签；为角色提供「待我处理」的工作入口。

##### 2 触发条件与前置状态

- 入口：全局导航「订单」；工作台待办跳转（F01.02）。
- 前置状态：无（查询类功能）。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 筛选：状态/客户/交期区间/订单类型 | 否 | 交期起止合法 | 重置筛选 |
| 分页 | 否 | 默认按承诺交期升序 | — |

##### 4 处理流程

按数据范围过滤 → 渲染列表（订单号/客户/明细摘要/交期/状态徽标/来源报价基线列）→ 点击行进详情（F04.03）。

##### 5 输出与结果状态

列表视图；空状态显示筛选引导。行内操作按状态渲染（取消/恢复入口仅在详情弹层，B1 归并）。

##### 6 状态流转

无独立状态（查询视图）；展示的对象状态见订单状态机（order README 状态迁移图）。

##### 7 边界与异常

| 条件 | 系统行为 | 提示 |
|------|----------|------|
| 无权限范围数据 | 不渲染（非打码） | — |
| 毛利类列 | 按角色渲染（Q41：销售视角不出现） | — |
| 大结果集 | 分页 | — |

##### 8 权限与数据规则

数据范围 = 组织 + 销售归属 + 授权；跨客户数据不可见（6.8：不得跨客户自动暴露订单详情）。

#### F04.03 订单详情

**对应 PRD**：6.2 / 7.3 订单详情页（`prd/印刷行业工单系统产品与交互设计.md:371-374`）｜ **交互稿**：[prd/design/order/](/poms/design/order/readme/)（已确认，订单详情屏）｜ **实现落点**：待回填 ｜ **操作入口**：`/orders/{orderId}` ｜ **状态**：未实现

##### 1 功能定义

订单的工作中心：顶部状态条（状态/承诺交期/预计完成/收款状态/风险标签/关键操作）+ 分区平铺（基本/明细/工艺路线快照/材料/计划工单/发货/账单/沟通/变更/附件/审计），复杂表格折叠。

##### 2 触发条件与前置状态

- 入口：订单列表行点击；跨域跳转（工作台待办/工单回链/对账单来源）。
- 前置状态：订单存在。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| orderId | 是 | 存在且在数据范围内 | 404 提示 |

##### 4 处理流程

按状态渲染操作区 → 分区加载（默认平铺核心信息）→ 报价基线可展开对照但**不允许在详情直接改报价** → 快照 tab 提供「冻结 vs 主数据最新版」对照与刷新评估入口（动作归 m05 F05.02）→ 计划工单 tab 跳工单详情（F07.01）→ 审计 tab 只增不删（F15.03 的订单过滤视图）。

##### 5 输出与结果状态

只读视图 + 按状态渲染的操作集（提交评审/取消/恢复/创建变更单入口）；状态变化时顶部显示不可逆提示与时间线。

##### 6 状态流转

对象状态机见 order README；本节为状态承载视图，操作触发各功能节（F04.04/F04.06/m05）。

##### 7 边界与异常

| 条件 | 系统行为 | 提示 |
|------|----------|------|
| 已确认订单点「修改」 | 仅打开变更单入口弹层（不直接编辑） | 「已确认订单修改须走变更单」 |
| 审批中 | 显示当前节点与代理人（7.3） | — |
| 快照与主数据有差异 | 对照展示，不阻断 | 「当前路线/材料版本与主数据最新版不同，可发起刷新评估」 |
| 审计记录 | 只读追加 | — |

##### 8 权限与数据规则

毛利字段按 Q41 脱敏（原型销售视角「🔒 无权限」）；审计 tab 只读；发货/账单 tab 为跨域摘要（明细在 m12/m13）。

#### F04.04 订单评审与确认

**对应 PRD**：6.2 主流程「提交评审—审批通过—确认订单—生成工单」｜ **交互稿**：[prd/design/order/](/poms/design/order/readme/)（已确认，详情屏操作区）｜ **实现落点**：待回填 ｜ **操作入口**：`/orders/{orderId}`（提交评审/评审操作）｜ **状态**：未实现

##### 1 功能定义

订单的风险与交期评审：评审人发现材料/交期/毛利风险并批准或退回；批准后确认订单，冻结快照（F04.05）并生成工单（F07.01）。

##### 2 触发条件与前置状态

- 触发：草稿提交评审（F04.01）。
- 前置状态：订单 `草稿`；受控字段与必填项齐备；差异（若有）已标注。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 评审结论（批准/退回） | 是 | 退回须附原因 | 缺原因阻断 |
| 风险标记（材料/交期/毛利） | 否 | 评审人标注 | — |
| 确认操作 | 批准后 | 快照冻结成功才可确认 | 快照失败阻断并提示重试 |

##### 4 处理流程

```mermaid
flowchart TD
    A[提交评审] --> B{评审}
    B -- 退回 --> C[草稿 + 原因]
    B -- 批准 --> D[冻结四类快照 F04.05]
    D --> E[确认订单]
    E --> F[生成工单 → F07.01]
```

##### 5 输出与结果状态

订单 `已批准 → 已确认`；评审意见与风险标记留痕；工单生成事件。

##### 6 状态流转

`待评审 → 已批准（评审通过）→ 已确认（确认+快照+工单）`；`待评审 → 草稿（退回）`。

##### 7 边界与异常

| 条件 | 系统行为 | 提示 |
|------|----------|------|
| 评审通过但快照冻结失败（主数据正在变更） | 阻断确认，重试取最新生效版本 | 「主数据版本冲突，请重试」 |
| 确认前修改受控字段 | 须退回草稿（评审中不可改，改则重提，6.2 异常） | 「审批中版本已变更，须重新提交」 |
| 客户确认证据 | 按需上传附件 | — |

##### 8 权限与数据规则

- 评审角色：销售经理/财务/生产（6.2 权限）；确认人=销售经理或以上。
- 计划员只读快照（确认后）。
- 毛利风险评审按 Q41 角色渲染。

#### F04.05 订单快照冻结

**对应 PRD**：6.2「选择路线和材料快照」+ 调研 R-008（订单冻结产品/工艺/材料/拼版快照）｜ **交互稿**：[prd/design/order/](/poms/design/order/readme/)（已确认，详情屏快照 tab）｜ **实现落点**：待回填 ｜ **操作入口**：`/orders/{orderId}`（快照 tab）｜ **状态**：未实现

##### 1 功能定义

订单确认时点冻结**四类快照**：产品（含 BOM/规格）、工艺路线（含工序序列与损耗参数）、材料（版本与批次口径）、拼版（开数方案 R-002）。已下达订单/工单默认不随主数据变化；主数据后续变化时提供「冻结 vs 最新版」对照与**刷新评估**入口（评估与回写动作归 m05 F05.02，R-008 例外通道）。

##### 2 触发条件与前置状态

- 触发：订单确认动作（F04.04 流程 D）。
- 前置状态：引用的主数据均为 `已生效` 版本（m06 状态机）。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 产品版本/路线版本/材料版本/拼版方案 | 是 | 引用版本存在且生效 | 版本失效阻断确认并提示重选 |
| 快照完整性 | 是 | 四类齐备 | 缺类阻断 |

##### 4 处理流程

复制当时生效版本内容为订单内快照 → 记录版本号与冻结时点 → 主数据变化时详情对照提示（不阻断）→ 「发起刷新评估」跳变更单（m05）。

##### 5 输出与结果状态

四类快照集（不可变）+ 基线版本号；报价基线链接并存（6.1 转单后显示基线链接）。

##### 6 状态流转

快照一经冻结不可变；唯一出口 = 变更单明确刷新（m05 F05.02 审批后生成新快照版本，旧快照留痕）。

##### 7 边界与异常

| 条件 | 系统行为 | 提示 |
|------|----------|------|
| 主数据版本失效（m06） | 已冻结快照不受影响 | — |
| 主数据更新 | 详情对照提示，默认不刷新 | 「当前版本与主数据最新版不同」 |
| 刷新评估 | 跳转变更单（m05），不在本节内完成 | — |

##### 8 权限与数据规则

计划员/车间读快照（生产方法依据）；刷新评估须变更审批权限；快照内容按 Q41 脱敏（成本类参数）。

#### F04.06 订单取消与恢复

**对应 PRD**：6.2「订单取消须校验是否已排产、领料、报工、发货、开票和收款；取消不影响历史审计」+ 7.3｜ **交互稿**：[prd/design/order/](/poms/design/order/readme/)（已确认，详情屏取消弹层——页面树 4.4 归并）｜ **实现落点**：待回填 ｜ **操作入口**：`/orders/{orderId}`（「取消订单」弹层/「恢复」操作）｜ **状态**：未实现

##### 1 功能定义

订单生命周期终止与恢复：取消前校验六类在制影响（排产/领料/报工/发货/开票/收款）生成影响清单；取消为作废留痕（删除行为禁用）；取消单在符合条件时可发起恢复（B1 归并裁决：不设独立屏，弹层承载）。

##### 2 触发条件与前置状态

- 触发：详情屏「取消订单」（状态 `已确认`/`生产中`/`已暂停`）或「恢复」（状态 `取消`）。
- 前置状态：取消——在制影响清单已生成；恢复——无未完结的退款/红冲事项（m13）。

##### 3 输入与校验

| 字段 | 必填 | 校验 | 失败处理 |
|------|------|------|----------|
| 取消原因 | 是 | 非空 | 阻断 |
| 在制影响清单 | 自动生成 | 六类校验（排产/领料/报工/发货/开票/收款） | 有在制时须清单随审批 |
| 财务会签 | 有应收/已收款时必签 | 会签完成 | 未会签阻断提交 |
| 恢复原因 | 是 | 非空 | 阻断 |

##### 4 处理流程

```mermaid
flowchart TD
    A[取消入口] --> B[生成在制影响清单]
    B --> C{有在制影响?}
    C -- 是 --> D[财务会签 + 审批]
    C -- 否 --> D
    D --> E[取消生效: 作废留痕]
    E --> F[受影响工单/排程联动 → m07]
    E --> G[恢复入口待命]
    G --> H[恢复申请 + 原因]
    H --> I[重新评审 → 已确认]
```

##### 5 输出与结果状态

订单状态 `取消`（作废留痕，原记录可追溯）；影响清单与审批记录留档；恢复后订单回 `已确认` 并重新评审。

##### 6 状态流转

`已确认/生产中/已暂停 → 取消（审批+会签）`；`取消 → 已确认（恢复，重新评审）`；`取消 → [*]`（终态亦可）。

##### 7 边界与异常

| 条件 | 系统行为 | 提示 |
|------|----------|------|
| 已发货数量 > 0 | 影响清单列明，审批加重 | — |
| 已开票/已收款 | 财务会签必签；退款/红冲走 m13 | — |
| 工单已报工 | 工单侧先取消/终止（m07/m08 联动），订单侧展示依赖 | 「存在在制工单，需先处理」 |
| 取消后主数据/审计 | 历史审计不受影响，原始证据保留 | — |

##### 8 权限与数据规则

取消发起=销售经理；财务会签必签（有资金影响时）；恢复权限同取消；全部操作进审计（F15.03）。

## E2E 场景清单（m04 覆盖地图）

> 9 列规范见 [00-总则 §5](/poms/fsd/00-%E6%80%BB%E5%88%99/)；断言用例属编码期，本表只立覆盖地图。现状列 = 门禁前（未实现）。

| 场景 ID | 场景名 | FSD 功能 ID | 前置种子 | 主干路径 | 关键断言 | 冒烟? | 可并行? | 现状 |
|---------|--------|-------------|----------|----------|----------|-------|---------|------|
| E04.01 | 报价转单主干 | F03.05→F04.01→F04.04 | 已确认报价 QT（未占用） | 转单→补充→提交评审→批准→确认 | 订单生成且基线回链；报价侧显示基线链接 | ✓ | ✓ | 未实现 |
| E04.02 | 无报价录单 | F04.01 | 客户存在 | 新建→填价格依据→提交 | 无依据时阻断；有依据留痕 | ✓ | ✓ | 未实现 |
| E04.03 | 评审退回重提 | F04.04 | 待评审订单 | 退回附原因→修改→重提 | 状态回草稿；退回原因留痕 | — | ✓ | 未实现 |
| E04.04 | 确认冻结四类快照 | F04.05（+F04.04） | 生效版本主数据齐备（m06） | 确认订单 | 四类快照冻结且版本号记录 | ✓ | — | 未实现 |
| E04.05 | 主数据变化对照不刷新 | F04.05 / m06 | 已确认订单+主数据发布新版本 | 修改主数据→打开订单快照 tab | 快照不变；对照提示出现；无刷新动作 | ✓ | ✓ | 未实现 |
| E04.06 | 刷新评估走变更单 | F04.05→F05.02 | 已确认订单+主数据已更新 | 快照 tab 发起刷新评估→变更单 | 跳转变更单；原快照保留 | — | ✓ | 未实现 |
| E04.07 | 在制取消 | F04.06（+m07） | 已确认订单+在制工单 | 取消→影响清单→会签→审批 | 六类清单生成；订单作废留痕；工单联动 | ✓ | — | 未实现 |
| E04.08 | 取消单恢复 | F04.06 | 取消状态订单（无未完结退款） | 恢复→重新评审→已确认 | 状态回已确认；恢复原因留痕 | — | ✓ | 未实现 |
| E04.09 | 列表脱敏与范围 | F04.02 / F15.02 | 销售角色+多客户数据 | 列表查询 | 仅授权范围可见；毛利列不渲染（Q41） | ✓ | ✓ | 未实现 |

---

反链：

- [印刷工单系统功能规格说明书（FSD）v1.0 · 总则](/poms/fsd/00-%E6%80%BB%E5%88%99/)
