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

质量管理 - 检测结果台账(分类 / 时间区间筛选 + 导出) - 前端联调方案

本次解决两件事:
1. 直接展示:四类检验单(IQC/IPQC/OQC/RQC)列表接口**已经返回**检验项实测结果汇总字段 indicatorResultSummary,但前端列表未展示 → 前端加一列即可,**后端无需改动**。
2. 筛选展示 + 导出台账:新增跨四类的「检测结果台账」查询与导出接口(分类 + 检测日期区间 + 物料/批次/检测结果/检测人筛选),一行一个检测项结果,用于查询、打印、存档。

涉及页面

  • 新增:检测结果台账页 views/mes/qc/ledger/index.vue(菜单已由后端 SQL 配置:质量管理 → 检测结果台账,path inspection-ledger,component mes/qc/ledger/index)
  • 变更(用于「直接展示」):来料检验 / 过程检验 / 出货检验 / 退货检验 四个列表页新增「检测结果(检验项)」列

需求点与落点对照

需求 落点
检测结果在界面上直接展示 四类检验单列表 API 已返回 indicatorResultSummary,前端列表加列(无需后端改动)
支持筛选展示 新增台账页:分类 + 检测日期区间 + 检验单号 + 物料 + 批次号 + 检测结果 + 检测人
按分类筛选 参数 qcType(1 来料检验 / 2 过程检验 / 3 出货检验 / 4 退货检验),不传为全部
按时间区间筛选 参数 inspectDate(按「检测日期」过滤)
导出为台账 GET /mes/qc/inspection-ledger/export-excel,与列表同一套筛选参数

业务流程与数据带入

  1. 用户在台账页设置筛选条件(分类、检测日期区间等)→ 列表分页展示,一行一个检测项结果。
  2. 同一套筛选参数直接传给导出接口 → 生成 Excel 台账(文件名「检测结果台账.xls」),用于打印与存档。
  3. 检验单未录入检验结果时,该单仍会出现在台账中(检测项相关列为空),不会漏单。

API

1. 台账分页

方法 路径 说明
GET /admin-api/mes/qc/inspection-ledger/page 检测结果台账分页(四类检验单统一查询)

请求参数:

参数 类型 必填 说明
qcType Integer 否 分类(检验类型):1 来料检验 / 2 过程检验 / 3 出货检验 / 4 退货检验;不传为全部
inspectDate[0] String 否 检测日期开始,格式 yyyy-MM-dd HH:mm:ss
inspectDate[1] String 否 检测日期结束,格式 yyyy-MM-dd HH:mm:ss
code String 否 检验单编号,模糊匹配
itemId Long 否 物料编号
batchNo String 否 批次号,模糊匹配(来料检验取供应商批次号;出货/退货检验取批次号;过程检验无批次)
checkResult Integer 否 检测结果,字典 mes_qc_check_result
inspectorUserId Long 否 检测人员编号
pageNo / pageSize Integer 否 分页参数

inspectDate 与现有四类检验单列表的传参方式一致(同一套 RangePicker 参数对象可直接复用)。

响应字段:

字段 类型 说明
qcType Integer 分类(检验类型),字典 mes_qc_type
qcId Long 检验单 ID(可跳转到对应检验单详情)
code String 检验单编号
name String 检验单名称
status Integer 单据状态,字典 mes_order_status

| itemId / itemCode / itemName / itemSpecification / unitName | - | 物料信息(编码、名称、规格型号、计量单位) |
| batchNo | String | 批次号 |
| checkQuantity / qualifiedQuantity / unqualifiedQuantity | BigDecimal | 检测数量 / 合格数量 / 不合格数量 |
| checkResult | Integer | 检测结果,字典 mes_qc_check_result |
| inspectDate | String (LocalDateTime) | 检测日期 |
| inspectorUserId / inspectorName | - | 检测人员 |
| indicatorId / indicatorName | - | 检测项编号 / 名称 |
| indicatorValue | String | 检测值(实测值,原样字符串) |
| indicatorRemark | String | 检测项备注 |
| judgementBasis | String | 判定依据,如 10~20、≤20、≥10、标准值 15;无法拼装时为空 |
| standardValue / minThreshold / maxThreshold | BigDecimal | 判定依据原始值(前端展示用 judgementBasis 即可) |
| remark | String | 检验单备注 |

响应示例:

{
  "code": 0,
  "data": {
    "list": [
      {
        "qcType": 1,
        "qcId": 123,
        "code": "IQC1789019053513",
        "name": "AN1789019053466-物料检验",
        "status": 0,
        "itemId": 28,
        "itemCode": "WL0001",
        "itemName": "物料A",
        "itemSpecification": "100mm*50mm",
        "unitName": "个",
        "batchNo": "VB20260101",
        "checkQuantity": 99,
        "qualifiedQuantity": 99,
        "unqualifiedQuantity": 0,
        "checkResult": 1,
        "inspectDate": "2026-09-10 00:00:00",
        "inspectorUserId": 111,
        "inspectorName": "张三",
        "indicatorId": 2,
        "indicatorName": "温度",
        "indicatorValue": "15",
        "indicatorRemark": null,
        "judgementBasis": "10~20",
        "remark": null
      }
    ],
    "total": 5
  }
}

2. 台账导出

方法 路径 说明
GET /admin-api/mes/qc/inspection-ledger/export-excel 导出检测结果台账 Excel,参数与分页接口完全一致

导出列: 分类 / 检验单编号 / 检验单名称 / 物料编码 / 物料名称 / 规格型号 / 批次号 / 检测项 / 检测值 / 判定依据 / 检测结果 / 检测数量 / 合格数量 / 不合格数量 / 检测人员 / 检测日期 / 单据状态 / 备注。

权限与菜单(已由后端 SQL 配置完成)

菜单 权限码 说明
质量管理 → 检测结果台账 — type=2,component mes/qc/ledger/index
检测结果台账查询 mes:qc-inspection-ledger:query 页面加载、分页查询
检测结果台账导出 mes:qc-inspection-ledger:export 导出按钮

菜单已授权给所有持有「来料检验查询」的角色;前端建好 views/mes/qc/ledger/index.vue 后菜单即可用。

字段展示规则

字段 展示位置 说明
分类 台账列表列、筛选项 用 CellDict + DICT_TYPE.MES_QC_TYPE 渲染
检测结果 台账列表列、筛选项 用 CellDict + DICT_TYPE.MES_QC_CHECK_RESULT
检测项 / 检测值 / 判定依据 台账列表列 一行一个检测项;检验单未录入结果时为空
单据状态 台账列表列 DICT_TYPE.MES_ORDER_STATUS
检测结果(检验项) 四类检验单列表列 直接渲染 indicatorResultSummary(如 温度:15,电阻:1),列宽建议 200+,内容过长可换行或省略号悬浮
检测日期区间 台账页筛选区 RangePicker,valueFormat YYYY-MM-DD HH:mm:ss

业务规则说明

场景 规则
分类不选 四类检验单一起查询,按检测日期倒序、同日期按检验单 ID 倒序
时间区间 按「检测日期」闭区间过滤;只传开始或只传结束均可
一行一检测项 一张检验单录入多个检测项结果时展开为多行(其余字段重复)
检验单未录入检测项 该单保留一行,检测项 / 检测值 / 判定依据为空
判定依据 由检验单行的标准值与误差上下限拼装:上下限都有 → 下限~上限;仅上限 → ≤上限;仅下限 → ≥下限;仅标准值 → 标准值 值;都没有则为空
逻辑删除 已删除的检验单不出现在台账;已删除的检测项仍展示其历史名称,保证历史台账可读
导出范围 导出遵循当前筛选条件;不选时间则导出全部符合其它条件的记录

注意事项

  • 本次后端新增了页面接口与菜单,**需重启后端服务**后新接口才可用;相关角色需重新登录以刷新菜单与权限缓存。
  • 台账接口的 qcId + qcType 可定位到原始检验单,若需要点击跳转,请按分类跳到对应页面(来料检验 / 过程检验 / 出货检验 / 退货检验)。
  • 台账的「检测结果」列与四类检验单列表的「检测结果」列口径一致,均取检验单头的检测结论(字典 mes_qc_check_result)。
  • 四类检验单列表新增的「检测结果(检验项)」列直接使用已有字段 indicatorResultSummary,不需要新接口;导出时该内容已包含在「检验指标」列中。
  • 台账为只读页面,不提供新增 / 修改 / 删除操作。