2026-08-19-storage-release-dual-gate.sql 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. -- 入库放行审核:生产/质检双闸门
  2. -- MySQL 5.7;历史拷贝条件见下方 UPDATE 的 WHERE(可重复执行)
  3. ALTER TABLE `biz_storage_release_review`
  4. ADD COLUMN `qc_review_conclusion` VARCHAR(16) DEFAULT NULL COMMENT '质检侧结论 tg/btg/NULL待审' AFTER `review_time`,
  5. ADD COLUMN `qc_review_remark` VARCHAR(512) DEFAULT NULL COMMENT '质检侧审核备注' AFTER `qc_review_conclusion`,
  6. ADD COLUMN `qc_review_attachments` VARCHAR(4000) DEFAULT NULL COMMENT '质检侧审核附件(逗号分隔URL)' AFTER `qc_review_remark`,
  7. ADD COLUMN `qc_review_by` VARCHAR(64) DEFAULT NULL COMMENT '质检侧审核人ID' AFTER `qc_review_attachments`,
  8. ADD COLUMN `qc_review_by_name` VARCHAR(64) DEFAULT NULL COMMENT '质检侧审核人姓名' AFTER `qc_review_by`,
  9. ADD COLUMN `qc_review_time` DATETIME DEFAULT NULL COMMENT '质检侧审核时间' AFTER `qc_review_by_name`,
  10. ADD COLUMN `prod_review_conclusion` VARCHAR(16) DEFAULT NULL COMMENT '生产侧结论 tg/btg/NULL待审' AFTER `qc_review_time`,
  11. ADD COLUMN `prod_review_remark` VARCHAR(512) DEFAULT NULL COMMENT '生产侧审核备注' AFTER `prod_review_conclusion`,
  12. ADD COLUMN `prod_review_attachments` VARCHAR(4000) DEFAULT NULL COMMENT '生产侧审核附件(逗号分隔URL)' AFTER `prod_review_remark`,
  13. ADD COLUMN `prod_review_by` VARCHAR(64) DEFAULT NULL COMMENT '生产侧审核人ID' AFTER `prod_review_attachments`,
  14. ADD COLUMN `prod_review_by_name` VARCHAR(64) DEFAULT NULL COMMENT '生产侧审核人姓名' AFTER `prod_review_by`,
  15. ADD COLUMN `prod_review_time` DATETIME DEFAULT NULL COMMENT '生产侧审核时间' AFTER `prod_review_by_name`;
  16. ALTER TABLE `biz_storage_release_review`
  17. ADD KEY `idx_srr_dual_conclusion` (`tenant_no`, `qc_review_conclusion`, `prod_review_conclusion`, `del_flag`);
  18. -- 旧单人结论只落到质检侧;已入库状态不改
  19. UPDATE `biz_storage_release_review`
  20. SET
  21. `qc_review_conclusion` = `review_conclusion`,
  22. `qc_review_remark` = `review_remark`,
  23. `qc_review_attachments` = `review_attachments`,
  24. `qc_review_by` = `review_by`,
  25. `qc_review_by_name` = `review_by_name`,
  26. `qc_review_time` = `review_time`
  27. WHERE `del_flag` = 0
  28. AND (`qc_review_conclusion` IS NULL OR `qc_review_conclusion` = '')
  29. AND `review_conclusion` IS NOT NULL
  30. AND `review_conclusion` <> '';
  31. -- 按双闸门重算汇总(旧「仅质检通过」汇总变为 NULL)
  32. UPDATE `biz_storage_release_review`
  33. SET `review_conclusion` = CASE
  34. WHEN `prod_review_conclusion` = 'tg' AND `qc_review_conclusion` = 'tg' THEN 'tg'
  35. WHEN `prod_review_conclusion` = 'btg' OR `qc_review_conclusion` = 'btg' THEN 'btg'
  36. ELSE NULL
  37. END
  38. WHERE `del_flag` = 0;