supplier_score_rule_name_install.sql 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. -- 评分规则表补「规则名称/订单类型」并写入三条权重方案
  2. -- 可在 Navicat 中直接执行
  3. -- 1) 加 name 字段(若已存在会报 Duplicate column,忽略后继续)
  4. ALTER TABLE `supplier_score_rule`
  5. ADD COLUMN `name` varchar(100) NOT NULL DEFAULT '' COMMENT '规则名称/订单类型' AFTER `id`;
  6. -- 2) 对齐/写入三条方案
  7. UPDATE `supplier_score_rule`
  8. SET `name`='普通订单(价格优先)', `quality_weight`=30, `price_weight`=50, `lead_weight`=20, `lead_enabled`=1, `status`='normal', `updatetime`=NOW()
  9. WHERE `id`=1
  10. OR (`quality_weight`=30 AND `price_weight`=50 AND `lead_weight`=20);
  11. INSERT INTO `supplier_score_rule`
  12. (`name`,`quality_weight`,`price_weight`,`lead_weight`,`lead_enabled`,`is_default`,`status`,`createtime`,`updatetime`)
  13. SELECT '急单(交期优先)', 30, 20, 50, 1, 0, 'normal', NOW(), NOW()
  14. FROM DUAL
  15. WHERE NOT EXISTS (SELECT 1 FROM `supplier_score_rule` WHERE `name`='急单(交期优先)');
  16. INSERT INTO `supplier_score_rule`
  17. (`name`,`quality_weight`,`price_weight`,`lead_weight`,`lead_enabled`,`is_default`,`status`,`createtime`,`updatetime`)
  18. SELECT '重点产品(质量优先)', 50, 20, 30, 1, 0, 'normal', NOW(), NOW()
  19. FROM DUAL
  20. WHERE NOT EXISTS (SELECT 1 FROM `supplier_score_rule` WHERE `name`='重点产品(质量优先)');
  21. -- 3) 非方案旧数据隐藏(例如原先 60/40/0)
  22. UPDATE `supplier_score_rule`
  23. SET `status`='hidden', `is_default`=0, `updatetime`=NOW()
  24. WHERE `status`='normal'
  25. AND (`name`='' OR `name` IS NULL OR `name` NOT IN (
  26. '普通订单(价格优先)',
  27. '急单(交期优先)',
  28. '重点产品(质量优先)'
  29. ));
  30. -- 4) 默认使用「普通订单(价格优先)」
  31. UPDATE `supplier_score_rule` SET `is_default`=0;
  32. UPDATE `supplier_score_rule` SET `is_default`=1 WHERE `name`='普通订单(价格优先)' AND `status`='normal';