确认收货与质检流程 - 前端联调方案
涉及页面
- 采购订单列表页
- 采购订单详情页
- 到货通知单列表页
- 到货通知单详情页
- IQC 来料检验单页面
业务流程与数据带入
采购申请审批通过 → 生成采购订单(已审核) → 确认收货
→ 判断是否存在需质检物料
├── 是 → 生成到货通知单(待质检)→ 自动创建 IQC 单 → IQC 来料质检
│ ├── 合格 → 等待所有质检完成
│ ├── 特采 → 等待所有质检完成
│ ├── 不合格(退货)→ 状态保持待质检
│ └── 不合格(报废)→ 状态保持待质检
│ ↓
│ 所有需检物料质检完成且可入库(合格/特采)→ 到货通知单(待入库)
└── 否 → 生成到货通知单(待入库)
字段带入说明:
| 源单据 |
目标单据 |
带入字段 |
| 采购订单 |
到货通知单 |
供应商、采购订单号 |
| 采购订单明细 |
到货通知单行 |
物料、到货数量、质检标识(qcCheckFlag) |
| 到货通知单行 |
IQC 检验单 |
物料、到货数量、供应商 |
API
| 方法 |
路径 |
说明 |
| POST |
/erp/purchase-order/confirm-receipt |
确认收货 |
请求参数:
| 参数 |
类型 |
必填 |
说明 |
| id |
Long |
是 |
采购订单编号 |
响应:
{
"code": 0,
"data": 123, // 生成的到货通知单编号
"msg": "操作成功"
}
字段展示规则
采购订单明细新增字段
| 字段 |
类型 |
展示位置 |
说明 |
| qcCheckFlag |
Boolean |
列表、详情、表单 |
是否需要来料检验,默认 false |
到货通知单行新增字段
| 字段 |
类型 |
展示位置 |
说明 |
| iqcCheckFlag |
Boolean |
列表、详情 |
是否需要来料检验(从采购订单带入) |
| iqcId |
Long |
详情 |
关联的 IQC 检验单编号(自动创建后回写) |
| iqcCheckResult |
Integer |
列表、详情 |
质检结果:1合格 2特采 3不合格退货 4不合格报废 |
| qualifiedQuantity |
BigDecimal |
列表、详情 |
合格数量(质检完成后回写) |
到货通知单状态流转
| 状态值 |
状态名 |
说明 |
| 0 |
草稿 |
新建状态 |
| 10 |
待质检 |
存在需质检物料,等待 IQC 完成 |
| 20 |
待入库 |
无需质检或所有质检完成且可入库 |
| 30 |
已完成 |
入库完成 |
业务规则说明
确认收货按钮展示
| 场景 |
规则 |
| 显示条件 |
订单状态=已审核(20) 且 入库状态≠全部入库(2) |
| 点击后 |
调用 confirmReceipt 接口,返回到货通知单编号 |
| 成功后 |
提示"确认收货成功,已生成到货通知单",刷新列表 |
质检结果对入库的影响
| 质检结果 |
值 |
是否可入库 |
说明 |
| 合格 |
1 |
✅ 是 |
正常入库 |
| 特采 |
2 |
✅ 是 |
特殊批准入库 |
| 不合格退货 |
3 |
❌ 否 |
退回供应商,不可入库 |
| 不合格报废 |
4 |
❌ 否 |
报废处理,不可入库 |
到货通知单状态推进规则
| 当前状态 |
推进条件 |
目标状态 |
| 草稿 |
提交时存在需质检行 |
待质检 |
| 草稿 |
提交时无需质检行 |
待入库 |
| 待质检 |
所有需检行完成质检,且都为合格/特采 |
待入库 |
| 待质检 |
存在退货/报废结果的行 |
保持待质检 |
| 待入库 |
手动完成操作 |
已完成 |
注意事项
- 自动创建 IQC 单:确认收货时,如果采购订单明细设置了
qcCheckFlag=true,系统会自动创建对应的 IQC 检验单,无需手动创建。
- 质检结果回写:IQC 检验完成后,会自动回写到货通知单行的
iqcCheckResult 和 qualifiedQuantity 字段。
- 部分收货:一个采购订单可以多次确认收货(部分收货场景),每次生成独立的到货通知单。
- 入库前提条件:只有到货通知单状态为"待入库"时才能执行采购入库操作。
- 质检失败处理:如果质检结果为退货或报废,到货通知单状态保持"待质检",需要人工介入处理(如重新安排收货)。