91dddd0e02
Co-authored-by: Cursor <cursoragent@cursor.com>
54 lines
3.5 KiB
SQL
54 lines
3.5 KiB
SQL
-- 合同甲/乙/丙多方客商明细 + 运单/配载承运客商明细定位字段
|
|
-- utf8mb4_general_ci
|
|
|
|
-- 合同管理:多方客商 JSON 与丙方汇总
|
|
ALTER TABLE `blade_contract_manage`
|
|
ADD COLUMN `party_a_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '甲方客商明细JSON' AFTER `party_b`,
|
|
ADD COLUMN `party_b_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '乙方客商明细JSON' AFTER `party_a_json`,
|
|
ADD COLUMN `party_c_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '丙方客商明细JSON' AFTER `party_b_json`,
|
|
ADD COLUMN `party_c` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '丙方' AFTER `party_c_json`;
|
|
|
|
-- 合同变更:同步多方字段
|
|
ALTER TABLE `blade_contract_change`
|
|
ADD COLUMN `party_a_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '甲方客商明细JSON' AFTER `party_b`,
|
|
ADD COLUMN `party_b_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '乙方客商明细JSON' AFTER `party_a_json`,
|
|
ADD COLUMN `party_c_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '丙方客商明细JSON' AFTER `party_b_json`,
|
|
ADD COLUMN `party_c` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '丙方' AFTER `party_c_json`;
|
|
|
|
-- 历史数据迁移:原甲/乙方名称生成单行明细(仅名称,后续编辑补全客商ID)
|
|
UPDATE `blade_contract_manage`
|
|
SET `party_a_json` = CASE
|
|
WHEN `party_a` IS NOT NULL AND TRIM(`party_a`) <> '' AND (`party_a_json` IS NULL OR TRIM(`party_a_json`) = '')
|
|
THEN CONCAT('[{"id":"', REPLACE(UUID(), '-', ''), '","customerName":"', REPLACE(REPLACE(`party_a`, '\\', '\\\\'), '"', '\\"'), '"}]')
|
|
ELSE `party_a_json`
|
|
END,
|
|
`party_b_json` = CASE
|
|
WHEN `party_b` IS NOT NULL AND TRIM(`party_b`) <> '' AND (`party_b_json` IS NULL OR TRIM(`party_b_json`) = '')
|
|
THEN CONCAT('[{"id":"', REPLACE(UUID(), '-', ''), '","customerName":"', REPLACE(REPLACE(`party_b`, '\\', '\\\\'), '"', '\\"'), '"}]')
|
|
ELSE `party_b_json`
|
|
END
|
|
WHERE `is_deleted` = 0;
|
|
|
|
UPDATE `blade_contract_change`
|
|
SET `party_a_json` = CASE
|
|
WHEN `party_a` IS NOT NULL AND TRIM(`party_a`) <> '' AND (`party_a_json` IS NULL OR TRIM(`party_a_json`) = '')
|
|
THEN CONCAT('[{"id":"', REPLACE(UUID(), '-', ''), '","customerName":"', REPLACE(REPLACE(`party_a`, '\\', '\\\\'), '"', '\\"'), '"}]')
|
|
ELSE `party_a_json`
|
|
END,
|
|
`party_b_json` = CASE
|
|
WHEN `party_b` IS NOT NULL AND TRIM(`party_b`) <> '' AND (`party_b_json` IS NULL OR TRIM(`party_b_json`) = '')
|
|
THEN CONCAT('[{"id":"', REPLACE(UUID(), '-', ''), '","customerName":"', REPLACE(REPLACE(`party_b`, '\\', '\\\\'), '"', '\\"'), '"}]')
|
|
ELSE `party_b_json`
|
|
END
|
|
WHERE `is_deleted` = 0;
|
|
|
|
-- 运单:承运客商明细定位
|
|
ALTER TABLE `blade_waybill`
|
|
ADD COLUMN `carrier_party_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '承运客商明细行ID' AFTER `carrier_contract_id`,
|
|
ADD COLUMN `carrier_party_role` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '承运客商角色 B/C' AFTER `carrier_party_id`;
|
|
|
|
-- 配载:承运客商明细定位
|
|
ALTER TABLE `blade_loading_manage`
|
|
ADD COLUMN `carrier_party_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '承运客商明细行ID' AFTER `carrier_contract_id`,
|
|
ADD COLUMN `carrier_party_role` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '承运客商角色 B/C' AFTER `carrier_party_id`;
|