1.0.399.sql 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. -- ============================================================================
  2. -- 1.0.399.sql:S8 S9 KPI 平台默认目标值初始化(纯数据 UPDATE)
  3. --
  4. -- 批次:S8-CONFIG-GLOBAL-ROW-SEMANTICS-AND-KPI-TARGET-1
  5. -- 用途:把 S9 Result KPI 的「平台默认目标值」写入 DB,使 DB 成为目标值的唯一事实源。
  6. --
  7. -- 背景:目标值此前只存在于 C# `_demoBaselineMap`(95/95/98/95)与内联字面量(90.0m),
  8. -- 而 ado_s8_monitor_metric.default_target_ratio 列虽早已存在却 13 行全 NULL。
  9. -- 本批已把读取路径切到 DB(工厂覆盖 > 平台默认,未配置返回 null 不做常量兜底),
  10. -- 因此必须由本脚本完成平台默认值的权威初始化,否则页面目标值会全部变成「待配置」。
  11. --
  12. -- 红线:
  13. -- SCHEMA CHANGE = NO / DDL = NO —— 全文件只有 UPDATE,无 CREATE/ALTER/DROP/TRUNCATE/DELETE。
  14. -- 只更新平台默认行(tenant_id=0 AND factory_id=0),不触碰任何工厂覆盖行。
  15. -- 幂等:附加 `default_target_ratio IS NULL` 守卫,重复执行不改已有值,
  16. -- 也不会覆盖运维/业务后续调整过的平台默认目标。
  17. --
  18. -- 数值来源:本批之前 C# 硬编码的既有目标值,逐项等值搬迁,不新增、不调整业务口径:
  19. -- ORDER_DELIVERY_RATE 95 (原 _demoBaselineMap)
  20. -- PO_DELIVERY_RATE 95 (原 _demoBaselineMap)
  21. -- IQC_PASS_RATE 98 (原 _demoBaselineMap)
  22. -- WO_COMPLETION_RATE 95 (原 _demoBaselineMap)
  23. -- ORDER_FLOW_CYCLE_RATIO 90 (原 C# 内联 90.0m)
  24. --
  25. -- 不在本脚本范围(刻意不做):
  26. -- - KPI 当前值 92/88/96/90 —— 不是配置项,不写入本列,不删除,不改动。
  27. -- - enabled 列 —— 5 行当前为 0,但 Result KPI 读取路径不过滤 Enabled;
  28. -- 改动它会影响 monitor-options 下拉可选项,超出本批范围,留待业务确认。
  29. -- ============================================================================
  30. UPDATE `ado_s8_monitor_metric`
  31. SET `default_target_ratio` = 95.00, `updated_at` = NOW()
  32. WHERE `tenant_id` = 0 AND `factory_id` = 0
  33. AND `metric_code` = 'ORDER_DELIVERY_RATE'
  34. AND `default_target_ratio` IS NULL;
  35. UPDATE `ado_s8_monitor_metric`
  36. SET `default_target_ratio` = 95.00, `updated_at` = NOW()
  37. WHERE `tenant_id` = 0 AND `factory_id` = 0
  38. AND `metric_code` = 'PO_DELIVERY_RATE'
  39. AND `default_target_ratio` IS NULL;
  40. UPDATE `ado_s8_monitor_metric`
  41. SET `default_target_ratio` = 98.00, `updated_at` = NOW()
  42. WHERE `tenant_id` = 0 AND `factory_id` = 0
  43. AND `metric_code` = 'IQC_PASS_RATE'
  44. AND `default_target_ratio` IS NULL;
  45. UPDATE `ado_s8_monitor_metric`
  46. SET `default_target_ratio` = 95.00, `updated_at` = NOW()
  47. WHERE `tenant_id` = 0 AND `factory_id` = 0
  48. AND `metric_code` = 'WO_COMPLETION_RATE'
  49. AND `default_target_ratio` IS NULL;
  50. UPDATE `ado_s8_monitor_metric`
  51. SET `default_target_ratio` = 90.00, `updated_at` = NOW()
  52. WHERE `tenant_id` = 0 AND `factory_id` = 0
  53. AND `metric_code` = 'ORDER_FLOW_CYCLE_RATIO'
  54. AND `default_target_ratio` IS NULL;
  55. -- 验收查询(人工执行,脚本本身不依赖):
  56. -- SELECT metric_code, default_target_ratio
  57. -- FROM ado_s8_monitor_metric
  58. -- WHERE tenant_id = 0 AND factory_id = 0 AND mechanism = 'RATIO' AND is_result_kpi = 1
  59. -- ORDER BY sort_no;
  60. -- 期望 5 行:95.00 / 95.00 / 98.00 / 95.00 / 90.00,且其余 8 行 default_target_ratio 保持 NULL。