初始代码

This commit is contained in:
hhh
2026-04-02 10:38:23 +08:00
parent d8b4140f50
commit aed67ce1fd
1937 changed files with 447678 additions and 1 deletions

View File

@@ -0,0 +1,161 @@
# 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