完善招投标导入测试与文档

This commit is contained in:
wkc
2026-04-22 16:20:37 +08:00
parent 0c5fa6b2c8
commit 5a9b79d4ee
42 changed files with 1814 additions and 707 deletions

View File

@@ -1,4 +1,4 @@
-- 员工采购交易信息表
-- 招投标主信息表
CREATE TABLE `ccdi_purchase_transaction` (
`purchase_id` VARCHAR(32) NOT NULL COMMENT '采购事项ID',
`purchase_category` VARCHAR(50) NOT NULL COMMENT '采购类别',
@@ -41,4 +41,24 @@ CREATE TABLE `ccdi_purchase_transaction` (
KEY `idx_apply_date` (`apply_date`),
KEY `idx_supplier_uscc` (`supplier_uscc`),
KEY `idx_category_method` (`purchase_category`, `purchase_method`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工采购交易信息表';
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='招投标主信息表';
-- 招投标供应商明细表
CREATE TABLE `ccdi_purchase_transaction_supplier` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`purchase_id` VARCHAR(32) NOT NULL COMMENT '采购事项ID',
`supplier_name` VARCHAR(200) NOT NULL COMMENT '供应商名称',
`supplier_uscc` VARCHAR(18) DEFAULT NULL COMMENT '供应商统一信用代码',
`contact_person` VARCHAR(50) DEFAULT NULL COMMENT '供应商联系人',
`contact_phone` VARCHAR(20) DEFAULT NULL COMMENT '供应商联系电话',
`supplier_bank_account` VARCHAR(50) 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) DEFAULT NULL COMMENT '创建人',
`updated_by` VARCHAR(50) 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='招投标供应商明细表';

View File

@@ -1,4 +1,4 @@
-- 添加采购交易管理菜单
-- 添加招投标信息维护菜单
-- 注意: 执行前请确认已存在"信息维护"父菜单
-- 如果不存在,请先执行以下语句创建父菜单:
-- INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
@@ -7,21 +7,21 @@
-- 查询信息维护父菜单ID
SET @parent_menu_id = (SELECT menu_id FROM sys_menu WHERE menu_name='信息维护' AND parent_id=0 LIMIT 1);
-- 添加采购交易管理菜单
-- 添加招投标信息维护菜单
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES
('采购交易管理', @parent_menu_id, 12, 'purchaseTransaction', 'ccdiPurchaseTransaction/index', 1, 0, 'C', '0', '0', 'ccdi:purchaseTransaction:list', 'shopping', 'admin', NOW(), '', NULL, '采购交易信息管理菜单');
('招投标信息维护', @parent_menu_id, 12, 'purchaseTransaction', 'ccdiPurchaseTransaction/index', 1, 0, 'C', '0', '0', 'ccdi:purchaseTransaction:list', 'shopping', 'admin', NOW(), '', NULL, '招投标信息维护菜单');
-- 获取刚插入的菜单ID
SET @menu_id = LAST_INSERT_ID();
-- 添加按钮权限
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES
('采购交易查询', @menu_id, 1, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:query', '#', 'admin', NOW(), ''),
('采购交易新增', @menu_id, 2, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:add', '#', 'admin', NOW(), ''),
('采购交易修改', @menu_id, 3, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:edit', '#', 'admin', NOW(), ''),
('采购交易删除', @menu_id, 4, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:remove', '#', 'admin', NOW(), ''),
('采购交易导入', @menu_id, 5, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:import', '#', 'admin', NOW(), '');
('招投标信息查询', @menu_id, 1, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:query', '#', 'admin', NOW(), ''),
('招投标信息新增', @menu_id, 2, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:add', '#', 'admin', NOW(), ''),
('招投标信息修改', @menu_id, 3, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:edit', '#', 'admin', NOW(), ''),
('招投标信息删除', @menu_id, 4, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:remove', '#', 'admin', NOW(), ''),
('招投标信息导入', @menu_id, 5, '', '', 1, 0, 'F', '0', '0', 'ccdi:purchaseTransaction:import', '#', 'admin', NOW(), '');
-- 查询结果验证
SELECT
@@ -40,5 +40,5 @@ SELECT
m.create_time AS '创建时间'
FROM sys_menu m
LEFT JOIN sys_menu p ON m.parent_id = p.menu_id
WHERE m.menu_name = '采购交易管理' OR m.parent_id = @menu_id
WHERE m.menu_name = '招投标信息维护' OR m.parent_id = @menu_id
ORDER BY m.parent_id, m.order_num;

View File

@@ -0,0 +1,81 @@
-- 招投标信息维护:供应商明细子表、历史数据回填与菜单改名
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'
);