7 小时以前 54a09c8eaa102087575c1904a7deb0dffacc4ebe
docs(mes): 添加质检产品检验单 Word 导出功能文档和演示数据

- 新增质检产品检验单 Word 导出功能说明文档
- 添加 IQC/IPQC/OQC/RQC 四类检验单的演示数据 SQL 脚本
- 定义 Word 导出接口参数和响应格式规范
- 说明报告版式字段映射和业务规则处理逻辑
- 提供前端调用方式和注意事项说明
已添加14个文件
320 ■■■■■ 文件已修改
docs/qc-report-samples/qcType1_qcId9001.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType1_qcId9002.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType1_qcId9003.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType2_qcId9011.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType2_qcId9012.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType2_qcId9013.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType3_qcId9021.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType3_qcId9022.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType3_qcId9023.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType4_qcId9031.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType4_qcId9032.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType4_qcId9033.docx 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc_product_report_word_integration.md 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/seed_qc_mock_data.sql 237 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/qc-report-samples/qcType1_qcId9001.docx
docs/qc-report-samples/qcType1_qcId9002.docx
docs/qc-report-samples/qcType1_qcId9003.docx
docs/qc-report-samples/qcType2_qcId9011.docx
docs/qc-report-samples/qcType2_qcId9012.docx
docs/qc-report-samples/qcType2_qcId9013.docx
docs/qc-report-samples/qcType3_qcId9021.docx
docs/qc-report-samples/qcType3_qcId9022.docx
docs/qc-report-samples/qcType3_qcId9023.docx
docs/qc-report-samples/qcType4_qcId9031.docx
docs/qc-report-samples/qcType4_qcId9032.docx
docs/qc-report-samples/qcType4_qcId9033.docx
docs/qc_product_report_word_integration.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
# è´¨æ£€äº§å“æ£€éªŒå• 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 æ‰“开核对版式。
docs/seed_qc_mock_data.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,237 @@
-- =====================================================================
-- MES è´¨æ£€æŠ¥å‘Šæ¼”示数据:IQC/IPQC/OQC/RQC å„ 3 æ¡å·²å®Œæˆå•据
-- å«åˆ†ç»„检验项(水分/酸含量/正丁醇含量平铺) + å¹³è¡Œæµ‹é‡(顿号合并) + ç©ºå€¼å ä½("/")
-- ç­¾å­—:检验=张三(231) å¤æ ¸=张静波(232) æ‰¹å‡†=超级管理员(1)
-- ä»…本地演示库执行;重复执行安全(先按固定编码清理)
-- =====================================================================
-- ---------- æ¸…理上次演示数据 ----------
DELETE FROM mes_qc_indicator_result_detail WHERE result_id IN (SELECT id FROM (SELECT id FROM mes_qc_indicator_result WHERE code LIKE 'MIR-DEMO%') t);
DELETE FROM mes_qc_indicator_result WHERE code LIKE 'MIR-DEMO%';
DELETE FROM mes_qc_iqc_line WHERE iqc_id IN (SELECT id FROM (SELECT id FROM mes_qc_iqc WHERE code LIKE 'IQC-DEMO%') t);
DELETE FROM mes_qc_iqc WHERE code LIKE 'IQC-DEMO%';
DELETE FROM mes_qc_ipqc_line WHERE ipqc_id IN (SELECT id FROM (SELECT id FROM mes_qc_ipqc WHERE code LIKE 'IPQC-DEMO%') t);
DELETE FROM mes_qc_ipqc WHERE code LIKE 'IPQC-DEMO%';
DELETE FROM mes_qc_oqc_line WHERE oqc_id IN (SELECT id FROM (SELECT id FROM mes_qc_oqc WHERE code LIKE 'OQC-DEMO%') t);
DELETE FROM mes_qc_oqc WHERE code LIKE 'OQC-DEMO%';
DELETE FROM mes_qc_rqc_line WHERE rqc_id IN (SELECT id FROM (SELECT id FROM mes_qc_rqc WHERE code LIKE 'RQC-DEMO%') t);
DELETE FROM mes_qc_rqc WHERE code LIKE 'RQC-DEMO%';
-- ---------- IQC æ¥æ–™æ£€éªŒå•(qc_type=1) ----------
INSERT INTO mes_qc_iqc (id,code,name,template_id,source_doc_type,source_doc_id,source_line_id,source_doc_code,vendor_id,vendor_batch,item_id,received_quantity,check_quantity,qualified_quantity,unqualified_quantity,check_result,receive_date,inspect_date,inspector_user_id,status,sampling_location,certificate_no,execute_standard,audit_user_id,approve_user_id,remark,creator,create_time,updater,update_time,deleted)
VALUES
(9001,'IQC-DEMO-01','精萘来料检验-01',NULL,NULL,NULL,NULL,NULL,NULL,'JN-20260918-A01',2,2000,200,198,2,1,'2026-09-17 08:00:00','2026-09-18 09:30:00',231,4,'原料库取样口','CERT-A001','GB/T 6027',232,1,'演示数据','1','2026-09-18 09:00:00','1','2026-09-18 09:30:00',0),
(9002,'IQC-DEMO-02','精萘来料检验-02',NULL,NULL,NULL,NULL,NULL,NULL,'JN-20260918-A02',2,1500,150,150,0,1,'2026-09-17 08:00:00','2026-09-18 10:15:00',231,4,'精馏塔取样口','CERT-A002','GB/T 6027',232,1,NULL,'1','2026-09-18 10:00:00','1','2026-09-18 10:15:00',0),
(9003,'IQC-DEMO-03','壬烯来料检验-03',NULL,NULL,NULL,NULL,NULL,NULL,'JN-20260918-A03',4,800,80,76,4,3,'2026-09-17 08:00:00','2026-09-18 11:00:00',231,4,'车间取样口 A-3','CERT-A003','GB/T 6028',232,1,'不合格批次,已走退货流程。','1','2026-09-18 11:00:00','1','2026-09-18 11:00:00',0);
-- ---------- IPQC è¿‡ç¨‹æ£€éªŒå•(qc_type=2) ----------
INSERT INTO mes_qc_ipqc (id,code,name,type,template_id,source_doc_id,source_doc_code,work_order_id,item_id,check_quantity,qualified_quantity,unqualified_quantity,check_result,inspect_date,inspector_user_id,status,sampling_location,certificate_no,execute_standard,audit_user_id,approve_user_id,remark,creator,create_time,updater,update_time,deleted)
VALUES
(9011,'IPQC-DEMO-01','磺化中控检验-01',NULL,NULL,NULL,'GD-20260918-01',NULL,4,300,298,2,1,'2026-09-18 13:00:00',231,4,'磺化工序取样阀','CERT-P001','Q/JH 02-2026',232,1,'演示数据','1','2026-09-18 13:00:00','1','2026-09-18 13:00:00',0),
(9012,'IPQC-DEMO-02','中和中控检验-02',NULL,NULL,NULL,'GD-20260918-02',NULL,6,260,260,0,1,'2026-09-18 14:00:00',231,4,'中和釜取样阀','CERT-P002','Q/JH 02-2026',232,1,'演示数据(密度/酸结果未测)','1','2026-09-18 14:00:00','1','2026-09-18 14:00:00',0),
(9013,'IPQC-DEMO-03','离心中控检验-03',NULL,NULL,NULL,'GD-20260918-03',NULL,2,120,120,0,1,'2026-09-18 15:30:00',231,4,'离心工序取样口','CERT-P003','Q/JH 02-2026',232,1,'演示数据','1','2026-09-18 15:30:00','1','2026-09-18 15:30:00',0);
-- ---------- OQC å‡ºè´§æ£€éªŒå•(qc_type=3) ----------
INSERT INTO mes_qc_oqc (id,code,name,template_id,source_doc_code,client_id,batch_code,item_id,out_quantity,check_quantity,qualified_quantity,unqualified_quantity,check_result,out_date,inspect_date,inspector_user_id,status,sampling_location,certificate_no,execute_standard,audit_user_id,approve_user_id,remark,creator,create_time,updater,update_time,deleted)
VALUES
(9021,'OQC-DEMO-01','精萘出货检验-01',NULL,'CH-20260918-01',NULL,'JH-CH0918-01',2,1000,100,99,1,1,'2026-09-18 16:00:00','2026-09-18 16:30:00',231,4,'成品库发货区','CERT-O001','GB/T 6027',232,1,'演示数据','1','2026-09-18 16:30:00','1','2026-09-18 16:30:00',0),
(9022,'OQC-DEMO-02','壬烯出货检验-02',NULL,'CH-20260918-02',NULL,'JH-CH0918-02',4,500,50,50,0,1,'2026-09-18 17:00:00','2026-09-18 17:30:00',231,4,'成品库发货区','CERT-O002','GB/T 6028',232,1,'客户指定复检批次。','1','2026-09-18 17:30:00','1','2026-09-18 17:30:00',0),
(9023,'OQC-DEMO-03','精萘出货检验-03',NULL,'CH-20260918-03',NULL,'JH-CH0918-03',2,300,30,30,0,1,'2026-09-18 18:00:00','2026-09-18 18:30:00',231,4,'成品库发货区','CERT-O003','GB/T 6027',232,1,NULL,'1','2026-09-18 18:30:00','1','2026-09-18 18:30:00',0);
-- ---------- RQC é€€è´§æ£€éªŒå•(qc_type=4) ----------
INSERT INTO mes_qc_rqc (id,code,name,type,template_id,source_doc_code,item_id,batch_code,check_quantity,qualified_quantity,unqualified_quantity,check_result,inspect_date,inspector_user_id,status,sampling_location,certificate_no,execute_standard,audit_user_id,approve_user_id,remark,creator,create_time,updater,update_time,deleted)
VALUES
(9031,'RQC-DEMO-01','精萘退货检验-01',NULL,NULL,'TH-20260918-01',2,'JH-TH0918-01',50,40,10,3,'2026-09-18 19:00:00',231,4,'退货暂存区','CERT-R001','GB/T 6027',232,1,'演示数据','1','2026-09-18 19:00:00','1','2026-09-18 19:00:00',0),
(9032,'RQC-DEMO-02','壬烯退货检验-02',NULL,NULL,'TH-20260918-02',4,'JH-TH0918-02',30,30,0,1,'2026-09-18 19:30:00',231,4,'退货暂存区','CERT-R002','GB/T 6028',232,1,'退货原因:运输污染,全批复检。','1','2026-09-18 19:30:00','1','2026-09-18 19:30:00',0),
(9033,'RQC-DEMO-03','液碱退货检验-03',NULL,NULL,'TH-20260918-03',6,'JH-TH0918-03',20,18,2,2,'2026-09-18 20:00:00',231,4,'退货暂存区','CERT-R003','GB/T 1119',232,1,NULL,'1','2026-09-18 20:00:00','1','2026-09-18 20:00:00',0);
-- ---------- æ£€éªŒå•行(指标含分组:21 æ°´åˆ† / 26 é…¸å«é‡ / 31 æ­£ä¸é†‡å«é‡ï¼›å­é¡¹è‡ªåŠ¨è¡¥å…¨ï¼‰ ----------
INSERT INTO mes_qc_iqc_line (iqc_id,indicator_id,tool,check_method,standard_value,creator,create_time,updater,update_time,deleted)
SELECT d.id, i.indicator_id, i.tool, i.check_method, i.standard_value, '1','2026-09-18 09:00:00','1','2026-09-18 09:00:00',0
FROM (SELECT 9001 id UNION ALL SELECT 9002 UNION ALL SELECT 9003) d
CROSS JOIN (
  SELECT 19 AS indicator_id,'目测' AS tool,'应澄清透明,无机械杂质' AS check_method,NULL AS standard_value
  UNION ALL SELECT 20,'铂钴比色仪','色度 Hazen â‰¤ 10',10.000000
  UNION ALL SELECT 21,'卡尔费休水分仪','水分测定分组',NULL
  UNION ALL SELECT 22,'分析天平','称量',NULL
  UNION ALL SELECT 23,'分析天平','称量',NULL
  UNION ALL SELECT 24,'分析天平','称量',NULL
  UNION ALL SELECT 25,NULL,'按公式计算',NULL
  UNION ALL SELECT 26,'电位滴定仪','酸含量测定分组',NULL
  UNION ALL SELECT 27,'自动电位滴定仪','标定',NULL
  UNION ALL SELECT 28,'自动电位滴定仪','滴定',NULL
  UNION ALL SELECT 29,'分析天平','称量',NULL
  UNION ALL SELECT 30,NULL,'按公式计算',NULL
  UNION ALL SELECT 31,'气相色谱仪','正丁醇含量测定分组',NULL
  UNION ALL SELECT 32,'气相色谱仪','外标法',NULL
  UNION ALL SELECT 33,'密度计','密度 (20℃) 809~812',810.000000
  UNION ALL SELECT 34,'阿贝折光仪','折光率 n²⁰D',1.399000
) i;
INSERT INTO mes_qc_ipqc_line (ipqc_id,indicator_id,tool,check_method,standard_value,creator,create_time,updater,update_time,deleted)
SELECT d.id, i.indicator_id, i.tool, i.check_method, i.standard_value, '1','2026-09-18 13:00:00','1','2026-09-18 13:00:00',0
FROM (SELECT 9011 id UNION ALL SELECT 9012 UNION ALL SELECT 9013) d
CROSS JOIN (
  SELECT 19 AS indicator_id,'目测' AS tool,'应澄清透明,无机械杂质' AS check_method,NULL AS standard_value
  UNION ALL SELECT 20,'铂钴比色仪','色度 Hazen â‰¤ 10',10.000000
  UNION ALL SELECT 21,'卡尔费休水分仪','水分测定分组',NULL
  UNION ALL SELECT 22,'分析天平','称量',NULL
  UNION ALL SELECT 23,'分析天平','称量',NULL
  UNION ALL SELECT 24,'分析天平','称量',NULL
  UNION ALL SELECT 25,NULL,'按公式计算',NULL
  UNION ALL SELECT 26,'电位滴定仪','酸含量测定分组',NULL
  UNION ALL SELECT 27,'自动电位滴定仪','标定',NULL
  UNION ALL SELECT 28,'自动电位滴定仪','滴定',NULL
  UNION ALL SELECT 29,'分析天平','称量',NULL
  UNION ALL SELECT 30,NULL,'按公式计算',NULL
  UNION ALL SELECT 31,'气相色谱仪','正丁醇含量测定分组',NULL
  UNION ALL SELECT 32,'气相色谱仪','外标法',NULL
  UNION ALL SELECT 33,'密度计','密度 (20℃) 809~812',810.000000
  UNION ALL SELECT 34,'阿贝折光仪','折光率 n²⁰D',1.399000
) i;
INSERT INTO mes_qc_oqc_line (oqc_id,indicator_id,tool,check_method,standard_value,creator,create_time,updater,update_time,deleted)
SELECT d.id, i.indicator_id, i.tool, i.check_method, i.standard_value, '1','2026-09-18 16:30:00','1','2026-09-18 16:30:00',0
FROM (SELECT 9021 id UNION ALL SELECT 9022 UNION ALL SELECT 9023) d
CROSS JOIN (
  SELECT 19 AS indicator_id,'目测' AS tool,'应澄清透明,无机械杂质' AS check_method,NULL AS standard_value
  UNION ALL SELECT 20,'铂钴比色仪','色度 Hazen â‰¤ 10',10.000000
  UNION ALL SELECT 21,'卡尔费休水分仪','水分测定分组',NULL
  UNION ALL SELECT 22,'分析天平','称量',NULL
  UNION ALL SELECT 23,'分析天平','称量',NULL
  UNION ALL SELECT 24,'分析天平','称量',NULL
  UNION ALL SELECT 25,NULL,'按公式计算',NULL
  UNION ALL SELECT 26,'电位滴定仪','酸含量测定分组',NULL
  UNION ALL SELECT 27,'自动电位滴定仪','标定',NULL
  UNION ALL SELECT 28,'自动电位滴定仪','滴定',NULL
  UNION ALL SELECT 29,'分析天平','称量',NULL
  UNION ALL SELECT 30,NULL,'按公式计算',NULL
  UNION ALL SELECT 31,'气相色谱仪','正丁醇含量测定分组',NULL
  UNION ALL SELECT 32,'气相色谱仪','外标法',NULL
  UNION ALL SELECT 33,'密度计','密度 (20℃) 809~812',810.000000
  UNION ALL SELECT 34,'阿贝折光仪','折光率 n²⁰D',1.399000
) i;
INSERT INTO mes_qc_rqc_line (rqc_id,indicator_id,tool,check_method,standard_value,creator,create_time,updater,update_time,deleted)
SELECT d.id, i.indicator_id, i.tool, i.check_method, i.standard_value, '1','2026-09-18 19:00:00','1','2026-09-18 19:00:00',0
FROM (SELECT 9031 id UNION ALL SELECT 9032 UNION ALL SELECT 9033) d
CROSS JOIN (
  SELECT 19 AS indicator_id,'目测' AS tool,'应澄清透明,无机械杂质' AS check_method,NULL AS standard_value
  UNION ALL SELECT 20,'铂钴比色仪','色度 Hazen â‰¤ 10',10.000000
  UNION ALL SELECT 21,'卡尔费休水分仪','水分测定分组',NULL
  UNION ALL SELECT 22,'分析天平','称量',NULL
  UNION ALL SELECT 23,'分析天平','称量',NULL
  UNION ALL SELECT 24,'分析天平','称量',NULL
  UNION ALL SELECT 25,NULL,'按公式计算',NULL
  UNION ALL SELECT 26,'电位滴定仪','酸含量测定分组',NULL
  UNION ALL SELECT 27,'自动电位滴定仪','标定',NULL
  UNION ALL SELECT 28,'自动电位滴定仪','滴定',NULL
  UNION ALL SELECT 29,'分析天平','称量',NULL
  UNION ALL SELECT 30,NULL,'按公式计算',NULL
  UNION ALL SELECT 31,'气相色谱仪','正丁醇含量测定分组',NULL
  UNION ALL SELECT 32,'气相色谱仪','外标法',NULL
  UNION ALL SELECT 33,'密度计','密度 (20℃) 809~812',810.000000
  UNION ALL SELECT 34,'阿贝折光仪','折光率 n²⁰D',1.399000
) i;
-- ---------- æ£€éªŒç»“果主表(每单据 1 ä¸ªæ ·å“ï¼‰ ----------
INSERT INTO mes_qc_indicator_result (id,code,qc_id,qc_type,item_id,sn,remark,creator,create_time,updater,update_time,deleted)
VALUES
(9001,'MIR-DEMO-01',9001,1,2,'YP-A001',NULL,'1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9002,'MIR-DEMO-02',9002,1,2,'YP-A002',NULL,'1','2026-09-18 10:15:00','1','2026-09-18 10:15:00',0),
(9003,'MIR-DEMO-03',9003,1,4,'YP-A003',NULL,'1','2026-09-18 11:00:00','1','2026-09-18 11:00:00',0),
(9004,'MIR-DEMO-04',9011,2,4,'YP-P001',NULL,'1','2026-09-18 13:00:00','1','2026-09-18 13:00:00',0),
(9005,'MIR-DEMO-05',9012,2,6,'YP-P002',NULL,'1','2026-09-18 14:00:00','1','2026-09-18 14:00:00',0),
(9006,'MIR-DEMO-06',9013,2,2,'YP-P003',NULL,'1','2026-09-18 15:30:00','1','2026-09-18 15:30:00',0),
(9007,'MIR-DEMO-07',9021,3,2,'YP-O001',NULL,'1','2026-09-18 16:30:00','1','2026-09-18 16:30:00',0),
(9008,'MIR-DEMO-08',9022,3,4,'YP-O002',NULL,'1','2026-09-18 17:30:00','1','2026-09-18 17:30:00',0),
(9009,'MIR-DEMO-09',9023,3,2,'YP-O003',NULL,'1','2026-09-18 18:30:00','1','2026-09-18 18:30:00',0),
(9010,'MIR-DEMO-10',9031,4,2,'YP-R001',NULL,'1','2026-09-18 19:00:00','1','2026-09-18 19:00:00',0),
(9011,'MIR-DEMO-11',9032,4,4,'YP-R002',NULL,'1','2026-09-18 19:30:00','1','2026-09-18 19:30:00',0),
(9012,'MIR-DEMO-12',9033,4,6,'YP-R003',NULL,'1','2026-09-18 20:00:00','1','2026-09-18 20:00:00',0);
-- ---------- æ£€éªŒç»“果明细:独立项 ----------
-- 9002 ä¸å½• å¯†åº¦33/折光率34;9005 ä¸å½• æ­£ä¸é†‡32;9008 ä¸å½• é…¸ç»“æžœ30 â€”— æŠ¥å‘Šä¸­æ˜¾ç¤º "/"
INSERT INTO mes_qc_indicator_result_detail (result_id,indicator_id,measure_no,`value`,creator,create_time,updater,update_time,deleted)
VALUES
(9001,19,1,'澄清透明液体,无机械杂质','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,20,1,'5','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,33,1,'810','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,34,1,'1.3993','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9002,19,1,'淡黄色透明液体','1','2026-09-18 10:15:00','1','2026-09-18 10:15:00',0),
(9002,20,1,'8','1','2026-09-18 10:15:00','1','2026-09-18 10:15:00',0),
(9003,19,1,'透明液体,无悬浮物','1','2026-09-18 11:00:00','1','2026-09-18 11:00:00',0),
(9003,20,1,'3','1','2026-09-18 11:00:00','1','2026-09-18 11:00:00',0),
(9003,33,1,'795','1','2026-09-18 11:00:00','1','2026-09-18 11:00:00',0),
(9003,34,1,'1.3985','1','2026-09-18 11:00:00','1','2026-09-18 11:00:00',0),
(9004,19,1,'微浊','1','2026-09-18 13:00:00','1','2026-09-18 13:00:00',0),
(9004,20,1,'12','1','2026-09-18 13:00:00','1','2026-09-18 13:00:00',0),
(9004,33,1,'812','1','2026-09-18 13:00:00','1','2026-09-18 13:00:00',0),
(9004,34,1,'1.4001','1','2026-09-18 13:00:00','1','2026-09-18 13:00:00',0),
(9005,19,1,'澄清透明液体','1','2026-09-18 14:00:00','1','2026-09-18 14:00:00',0),
(9005,20,1,'6','1','2026-09-18 14:00:00','1','2026-09-18 14:00:00',0),
(9006,19,1,'无色液体','1','2026-09-18 15:30:00','1','2026-09-18 15:30:00',0),
(9006,20,1,'4','1','2026-09-18 15:30:00','1','2026-09-18 15:30:00',0),
(9006,33,1,'809','1','2026-09-18 15:30:00','1','2026-09-18 15:30:00',0),
(9006,34,1,'1.3990','1','2026-09-18 15:30:00','1','2026-09-18 15:30:00',0),
(9007,19,1,'澄清透明液体,无机械杂质','1','2026-09-18 16:30:00','1','2026-09-18 16:30:00',0),
(9007,20,1,'5','1','2026-09-18 16:30:00','1','2026-09-18 16:30:00',0),
(9007,33,1,'811','1','2026-09-18 16:30:00','1','2026-09-18 16:30:00',0),
(9007,34,1,'1.3992','1','2026-09-18 16:30:00','1','2026-09-18 16:30:00',0),
(9008,19,1,'透明液体','1','2026-09-18 17:30:00','1','2026-09-18 17:30:00',0),
(9008,33,1,'808','1','2026-09-18 17:30:00','1','2026-09-18 17:30:00',0),
(9008,34,1,'1.3988','1','2026-09-18 17:30:00','1','2026-09-18 17:30:00',0),
(9009,19,1,'澄清透明液体','1','2026-09-18 18:30:00','1','2026-09-18 18:30:00',0),
(9009,20,1,'7','1','2026-09-18 18:30:00','1','2026-09-18 18:30:00',0),
(9009,33,1,'810','1','2026-09-18 18:30:00','1','2026-09-18 18:30:00',0),
(9009,34,1,'1.3995','1','2026-09-18 18:30:00','1','2026-09-18 18:30:00',0),
(9010,19,1,'浑浊,底部沉淀','1','2026-09-18 19:00:00','1','2026-09-18 19:00:00',0),
(9010,20,1,'18','1','2026-09-18 19:00:00','1','2026-09-18 19:00:00',0),
(9010,33,1,'815','1','2026-09-18 19:00:00','1','2026-09-18 19:00:00',0),
(9010,34,1,'1.4005','1','2026-09-18 19:00:00','1','2026-09-18 19:00:00',0),
(9011,19,1,'透明液体','1','2026-09-18 19:30:00','1','2026-09-18 19:30:00',0),
(9011,20,1,'6','1','2026-09-18 19:30:00','1','2026-09-18 19:30:00',0),
(9011,34,1,'1.3991','1','2026-09-18 19:30:00','1','2026-09-18 19:30:00',0),
(9012,19,1,'淡黄色液体','1','2026-09-18 20:00:00','1','2026-09-18 20:00:00',0),
(9012,20,1,'9','1','2026-09-18 20:00:00','1','2026-09-18 20:00:00',0),
(9012,33,1,'810','1','2026-09-18 20:00:00','1','2026-09-18 20:00:00',0),
(9012,34,1,'1.3993','1','2026-09-18 20:00:00','1','2026-09-18 20:00:00',0);
-- ---------- åˆ†ç»„子项明细:9001 å«å¹³è¡Œæµ‹é‡ï¼ˆé…¸ç»“æžœ2批、正丁醇含量3批顿号合并) ----------
INSERT INTO mes_qc_indicator_result_detail (result_id,indicator_id,measure_no,`value`,creator,create_time,updater,update_time,deleted)
VALUES
(9001,22,1,'10.52','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,23,1,'12.35','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,24,1,'1.83','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,25,1,'0.048','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,27,1,'0.1005','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,28,1,'0.15','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,29,1,'10.02','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,30,1,'0.090','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,30,2,'0.095','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,32,1,'99.82','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,32,2,'99.85','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0),
(9001,32,3,'99.87','1','2026-09-18 09:30:00','1','2026-09-18 09:30:00',0);
-- ---------- åˆ†ç»„子项明细:其余样品(单批),并按注释故意缺项 ----------
INSERT INTO mes_qc_indicator_result_detail (result_id,indicator_id,measure_no,`value`,creator,create_time,updater,update_time,deleted)
SELECT r.id, m.indicator_id, 1, m.val, '1','2026-09-18 12:00:00','1','2026-09-18 12:00:00',0
FROM (
  SELECT 9002 AS id UNION ALL SELECT 9003 UNION ALL SELECT 9004 UNION ALL SELECT 9005 UNION ALL
  SELECT 9006 UNION ALL SELECT 9007 UNION ALL SELECT 9008 UNION ALL SELECT 9009 UNION ALL
  SELECT 9010 UNION ALL SELECT 9011 UNION ALL SELECT 9012
) r
CROSS JOIN (
  SELECT 22 AS indicator_id,'10.50' AS val
  UNION ALL SELECT 23,'12.30'
  UNION ALL SELECT 24,'1.80'
  UNION ALL SELECT 25,'0.052'
  UNION ALL SELECT 27,'0.1005'
  UNION ALL SELECT 28,'0.14'
  UNION ALL SELECT 29,'10.00'
  UNION ALL SELECT 30,'0.095'
  UNION ALL SELECT 32,'99.78'
) m
WHERE NOT (r.id=9005 AND m.indicator_id=32)
  AND NOT (r.id=9008 AND m.indicator_id=30)
  AND NOT (r.id=9011 AND m.indicator_id=22);