# 质检产品检验单 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=`,文件名为 `{物料名称}产品质量检验单-{检验单号}.docx` - 权限标识:`mes:qc-iqc:query`(与 `/report` 一致) **前端调用方式:** 与既有 Excel 导出一致,axios 以 blob 请求后触发下载(需带 token),不可用 `` 直链。 ## 报告版式与字段带入 后端从 `/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 打开核对版式。