-- ============================================================================
-- S7 FQC 成品检验全链路 · 阶段 1B · 检规"录入类型"识别字段（语义纠偏后）
--
-- 【语义纠偏】NonNumericalTypeOK/NG 不是检规规则字段，而是"某一次检验中非数值项目的
--   实际合格数量/不合格数量"，属检验单明细 qms_qcpp_inspbillst，绝不放检规模板 qms_ccjygfzb。
--   → 撤销前一版误加在 qms_ccjygfzb 的 NonNumericalTypeOK/NG（实测两列全 NULL、无业务数据、仅本任务代码消费，安全 DROP）。
--
-- 检规模板真正缺的是"数值型/非数值型"识别依据(情况 C：现有无类型字段 + Upper/Lower 100% 空不能推导)。
--   → 新增 lrlx(录入类型)：NUMERIC 数值型(维护上下限, 检验录 j1..j50) / NON_NUMERIC 非数值型(检验只录合格/不合格数)。
--
-- 目标表 qms_qcpp_inspbillst.NonNumericalTypeOK/NG(BIGINT) 保留不动 = 检验单本次实际合格/不合格数量。
-- 幂等：IF-EXISTS/IF-NOT-EXISTS 守卫，可重复执行。不改任何历史数据、不改 jsyq/Upper/Lower 原值。
-- 占位名：提交那刻 rename 为正式 1.0.<next>.sql 并登记 csproj Copy。
-- ============================================================================

-- ① 撤销误加的检规结果数量字段（属检验单，不属检规模板）
SET @exist := (SELECT COUNT(1) FROM information_schema.columns
  WHERE table_schema=DATABASE() AND table_name='qms_ccjygfzb' AND COLUMN_NAME='NonNumericalTypeOK');
SET @sql := IF(@exist=1, 'ALTER TABLE qms_ccjygfzb DROP COLUMN NonNumericalTypeOK', 'SELECT 1');
PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;

SET @exist := (SELECT COUNT(1) FROM information_schema.columns
  WHERE table_schema=DATABASE() AND table_name='qms_ccjygfzb' AND COLUMN_NAME='NonNumericalTypeNG');
SET @sql := IF(@exist=1, 'ALTER TABLE qms_ccjygfzb DROP COLUMN NonNumericalTypeNG', 'SELECT 1');
PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;

-- ② 新增录入类型识别字段（情况 C：无现成类型字段，需显式标注数值/非数值）
SET @exist := (SELECT COUNT(1) FROM information_schema.columns
  WHERE table_schema=DATABASE() AND table_name='qms_ccjygfzb' AND COLUMN_NAME='lrlx');
SET @sql := IF(@exist=0,
  "ALTER TABLE qms_ccjygfzb ADD COLUMN lrlx VARCHAR(20) NULL COMMENT '录入类型:NUMERIC数值型/NON_NUMERIC非数值型(NULL=未设置)'",
  'SELECT 1');
PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;
