# OQC 出厂检验(出货检验)检测结果扩展 - 前端联调方案 ## 变更背景 出厂检验(OQC 出货检验)的「检测结果」由原来的 3 项扩展为 7 项,并明确放行规则。 | value | 标签 | 颜色 | 是否放行发货 | |-------|------|------|--------------| | 1 | 1型 | success | 放行 | | 2 | 2型 | primary | 放行 | | 3 | 废品 | danger | **不放行** | | 4 | 3型 | success | 放行 | | 5 | 优等品 | success | 放行 | | 6 | 合格品 | primary | 放行 | | 7 | 不合格品 | danger | **不放行** | ## 涉及页面 - MES 质检 - 出货检验(OQC)列表页、新增/编辑弹窗 - 批次追溯详情(展示 OQC 检验结论) - 检验报告打印、产品检验单 Word 导出(判定结论展示) ## 字典来源 检测结果下拉的选项来自字典 `mes_oqc_check_result`(前端常量 `DICT_TYPE.MES_OQC_CHECK_RESULT`), 选项由字典驱动、**不需要前端硬编码**。后端已扩展字典数据,下拉框会自动带出全部 7 项。 ## 接口 本次无接口新增、无请求参数与响应结构变更: `checkResult` 字段仍为 Integer,仅取值范围由 1~3 扩展为 1~7。 | 方法 | 路径 | 说明 | |------|------|------| | POST | /mes/qc-oqc/create | 新增出货检验单 | | PUT | /mes/qc-oqc/update | 修改出货检验单 | | PUT | /mes/qc-oqc/finish | 完成出货检验单 | | GET | /mes/qc-oqc/get | 查询出货检验单详情 | ## 业务流程与数据带入 1. 销售出库单提交 → 生成 OQC 出货检验单(草稿态),单据信息自动带入。 2. 质检员录入检测结果(下拉选择)→ 完成检验单。 3. 完成后按放行规则回写销售出库单行: - 结果为 1型/2型/3型/优等品/合格品 → 出库行判**合格**,出库单推进「待拣货」。 - 结果为 废品/不合格品 → 出库行判**不合格**,**整单取消**销售出库单。 4. 校验规则:检测数量 = 合格品数量 + 不合格品数量(原有规则,不变)。 ## 前端需同步的修改点 | 位置 | 修改说明 | |------|----------| | `src/packages/constants/src/biz-mes-enum.ts` | `MesQcOqcCheckResultEnum` 常量补充 4 个新值:3型=4、优等品=5、合格品=6、不合格品=7 | | `src/views/mes/qc/oqc/modules/form.vue` | 提交校验「不合格品数量为 0 时,检测结果不能为废品」需扩展为:检测结果为**废品或不合格品**时,不合格品数量不能为 0 | > 下拉选项本身由字典驱动,仅补字典即可显示;上表两项是为了常量语义完整与校验一致。 ## 业务规则说明 | 场景 | 规则 | |------|------| | 结果为可放行等级 | 出库行判合格,销售出库单推进待拣货 | | 结果为 废品 或 不合格品 | 出库行判不合格,取消销售出库单 | | 不合格品数量为 0 | 不允许选择 废品 / 不合格品 | | 检测数量校验 | 检测数量 = 合格品数量 + 不合格品数量 | ## 注意事项 - 历史数据中已保存的 `checkResult`(1/2/3)语义不变,无需数据迁移。 - 字典颜色 `color_type` 会影响列表标签配色,前端使用字典标签渲染时不需额外处理。 - 后端放行判定统一收敛在 `MesQcOqcCheckResultEnum.canShip()`,前端不要自行实现放行判断。