From 54a09c8eaa102087575c1904a7deb0dffacc4ebe Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 22 九月 2026 14:05:54 +0800
Subject: [PATCH] docs(mes): 添加质检产品检验单 Word 导出功能文档和演示数据

---
 docs/qc-report-samples/qcType3_qcId9022.docx |    0 
 docs/qc-report-samples/qcType4_qcId9032.docx |    0 
 docs/qc-report-samples/qcType2_qcId9012.docx |    0 
 docs/seed_qc_mock_data.sql                   |  237 +++++++++++++++++++++++++++++++++++++++
 docs/qc_product_report_word_integration.md   |   83 +++++++++++++
 docs/qc-report-samples/qcType3_qcId9023.docx |    0 
 docs/qc-report-samples/qcType4_qcId9033.docx |    0 
 docs/qc-report-samples/qcType1_qcId9002.docx |    0 
 docs/qc-report-samples/qcType1_qcId9001.docx |    0 
 docs/qc-report-samples/qcType4_qcId9031.docx |    0 
 docs/qc-report-samples/qcType1_qcId9003.docx |    0 
 docs/qc-report-samples/qcType2_qcId9013.docx |    0 
 docs/qc-report-samples/qcType2_qcId9011.docx |    0 
 docs/qc-report-samples/qcType3_qcId9021.docx |    0 
 14 files changed, 320 insertions(+), 0 deletions(-)

diff --git a/docs/qc-report-samples/qcType1_qcId9001.docx b/docs/qc-report-samples/qcType1_qcId9001.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType1_qcId9001.docx
diff --git a/docs/qc-report-samples/qcType1_qcId9002.docx b/docs/qc-report-samples/qcType1_qcId9002.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType1_qcId9002.docx
diff --git a/docs/qc-report-samples/qcType1_qcId9003.docx b/docs/qc-report-samples/qcType1_qcId9003.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType1_qcId9003.docx
diff --git a/docs/qc-report-samples/qcType2_qcId9011.docx b/docs/qc-report-samples/qcType2_qcId9011.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType2_qcId9011.docx
diff --git a/docs/qc-report-samples/qcType2_qcId9012.docx b/docs/qc-report-samples/qcType2_qcId9012.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType2_qcId9012.docx
diff --git a/docs/qc-report-samples/qcType2_qcId9013.docx b/docs/qc-report-samples/qcType2_qcId9013.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType2_qcId9013.docx
diff --git a/docs/qc-report-samples/qcType3_qcId9021.docx b/docs/qc-report-samples/qcType3_qcId9021.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType3_qcId9021.docx
diff --git a/docs/qc-report-samples/qcType3_qcId9022.docx b/docs/qc-report-samples/qcType3_qcId9022.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType3_qcId9022.docx
diff --git a/docs/qc-report-samples/qcType3_qcId9023.docx b/docs/qc-report-samples/qcType3_qcId9023.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType3_qcId9023.docx
diff --git a/docs/qc-report-samples/qcType4_qcId9031.docx b/docs/qc-report-samples/qcType4_qcId9031.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType4_qcId9031.docx
diff --git a/docs/qc-report-samples/qcType4_qcId9032.docx b/docs/qc-report-samples/qcType4_qcId9032.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType4_qcId9032.docx
diff --git a/docs/qc-report-samples/qcType4_qcId9033.docx b/docs/qc-report-samples/qcType4_qcId9033.docx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/qc-report-samples/qcType4_qcId9033.docx
diff --git a/docs/qc_product_report_word_integration.md b/docs/qc_product_report_word_integration.md
new file mode 100644
index 0000000..2b3aebc
--- /dev/null
+++ b/docs/qc_product_report_word_integration.md
@@ -0,0 +1,83 @@
+# 璐ㄦ浜у搧妫�楠屽崟 Word 瀵煎嚭 - 鍓嶇鑱旇皟鏂规
+
+> 瀵瑰簲绾歌川"脳脳浜у搧璐ㄩ噺妫�楠屽崟"鐗堝紡锛堝锛氬畞澶忎節娉撳寲宸ョ鎶�鏈夐檺鍏徃 宸ヤ笟鐢ㄦ涓侀唶浜у搧璐ㄩ噺妫�楠屽崟锛夈��
+> 鏀寔涓嬭浇 Word锛�.docx锛夛紱**鎵撳嵃閫氳繃涓嬭浇鍚庣敤 Word 鎵撳紑鎵撳嵃**锛屽悗绔笉鍐嶆彁渚涙墦鍗伴〉闈€��
+> IQC/IPQC/OQC/RQC 鍥涚被妫�楠屽崟閫氱敤锛屼笌鐜版湁 `/report` 鑱氬悎鏁版嵁鎺ュ彛鍏辩敤鍙傛暟銆�
+
+## 娑夊強椤甸潰
+
+- 鍥涚被妫�楠屽崟鍒楄〃/璇︽儏鐨勬搷浣滃垪锛氭柊澧炪�屽鍑烘楠屽崟(Word)銆嶅叆鍙o紙涓庢棦鏈夈�屾墦鍗版姤鍛娿�嶅苟鍒楋級
+- 澶氭牱鍝侊紙澶氫釜妫�楠岀粨鏋滐級鐨勫崟鎹細瀵煎嚭鍓嶅厑璁搁�夋嫨鏍峰搧锛堜紶 `resultId`锛屼笉浼犻粯璁ゅ彇鏈�鏃╀竴涓牱鍝侊級
+
+## API
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| GET | /mes/qc/indicator-result/export-product-word | 瀵煎嚭浜у搧妫�楠屽崟 Word锛屽搷搴斾负 docx 浜岃繘鍒舵祦 |
+
+**璇锋眰鍙傛暟锛坬uery锛夛細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| 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`锛屼负绌烘椂榛樿銆屾楠岀粨鏋滀粎瀵规牱鍝佹湰韬垨鏈壒娆¤礋璐c�傘�� | |
+| 妫�楠�/澶嶆牳/鎵瑰噯 | 鍥哄畾鐣欑┖ | 涓庡垽瀹氱粨璁�/璐ㄦ绔犱竴鑷达紝涓嶈緭鍑哄鍚嶏紝鎵撳嵃鍚庢墜鍐� |
+
+## 鎺ュ彛鍙樻洿鐐癸紙`/mes/qc/indicator-result/report` 鍝嶅簲锛�
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| inspectDate | DateTime | 妫�楠屾棩鏈燂紙妫�楠屽崟 inspectDate 瀛楁锛� |
+| docCreateTime | DateTime | 璐ㄦ鍗曞垱寤烘椂闂达紝Word 鎶ュ憡鎵撳嵃涓�"鐢熶骇鏃堕棿" |
+
+鏃㈡湁鍓嶇鎵撳嵃缁勪欢锛坬c-report-print.vue锛変笉鍙楀奖鍝嶏紝鏂板瓧娈靛悜鍚庡吋瀹广��
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 澶氭牱鍝� | `resultId` 涓嶄紶鍙栨渶鏃╂牱鍝侊紱涓� `/report` 琛屼负涓�鑷� |
+| 鎶�鏈寚鏍� | 鏈増寮忓浐瀹氫笉杈撳嚭闃堝��/鏍囧噯鍊煎垪锛涢渶瑕佹妧鏈寚鏍囧鐓ф椂浣跨敤鏃㈡湁銆屾墦鍗版姤鍛娿�嶅寲楠岃褰曠増寮� |
+| 鍒ゅ畾缁撹 | 绯荤粺涓嶅啓鍏ョ粨璁猴紙鍚� checkResult锛夛紝涓�寰嬬暀绌烘墜濉� |
+| 绌哄�� | 鏂囨湰绌烘墦鍗� `/`锛涙壒閲�/鏃ユ湡涓虹┖鎵撳嵃 `/` |
+| 鍒嗙粍鎸囨爣 | 鍒嗙粍鏈韩涓嶅崰琛岋紝浠呭钩閾哄叾涓嬪綍鍏ラ」锛堝惈涓棿鍙傛暟琛岋紝濡�"璇曟牱璐ㄩ噺 m/g"锛� |
+
+## 娉ㄦ剰浜嬮」
+
+- 鏂囦欢鍚嶅惈涓枃锛屽悗绔凡鎸� UTF-8 缂栫爜鏀� header锛屽墠绔� blob 涓嬭浇鏃跺缓璁洿鎺ョ敤鍏ュ弬鎷兼枃浠跺悕鎴栬В鏋� Content-Disposition銆�
+- 瀵煎嚭鍐呭涓洪潤鎬佺増寮忥紙4 鍒楃綉鏍艰〃锛夛紝鏃犻〉鐪夐〉鑴氥�佹棤 Logo 鍥剧墖锛汱ogo 濡傞渶灞曠ず鐢卞墠绔‘璁ゅ悗鍐嶆墿灞曘��
+- 鍥炲綊鐐癸細`/report` 鏃㈡湁瀛楁涓庢墦鍗扮粍浠惰涓轰笉鍙橈紱鏈浠呮柊澧炰袱涓搷搴斿瓧娈典笌鏂板鍑烘帴鍙c��
+
+## 鍚庣楠岃瘉
+
+- 鍗曟祴锛歚yudao-module-mes` 妯″潡 `MesQcProductReportWordBuilderTest`锛堢敓鎴愭牱渚嬪彲璇诲洖鏂█锛夛紝鏍蜂緥鏂囦欢 `yudao-module-mes/target/MesQcProductReportWordBuilder-sample.docx` 鍙敤 Word 鎵撳紑鏍稿鐗堝紡銆�
diff --git a/docs/seed_qc_mock_data.sql b/docs/seed_qc_mock_data.sql
new file mode 100644
index 0000000..e810b06
--- /dev/null
+++ b/docs/seed_qc_mock_data.sql
@@ -0,0 +1,237 @@
+-- =====================================================================
+-- MES 璐ㄦ鎶ュ憡婕旂ず鏁版嵁锛欼QC/IPQC/OQC/RQC 鍚� 3 鏉″凡瀹屾垚鍗曟嵁
+-- 鍚垎缁勬楠岄」(姘村垎/閰稿惈閲�/姝d竵閱囧惈閲忓钩閾�) + 骞宠娴嬮噺(椤垮彿鍚堝苟) + 绌哄�煎崰浣�("/")
+-- 绛惧瓧锛氭楠�=寮犱笁(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 鏉ユ枡妫�楠屽崟锛坬c_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 杩囩▼妫�楠屽崟锛坬c_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 鍑鸿揣妫�楠屽崟锛坬c_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 閫�璐ф楠屽崟锛坬c_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 姝d竵閱囧惈閲忥紱瀛愰」鑷姩琛ュ叏锛� ----------
+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,'姘旂浉鑹茶氨浠�','姝d竵閱囧惈閲忔祴瀹氬垎缁�',NULL
+  UNION ALL SELECT 32,'姘旂浉鑹茶氨浠�','澶栨爣娉�',NULL
+  UNION ALL SELECT 33,'瀵嗗害璁�','瀵嗗害 (20鈩�) 809~812',810.000000
+  UNION ALL SELECT 34,'闃胯礉鎶樺厜浠�','鎶樺厜鐜� n虏鈦癉',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,'姘旂浉鑹茶氨浠�','姝d竵閱囧惈閲忔祴瀹氬垎缁�',NULL
+  UNION ALL SELECT 32,'姘旂浉鑹茶氨浠�','澶栨爣娉�',NULL
+  UNION ALL SELECT 33,'瀵嗗害璁�','瀵嗗害 (20鈩�) 809~812',810.000000
+  UNION ALL SELECT 34,'闃胯礉鎶樺厜浠�','鎶樺厜鐜� n虏鈦癉',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,'姘旂浉鑹茶氨浠�','姝d竵閱囧惈閲忔祴瀹氬垎缁�',NULL
+  UNION ALL SELECT 32,'姘旂浉鑹茶氨浠�','澶栨爣娉�',NULL
+  UNION ALL SELECT 33,'瀵嗗害璁�','瀵嗗害 (20鈩�) 809~812',810.000000
+  UNION ALL SELECT 34,'闃胯礉鎶樺厜浠�','鎶樺厜鐜� n虏鈦癉',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,'姘旂浉鑹茶氨浠�','姝d竵閱囧惈閲忔祴瀹氬垎缁�',NULL
+  UNION ALL SELECT 32,'姘旂浉鑹茶氨浠�','澶栨爣娉�',NULL
+  UNION ALL SELECT 33,'瀵嗗害璁�','瀵嗗害 (20鈩�) 809~812',810.000000
+  UNION ALL SELECT 34,'闃胯礉鎶樺厜浠�','鎶樺厜鐜� n虏鈦癉',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 涓嶅綍 姝d竵閱�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);

--
Gitblit v1.9.3