Files
MES/yawei-mes/.tasks/2026-03-12_v2.0.007_ATS排产接口销售订单状态说明.md
2026-04-02 10:39:03 +08:00

162 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# batchAutoComplete 接口销售订单状态说明
## 接口地址
`POST /production/autoComplete/batchAutoComplete`
---
## 销售订单状态码说明
| 状态码 | 状态名称 | 说明 |
|--------|---------|------|
| A | 待生产 | 订单刚创建,未进入生产 |
| B | 生产中 | 已生成工单,正在生产 |
| F | 生产完成 | 已报工完成,待入库 |
| G | 已入库 | 已完工入库 |
| E | 部分发货 | 部分产品已发货 |
| C | 已发货 | 全部产品已发货 |
| D | 已关闭 | 订单已关闭 |
---
## 情况1只生成工单不生成报工单
### 请求参数
```json
{
"orderNumbers": ["SO202603120001"],
"plan": {
"isGeneratePlan": 0
},
"workOrder": {
"routeId": 1005,
"processStartTime": "2026-03-12 08:00:00"
},
"reportWorkOrder": {
"isGenerateReportWorkOrder": 0
}
}
```
### 离散制造业
**分录状态变化**`A`(待生产)→ `B`(生产中)
**主表状态变化**`A`(待生产)→ `B`(生产中)
### 连续制造业
**分录状态变化**`A`(待生产)→ `A`(待生产)- **保持不变**
**主表状态变化**`A`(待生产)→ `A`(待生产)- **保持不变**
**说明**:连续制造业只生成工单不生成报工单时,订单状态不会改变。
## 情况2生成报工单订单已有工单
### 请求参数
```json
{
"orderNumbers": ["SO202603120001"],
"plan": {
"isGeneratePlan": 0
},
"workOrder": {
"isGenerateWorkOrder": 0
},
"reportWorkOrder": {
"reporters": [
{"operatorId": 101, "reportTime": "2026-03-12 10:00:00"}
]
}
}
```
### 前提条件
订单已经有工单之前已生成分录状态为B
### 离散制造业
**分录状态变化**`B`(生产中)→ `F`(生产完成)
**主表状态变化**`B`(生产中)→ `F`(生产完成)
### 连续制造业
**分录状态变化**`B`(生产中)→ `F`(生产完成)
**主表状态变化**`B`(生产中)→ `F`(生产完成)
---
## 情况3完工入库分录改为已入库
### 操作方式
通过完工入库单ManufactureInto关联销售订单分录
### 前提条件
订单分录状态为F生产完成
### 所有制造类型
**分录状态变化**`F`(生产完成)→ `G`(已入库)
**主表状态变化**`F`(生产完成)→ `G`(已入库)
**说明**
- 完工入库不是通过 batchAutoComplete 接口实现
- 完工入库通过仓库管理模块的完工入库单实现
- 完工入库单明细关联销售订单分录ID后会自动更新分录和主表状态
---
---
## 主表状态更新规则
主表状态由所有分录的状态决定,优先级从高到低:
### 状态优先级
**C已发货> E部分发货> G已入库> F生产完成> D已关闭> B生产中> A待生产**
### 决策规则
1. **所有分录都是C已发货** → 主表状态为 **C已发货**
2. **有分录是C已发货但不是全部** → 主表状态为 **E部分发货**
3. **所有分录都是G已入库或更高状态E/C** → 主表状态为 **G已入库**
4. **所有分录都是F生产完成或更高状态G/E/C** → 主表状态为 **F生产完成**
5. **所有分录都是D已关闭或更高状态F/G/E/C** → 主表状态为 **D已关闭**
6. **有任何分录在B生产中** → 主表状态为 **B生产中**
7. **其他情况** → 主表状态为 **A待生产**
### 多分录订单示例
#### 示例1全部完成
- 分录1`F`生产完成分录2`F`生产完成分录3`F`(生产完成) → 主表:`F`(生产完成)
#### 示例2部分完成
- 分录1`F`生产完成分录2`B`生产中分录3`A`(待生产) → 主表:`B`(生产中)- 有分录在生产中
#### 示例3全部已入库
- 分录1`G`已入库分录2`G`已入库分录3`G`(已入库) → 主表:`G`(已入库)
#### 示例4混合状态
- 分录1`G`已入库分录2`F`生产完成分录3`F`(生产完成) → 主表:`F`(生产完成)- 不是所有分录都≥G
#### 示例5部分发货
- 分录1`C`已发货分录2`G`已入库分录3`F`(生产完成) → 主表:`E`(部分发货)- 有分录已发货但不是全部
---
## 快速对照表
| 操作 | 分录状态变化 | 主表状态变化 | 适用制造类型 |
|------|------------|------------|------------|
| 只生成工单 | A → B | A → B | 离散制造 |
| 只生成工单 | A → A | A → A | 连续制造 |
| 生成报工单 | B → F | B → F | 所有类型 |
| 完工入库 | F → G | F → G | 所有类型 |
---
## 版本信息
- 文档版本v1.0
- 创建日期2026-03-12
- 最后更新2026-03-12