-- 入库放行审核:生产/质检双闸门 -- MySQL 5.7;历史拷贝条件见下方 UPDATE 的 WHERE(可重复执行) ALTER TABLE `biz_storage_release_review` ADD COLUMN `qc_review_conclusion` VARCHAR(16) DEFAULT NULL COMMENT '质检侧结论 tg/btg/NULL待审' AFTER `review_time`, ADD COLUMN `qc_review_remark` VARCHAR(512) DEFAULT NULL COMMENT '质检侧审核备注' AFTER `qc_review_conclusion`, ADD COLUMN `qc_review_attachments` VARCHAR(4000) DEFAULT NULL COMMENT '质检侧审核附件(逗号分隔URL)' AFTER `qc_review_remark`, ADD COLUMN `qc_review_by` VARCHAR(64) DEFAULT NULL COMMENT '质检侧审核人ID' AFTER `qc_review_attachments`, ADD COLUMN `qc_review_by_name` VARCHAR(64) DEFAULT NULL COMMENT '质检侧审核人姓名' AFTER `qc_review_by`, ADD COLUMN `qc_review_time` DATETIME DEFAULT NULL COMMENT '质检侧审核时间' AFTER `qc_review_by_name`, ADD COLUMN `prod_review_conclusion` VARCHAR(16) DEFAULT NULL COMMENT '生产侧结论 tg/btg/NULL待审' AFTER `qc_review_time`, ADD COLUMN `prod_review_remark` VARCHAR(512) DEFAULT NULL COMMENT '生产侧审核备注' AFTER `prod_review_conclusion`, ADD COLUMN `prod_review_attachments` VARCHAR(4000) DEFAULT NULL COMMENT '生产侧审核附件(逗号分隔URL)' AFTER `prod_review_remark`, ADD COLUMN `prod_review_by` VARCHAR(64) DEFAULT NULL COMMENT '生产侧审核人ID' AFTER `prod_review_attachments`, ADD COLUMN `prod_review_by_name` VARCHAR(64) DEFAULT NULL COMMENT '生产侧审核人姓名' AFTER `prod_review_by`, ADD COLUMN `prod_review_time` DATETIME DEFAULT NULL COMMENT '生产侧审核时间' AFTER `prod_review_by_name`; ALTER TABLE `biz_storage_release_review` ADD KEY `idx_srr_dual_conclusion` (`tenant_no`, `qc_review_conclusion`, `prod_review_conclusion`, `del_flag`); -- 旧单人结论只落到质检侧;已入库状态不改 UPDATE `biz_storage_release_review` SET `qc_review_conclusion` = `review_conclusion`, `qc_review_remark` = `review_remark`, `qc_review_attachments` = `review_attachments`, `qc_review_by` = `review_by`, `qc_review_by_name` = `review_by_name`, `qc_review_time` = `review_time` WHERE `del_flag` = 0 AND (`qc_review_conclusion` IS NULL OR `qc_review_conclusion` = '') AND `review_conclusion` IS NOT NULL AND `review_conclusion` <> ''; -- 按双闸门重算汇总(旧「仅质检通过」汇总变为 NULL) UPDATE `biz_storage_release_review` SET `review_conclusion` = CASE WHEN `prod_review_conclusion` = 'tg' AND `qc_review_conclusion` = 'tg' THEN 'tg' WHEN `prod_review_conclusion` = 'btg' OR `qc_review_conclusion` = 'btg' THEN 'btg' ELSE NULL END WHERE `del_flag` = 0;