Implement product Excel file import functionality, including new service methods for handling Excel attachments. Update the ProductController to list imported Excel files by product code. Enhance BmsProduct and related entities to store references to the imported Excel files. Update front-end components to support displaying and managing Excel file attachments for products.

This commit is contained in:
wuweihua
2026-10-09 16:46:52 +08:00
parent 853187ad58
commit 533d360cdc
21 changed files with 589 additions and 31 deletions
+21 -21
View File
@@ -1,26 +1,26 @@
-- ------------------------------------------------------------
-- 导入价表 Excel 附件记录(仅建表/字段,待确认后再接代码)
-- 导入价表 Excel 附件记录(建表/字段)
-- 用途:产品价/红线价/销售价 Excel 导入时落库文件元数据
-- 关联:product.pef_id、prc_price_set_version.pef_id -> prc_price_excel_file.pef_id
-- 关联:product.pef_id、prc_price_set_product.pef_id -> prc_price_excel_file.pef_id
-- ------------------------------------------------------------
-- 1) 主表:导入价表 Excel 附件
CREATE TABLE IF NOT EXISTS prc_price_excel_file (
pef_id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '1 主键',
excel_type varchar(20) NOT NULL COMMENT '2 价表类型 PRODUCT=产品价 REDLINE=红线价 SALES=销售价',
effective_time datetime NOT NULL COMMENT '3 生效时间(导入时选择/解析)',
file_name varchar(255) NOT NULL COMMENT '4 文件原始名称',
file_path varchar(500) NOT NULL COMMENT '5 文件存储路径(相对路径或完整URL)',
file_size bigint(20) DEFAULT 0 COMMENT '6 文件大小(字节)',
content_type varchar(100) DEFAULT '' COMMENT '7 MIME类型,如 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
file_extension varchar(20) DEFAULT '' COMMENT '8 扩展名,如 xlsx/xls',
oss_id varchar(64) DEFAULT NULL COMMENT '9 OSS/对象存储ID(可空)',
sheet_names varchar(1000) DEFAULT NULL COMMENT '10 导入涉及的 sheet 名(多个逗号分隔,可空)',
remark varchar(500) DEFAULT NULL COMMENT '11 备注',
created_by varchar(64) DEFAULT '' COMMENT '12 创建人',
create_time datetime DEFAULT NULL COMMENT '13 创建时间',
updated_by varchar(64) DEFAULT '' COMMENT '14 更新人',
update_time datetime DEFAULT NULL COMMENT '15 更新时间',
pef_id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
excel_type varchar(20) NOT NULL COMMENT '价表类型 PRODUCT=产品价 REDLINE=红线价 SALES=销售价',
effective_time datetime NOT NULL COMMENT '生效时间(导入时选择/解析)',
file_name varchar(255) NOT NULL COMMENT '文件原始名称',
file_path varchar(500) NOT NULL COMMENT '文件存储路径(相对路径或完整URL)',
file_size bigint(20) DEFAULT 0 COMMENT '文件大小(字节)',
content_type varchar(100) DEFAULT '' COMMENT 'MIME类型',
file_extension varchar(20) DEFAULT '' COMMENT '扩展名,如 xlsx/xls',
oss_id varchar(64) DEFAULT NULL COMMENT 'OSS/对象存储ID(可空)',
sheet_names varchar(1000) DEFAULT NULL COMMENT '导入涉及的 sheet 名(多个逗号分隔,可空)',
remark varchar(500) DEFAULT NULL COMMENT '备注',
created_by varchar(64) DEFAULT '' COMMENT '创建人',
create_time datetime DEFAULT NULL COMMENT '创建时间',
updated_by varchar(64) DEFAULT '' COMMENT '更新人',
update_time datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (pef_id),
KEY idx_pef_type_eff (excel_type, effective_time),
KEY idx_pef_create_time (create_time)
@@ -31,7 +31,7 @@ ALTER TABLE product
ADD COLUMN pef_id bigint(20) DEFAULT NULL COMMENT '关联导入价表Excel附件 prc_price_excel_file.pef_id' AFTER source_sheet,
ADD KEY idx_product_pef_id (pef_id);
-- 3) 套餐版本表:关联导入附件(销售价 Excel 建价)
ALTER TABLE prc_price_set_version
ADD COLUMN pef_id bigint(20) DEFAULT NULL COMMENT '关联导入价表Excel附件 prc_price_excel_file.pef_id' AFTER price_build_mode,
ADD KEY idx_psv_pef_id (pef_id);
-- 3) 套餐产品表:关联导入附件(销售价 Excel 建价)
ALTER TABLE prc_price_set_product
ADD COLUMN pef_id bigint(20) DEFAULT NULL COMMENT '关联导入价表Excel附件 prc_price_excel_file.pef_id' AFTER source_sheet,
ADD KEY idx_psp_pef_id (pef_id);