编辑 | blame | 历史 | 原始文档

确认收货与质检流程 - 前端联调方案

涉及页面

  • 采购订单列表页
  • 采购订单详情页
  • 到货通知单列表页
  • 到货通知单详情页
  • 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 ❌ 否 报废处理,不可入库

到货通知单状态推进规则

当前状态 推进条件 目标状态
草稿 提交时存在需质检行 待质检
草稿 提交时无需质检行 待入库
待质检 所有需检行完成质检,且都为合格/特采 待入库
待质检 存在退货/报废结果的行 保持待质检
待入库 手动完成操作 已完成

注意事项

  1. 自动创建 IQC 单:确认收货时,如果采购订单明细设置了 qcCheckFlag=true,系统会自动创建对应的 IQC 检验单,无需手动创建。
  2. 质检结果回写:IQC 检验完成后,会自动回写到货通知单行的 iqcCheckResultqualifiedQuantity 字段。
  3. 部分收货:一个采购订单可以多次确认收货(部分收货场景),每次生成独立的到货通知单。
  4. 入库前提条件:只有到货通知单状态为"待入库"时才能执行采购入库操作。
  5. 质检失败处理:如果质检结果为退货或报废,到货通知单状态保持"待质检",需要人工介入处理(如重新安排收货)。