云
昨天 74b0d9c5ab1dc316b29f8525dcffe45225d4c43c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- 检验项结果空值回填 | 目标库 mom-hm | 2026-10-15
--
-- 背景:mes_qc_indicator_result_detail 有 2720/3609 行 value 为空(约 75%)。
-- 原因是此前的导入过程「非数值不落库」,把原始记录值塞进了 remark:
--   录入项: "...;原记录值:<X>;原值不含可转换的实测数值,待补测"
--   分组项: "...;原记录值:<X>;分组标题不录入实测结果"
--
-- 回填规则(与用户确认):
--   1. 只回填「录入项」(mes_qc_indicator.item_type = 1):value := 备注中的 <X>,原样存字符串
--      (X 可能是 合格/符合要求/正常/未检出/待复核,或带单位 0.56%、0.04 g/kg、503.0 粒)
--   2. 分组项(item_type = 2)不填:备注已注明「分组标题不录入实测结果」
--   3. 备注为 NULL / 无「原记录值」的 38 行不填(无原始值来源)
--
-- 备份(回填前):
--   SELECT id,result_id,indicator_id,value,remark FROM mes_qc_indicator_result_detail
--   WHERE deleted=0 AND (value IS NULL OR value='') ORDER BY id;  -> detail-empty-before.tsv(2720 行)
--
-- 结果:空值 2720 -> 739(回填 1981 行);剩余 739 = 录入项 27 + 分组项 712。
 
UPDATE mes_qc_indicator_result_detail d
JOIN mes_qc_indicator i ON i.id = d.indicator_id
SET d.value = SUBSTRING_INDEX(SUBSTRING_INDEX(d.remark, '原记录值:', -1), ';', 1)
WHERE d.deleted = 0
  AND (d.value IS NULL OR d.value = '')
  AND i.item_type = 1
  AND d.remark LIKE '%原记录值:%';