Files
ccdi/sql/migration/2026-04-22-bidding-info-maintenance-supplier-detail.sql

82 lines
3.2 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 招投标信息维护:供应商明细子表、历史数据回填与菜单改名
CREATE TABLE IF NOT EXISTS `ccdi_purchase_transaction_supplier` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`purchase_id` VARCHAR(32) NOT NULL COMMENT '采购事项ID',
`supplier_name` VARCHAR(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '供应商名称',
`supplier_uscc` VARCHAR(18) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '供应商统一信用代码',
`contact_person` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '供应商联系人',
`contact_phone` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '供应商联系电话',
`supplier_bank_account` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '供应商银行账户',
`is_bid_winner` TINYINT NOT NULL DEFAULT 0 COMMENT '是否中标1-是0-否',
`sort_order` INT NOT NULL DEFAULT 1 COMMENT '排序',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`created_by` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
`updated_by` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`),
KEY `idx_purchase_id` (`purchase_id`),
KEY `idx_purchase_bid_winner` (`purchase_id`, `is_bid_winner`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='招投标供应商明细表';
INSERT INTO ccdi_purchase_transaction_supplier (
purchase_id,
supplier_name,
supplier_uscc,
contact_person,
contact_phone,
supplier_bank_account,
is_bid_winner,
sort_order,
create_time,
update_time,
created_by,
updated_by
)
SELECT
t.purchase_id,
t.supplier_name,
t.supplier_uscc,
t.contact_person,
t.contact_phone,
t.supplier_bank_account,
1,
1,
IFNULL(t.create_time, NOW()),
IFNULL(t.update_time, NOW()),
t.created_by,
t.updated_by
FROM ccdi_purchase_transaction t
LEFT JOIN ccdi_purchase_transaction_supplier s
ON s.purchase_id = t.purchase_id
AND s.is_bid_winner = 1
WHERE IFNULL(t.supplier_name, '') <> ''
AND s.id IS NULL;
UPDATE sys_menu
SET menu_name = '招投标信息维护',
remark = '招投标信息维护菜单',
update_by = 'admin',
update_time = NOW()
WHERE perms = 'ccdi:purchaseTransaction:list'
OR path = 'purchaseTransaction';
UPDATE sys_menu
SET menu_name = CASE perms
WHEN 'ccdi:purchaseTransaction:query' THEN '招投标信息查询'
WHEN 'ccdi:purchaseTransaction:add' THEN '招投标信息新增'
WHEN 'ccdi:purchaseTransaction:edit' THEN '招投标信息修改'
WHEN 'ccdi:purchaseTransaction:remove' THEN '招投标信息删除'
WHEN 'ccdi:purchaseTransaction:import' THEN '招投标信息导入'
ELSE menu_name
END,
update_by = 'admin',
update_time = NOW()
WHERE perms IN (
'ccdi:purchaseTransaction:query',
'ccdi:purchaseTransaction:add',
'ccdi:purchaseTransaction:edit',
'ccdi:purchaseTransaction:remove',
'ccdi:purchaseTransaction:import'
);