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

质检产品检验单 Word 导出 - 前端联调方案

对应纸质"××产品质量检验单"版式(如:宁夏九泓化工科技有限公司 工业用正丁醇产品质量检验单)。
支持下载 Word(.docx);**打印通过下载后用 Word 打开打印**,后端不再提供打印页面。
IQC/IPQC/OQC/RQC 四类检验单通用,与现有 /report 聚合数据接口共用参数。

涉及页面

  • 四类检验单列表/详情的操作列:新增「导出检验单(Word)」入口(与既有「打印报告」并列)
  • 多样品(多个检验结果)的单据:导出前允许选择样品(传 resultId,不传默认取最早一个样品)

API

方法 路径 说明
GET /mes/qc/indicator-result/export-product-word 导出产品检验单 Word,响应为 docx 二进制流

请求参数(query):

参数 类型 必填 说明
qcId Long 质检单 ID
qcType Integer 质检类型:1=IQC、2=IPQC、3=OQC、4=RQC
resultId Long 检验结果(样品)编号,多样品时用于选择

响应:

  • Content-Type:application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • Content-Disposition:attachment;filename=<UTF8编码>,文件名为 {物料名称}产品质量检验单-{检验单号}.docx
  • 权限标识:mes:qc-iqc:query(与 /report 一致)

前端调用方式: 与既有 Excel 导出一致,axios 以 blob 请求后触发下载(需带 token),不可用 <a href> 直链。

报告版式与字段带入

后端从 /report 同源数据组装,字段映射如下:

纸质栏位 数据来源 说明
报告标题公司名 / 生产单位 写死「宁夏九泓化工科技有限公司」 第二行为「{物料名称}产品质量检验单」
生产时间 质检单创建时间(docCreateTime,新增响应字段)
批号 batchNo IQC=供应商批次,OQC/RQC/IPQC=单据批次号
采样地点 samplingLocation
批量 batchQuantity 空值打印 /
采样者 inspectorName(检验人)
取样日期 samplingTime
执行标准 executeStandard
检验日期 inspectDate(新增响应字段)
检验项目 录入项名称 不含技术指标列;分组行与公式文本不展示,分组下录入项平铺
检验结果 测量值 平行测量多值顿号合并(如 10.023、10.115);无值 /
判定结论 留空 打印后手工填写
质检专用章 留空 打印后盖章
备注 单据 remark,为空时默认「检验结果仅对样品本身或本批次负责。」
检验/复核/批准 固定留空 与判定结论/质检章一致,不输出姓名,打印后手写

接口变更点(/mes/qc/indicator-result/report 响应)

字段 类型 说明
inspectDate DateTime 检验日期(检验单 inspectDate 字段)
docCreateTime DateTime 质检单创建时间,Word 报告打印为"生产时间"

既有前端打印组件(qc-report-print.vue)不受影响,新字段向后兼容。

业务规则说明

场景 规则
多样品 resultId 不传取最早样品;与 /report 行为一致
技术指标 本版式固定不输出阈值/标准值列;需要技术指标对照时使用既有「打印报告」化验记录版式
判定结论 系统不写入结论(含 checkResult),一律留空手填
空值 文本空打印 /;批量/日期为空打印 /
分组指标 分组本身不占行,仅平铺其下录入项(含中间参数行,如"试样质量 m/g")

注意事项

  • 文件名含中文,后端已按 UTF-8 编码放 header,前端 blob 下载时建议直接用入参拼文件名或解析 Content-Disposition。
  • 导出内容为静态版式(4 列网格表),无页眉页脚、无 Logo 图片;Logo 如需展示由前端确认后再扩展。
  • 回归点:/report 既有字段与打印组件行为不变;本次仅新增两个响应字段与新导出接口。

后端验证

  • 单测:yudao-module-mes 模块 MesQcProductReportWordBuilderTest(生成样例可读回断言),样例文件 yudao-module-mes/target/MesQcProductReportWordBuilder-sample.docx 可用 Word 打开核对版式。