# MES 出货检验单(OQC)检测结果与表头字段调整 - 前端联调方案 > 状态:前端改动已按本文实施(OQC 表单/搜索/列表列、批次追溯 OQC 列、报告打印兜底文案、常量与枚举)。本文保留作为接口与规则说明。 ## 变更摘要 | 项 | 调整前 | 调整后 | |----|--------|--------| | 发货数量 `outQuantity` | 必填 | **非必填** | | 出货日期 `outDate` | 必填 | **非必填** | | 检测结果 `checkResult` | 非必填,字典 `mes_qc_check_result`(合格/特采/退货/报废) | **必填**,改用新字典 `mes_oqc_check_result`(1型/2型/废品) | 其余字段(本次检测数量、合格品数量、不合格品数量、检测日期、检测人员)**保持必填不变**。 > 仅 OQC 变更。IQC / IPQC / RQC 继续使用原字典 `mes_qc_check_result`。 ## 涉及页面 - MES 出货检验单(OQC)列表页 - MES 出货检验单(OQC)新增/编辑弹窗 - MES 出货检验单(OQC)详情页 - 批次追溯(batchtrace)——OQC 相关列 - 检验报告打印页——检测结果列(见「注意事项」第 3 条) ## API | 方法 | 路径 | 说明 | |------|------|------| | POST | /mes/qc-oqc/create | 新增出货检验单 | | PUT | /mes/qc-oqc/update | 修改出货检验单 | | GET | /mes/qc-oqc/get | 查询出货检验单详情 | | GET | /mes/qc-oqc/page | 分页查询出货检验单 | | GET | /mes/qc-oqc/export-excel | 导出出货检验单 | **请求参数变更(create / update 共用 SaveReqVO):** | 参数 | 类型 | 必填 | 变更说明 | |------|------|------|----------| | outQuantity | BigDecimal | 否 | 发货数量,改为非必填;填值需 ≥ 0 | | outDate | LocalDateTime | 否 | 出货日期,改为非必填 | | checkResult | Integer | **是** | 检测结果,必填;取值改为 1=1型 / 2=2型 / 3=废品 | **响应字段变更:** | 字段 | 类型 | 说明 | |------|------|------| | checkResult | Integer | 检测结果,返回 1 / 2 / 3(字典 `mes_oqc_check_result`) | | checkResultText | String | 导出 Excel 时的检测结果文本,已按新字典取标签 | **字典接口返回(`/system/dict-data/list-by-type?type=mes_oqc_check_result`):** | value | label | 颜色 | |-------|-------|------| | 1 | 1型 | success | | 2 | 2型 | primary | | 3 | 废品 | danger | > 原字典 `mes_qc_check_result` 仍保留,供 IQC / IPQC / RQC 使用。 > > ⚠ 注意:代码枚举 `MesQcCheckResultEnum` 定义为 1合格 / 2特采 / 3不合格退货 / 4不合格报废,但**库中 `mes_qc_check_result` 字典数据只有 2 条**(1=校验通过、2=校验不通过),标签与枚举不符、且缺 3/4 两项。该问题为既有遗留,会影响 IQC/IPQC/RQC 的检测结果展示,与本次 OQC 变更无关,需另行确认修复。 ## 字段展示规则 | 字段 | 展示位置 | 说明 | |------|----------|------| | 发货数量 | 表单、列表、详情 | 非必填,允许为空;列表/详情空值展示为 `-` | | 出货日期 | 表单、列表、详情 | 非必填,允许为空 | | 检测结果 | 表单(下拉)、列表(字典标签)、详情、查询条件 | 字典类型由 `mes_qc_check_result` 改为 `mes_oqc_check_result`;下拉选项为 1型 / 2型 / 废品 | ## 业务规则说明 | 场景 | 规则 | |------|------| | 检测结果提交 | 必填。为空时后端返回「检测结果不能为空」 | | 检测结果取值 | 1型 / 2型:判为合格,对应出库行质量状态置为合格,出库单在全部 OQC 行检验完成后流转「待拣货」 | | 检测结果取值 | 废品:判为不合格,对应出库行质量状态置为不合格,并**取消整张销售出库单** | | 同一出库单多行 OQC | 只要存在任一「废品」行,整单取消;全部行检验完成且无废品才流转待拣货 | | 发货数量 / 出货日期 | 可空,不参与任何校验与流转判断 | | 数量一致性(既有规则不变) | 本次检测数量 = 合格品数量 + 不合格品数量,不满足时后端返回「检测数量必须等于合格品数量与不合格品数量之和」 | ## 注意事项 1. **字典切换范围**:OQC 的列表列、查询下拉、表单下拉、详情标签,字典类型需从 `mes_qc_check_result` 全部切到 `mes_oqc_check_result`。若某处仍复用 `mes_qc_check_result`,会出现「1型」被渲染为「合格」的错位。 2. **搜索区字典**:使用 DICT_TYPE 别名时需同步新增 `mes_oqc_check_result` 的字典类型常量声明,避免搜索项取不到选项。 3. **检验报告打印页**:该页「检测结果」列当前取 `mes_qc_check_result`,且报告是四类检验单共用的。若该页可能出现 OQC 数据,需要按来源单据类型区分字典;若该页只服务于 IQC/IPQC/RQC,则无需改动。请前端按实际取数范围确认。 4. **批次追溯页**:OQC 相关列当前取 `mes_qc_check_result`,需切换为 `mes_oqc_check_result`;同页 IQC 列保持原字典。 5. **表单校验提示**:「不合格品数量为 0 时检测结果不能为 XX」这类基于旧四选项的提示逻辑已失效(旧枚举 3/4 不再适用于 OQC),需按新三选项重写或移除。 6. **历史数据**:现有 OQC 单据中检测结果为空,列表/详情需容忍 null(展示为 `-`)。无历史数据需要迁移。 7. **发货数量与出货日期**:去掉前端必填校验后,提交时字段可为 null 或省略,后端不再报错;建议表单仍保留输入项(业务上可填)。