销售订单审核通过 → 创建 MPS → 下发 MPS 生成生产工单 → 生产报工 → 质检(如需要) → 生产完成 → 更新销售订单生产状态
生产完成判断条件:
1. 已生产数量 >= 计划数量
2. 所有报工单状态为 FINISHED(确保质检完成)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /erp/sale-order/page | 销售订单分页查询 |
| GET | /erp/sale-order/get | 销售订单详情查询 |
响应字段新增:
| 字段 | 类型 | 说明 |
|---|---|---|
| productionStatus | Integer | 生产状态:0-未完成,1-已完成 |
| productionFinishTime | DateTime | 生产完成时间 |
响应示例:
{
"code": 0,
"data": {
"id": 1024,
"no": "XS20260718001",
"status": 2,
"customerId": 1001,
"customerName": "测试客户",
"productionStatus": 1,
"productionFinishTime": "2026-07-18 16:30:00",
"needProduction": 1,
"canCreateSalesNotice": true,
"items": [...]
}
}
| 字段 | 展示位置 | 说明 |
|---|---|---|
| productionStatus | 列表 | 标签形式:0=未完成(灰色),1=已完成(绿色) |
| productionFinishTime | 列表(可选) | 仅当 productionStatus=1 时展示 |
| 字段 | 展示位置 | 说明 |
|---|---|---|
| productionStatus | 基本信息区域 | 标签形式展示 |
| productionFinishTime | 基本信息区域 | 仅当 productionStatus=1 时展示 |
| 场景 | 规则 |
|---|---|
| 生产状态初始值 | 销售订单审核通过时,productionStatus 默认为 0(未完成) |
| 生产状态更新时机 | 当所有关联的生产订单完成时,系统自动更新为 1(已完成) |
| 生产完成判断 | 已生产数量 >= 计划数量 且 所有报工单已完成(含质检完成) |
| 发货通知单生成 | 当 productionStatus=1 且未生成发货通知单时,canCreateSalesNotice 为 true |
| 条件 | 展示内容 |
|---|---|
| needProduction !== 1(无需生产) | 显示"无需生产"或"-" |
| productionStatus === 0 | 显示灰色标签"未完成" |
| productionStatus === 1 | 显示绿色标签"已完成",并展示完成时间 |
生产状态列建议放在"出库状态"列之后。
如需按生产状态筛选,可新增下拉筛选:
- 全部
- 未完成
- 已完成
注意:筛选时仅查询 needProduction=1 的订单。
状态联动:canCreateSalesNotice 需同时满足两个条件:生产已完成(productionStatus=1)且未生成发货通知单(hasSalesNotice=false)
已生成发货通知单:当 hasSalesNotice=true 时,不显示"生成发货通知单"按钮
无需生产的订单:needProduction !== 1 的订单,productionStatus 字段为 null,前端应显示"无需生产"或不显示
实时性:生产状态由后端自动更新,前端刷新页面即可看到最新状态