# 采购流程前端联调方案 ## 涉及页面 - 采购订单列表页 - 采购订单详情页 - 到货通知单列表页 - 到货通知单详情页 ## 业务流程 ``` 采购申请审批通过 → 自动生成采购订单(已审核) → 点击"确认收货" → 生成到货通知单(待入库/待质检) → IQC质检(如需要) → 采购入库 ``` --- ## 一、采购订单模块 ### 1. 新增按钮:确认收货 **位置:** 采购订单列表页、详情页 **展示条件:** - 订单状态 = 已审核(20) - 入库状态 ≠ 全部入库(2) **API:** | 方法 | 路径 | 说明 | |------|------|------| | POST | /erp/purchase-order/confirm-receipt | 确认收货 | **请求参数:** | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | id | Long | 是 | 采购订单编号 | **响应:** ```json { "code": 0, "data": 123, // 生成的到货通知单编号 "msg": "操作成功" } ``` ### 2. 新增字段:采购订单明细 | 字段 | 类型 | 说明 | |------|------|------| | qcCheckFlag | Boolean | 是否需要来料检验,默认 false | **展示位置:** 采购订单明细表格 --- ## 二、采购申请模块 ### 新增字段:采购申请明细 | 字段 | 类型 | 说明 | |------|------|------| | qcCheckFlag | Boolean | 是否需要来料检验,默认 false | **展示位置:** 采购申请明细表格 ### 新增字段:采购申请主表 | 字段 | 类型 | 说明 | |------|------|------| | depositPrice | BigDecimal | 定金金额,默认 0 | **展示位置:** 采购申请表单 --- ## 三、到货通知单模块 ### 1. 状态流转说明 | 状态值 | 状态名 | 说明 | |--------|--------|------| | 0 | 草稿 | 新建状态 | | 2 | 待质检 | 存在需质检物料,等待 IQC 完成 | | 3 | 待入库 | 无需质检或所有质检完成且可入库 | | 4 | 已完成 | 入库完成 | ### 2. 新增字段:到货通知单行 | 字段 | 类型 | 展示位置 | 说明 | |------|------|----------|------| | iqcCheckFlag | Boolean | 列表、详情 | 是否需要来料检验 | | iqcId | Long | 详情 | 关联的 IQC 检验单编号 | | iqcCheckResult | Integer | 列表、详情 | 质检结果 | | qualifiedQuantity | BigDecimal | 列表、详情 | 合格数量 | ### 3. 质检结果枚举 | 值 | 名称 | 是否可入库 | |-----|------|------------| | 1 | 合格 | ✅ 是 | | 2 | 特采 | ✅ 是 | | 3 | 不合格退货 | ❌ 否 | | 4 | 不合格报废 | ❌ 否 | ### 4. 新增接口:根据采购订单生成到货通知单 | 方法 | 路径 | 说明 | |------|------|------| | POST | /mes/wm/arrival-notice/generate-from-purchase-order | 根据采购订单生成到货通知单 | **请求参数:** | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | purchaseOrderId | Long | 是 | 采购订单编号 | **响应:** ```json { "code": 0, "data": 123, // 生成的到货通知单编号 "msg": "操作成功" } ``` --- ## 四、字段带入说明 ### 数据流转映射 | 源单据 | 目标单据 | 带入字段 | |--------|----------|----------| | 采购申请明细 | 采购订单明细 | qcCheckFlag(质检标识) | | 采购申请主表 | 采购订单主表 | depositPrice(定金金额) | | 采购订单 | 到货通知单 | 供应商、采购订单号 | | 采购订单明细 | 到货通知单行 | 物料、到货数量、qcCheckFlag | | 到货通知单行 | IQC 检验单 | 物料、到货数量、供应商 | --- ## 五、按钮展示规则汇总 ### 采购订单列表/详情页 | 按钮 | 显示条件 | |------|----------| | 确认收货 | 订单状态=已审核(20) 且 入库状态≠全部入库(2) | ### 采购申请明细表格 | 列 | 说明 | |----|------| | 是否质检 | 开关组件,默认关闭 | ### 采购订单明细表格 | 列 | 说明 | |----|------| | 是否质检 | 只读展示,从采购申请带入 | ### 到货通知单行表格 | 列 | 说明 | |----|------| | 质检标识 | 只读展示 | | 质检结果 | 只读展示,质检完成后回写 | | 合格数量 | 只读展示,质检完成后回写 | --- ## 六、注意事项 1. **确认收货成功后**:返回到货通知单编号,前端可提示并刷新列表,或跳转到货通知单详情 2. **一个采购订单可多次确认收货**:支持部分收货场景,每次生成独立的到货通知单 3. **质检自动创建**:确认收货时,系统自动创建 IQC 检验单,无需手动创建 4. **入库前提条件**:只有到货通知单状态为"待入库"时才能执行采购入库 5. **质检失败处理**:如果质检结果为退货或报废,到货通知单状态保持"待质检",需人工处理 --- ## 七、权限配置 | 权限标识 | 说明 | |----------|------| | erp:purchase-order:confirm-receipt | 确认收货权限 | --- ## 八、API 汇总 | 模块 | 方法 | 路径 | 说明 | |------|------|------|------| | 采购订单 | POST | /erp/purchase-order/confirm-receipt | 确认收货 | | 到货通知单 | POST | /mes/wm/arrival-notice/generate-from-purchase-order | 根据采购订单生成 |