100 lines
3.7 KiB
SQL
100 lines
3.7 KiB
SQL
-- ================================================================
|
|
-- BMS 应收账单导出模板恢复脚本
|
|
--
|
|
-- 用途:恢复应收账单导出功能使用的内置默认模板配置。
|
|
-- 特点:
|
|
-- 1. 可重复执行,不删除现有模板数据。
|
|
-- 2. 模板表不存在时自动创建;模板记录已存在时不会重复插入。
|
|
-- 3. storage_key 必须与后端 resources 下的模板路径一致。
|
|
-- ================================================================
|
|
|
|
SET NAMES utf8mb4;
|
|
|
|
-- 1. 创建导出模板表(表已存在时不会重复创建)
|
|
CREATE TABLE IF NOT EXISTS ar_export_template (
|
|
template_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '导出模板ID',
|
|
template_code VARCHAR(50) NOT NULL COMMENT '模板编码,例如 AR_CUSTOMER_BILL',
|
|
template_name VARCHAR(100) NOT NULL COMMENT '模板名称',
|
|
business_type VARCHAR(50) NOT NULL COMMENT '业务类型,例如 AR_BILL',
|
|
template_version VARCHAR(50) NOT NULL COMMENT '模板版本,已启用版本不可覆盖',
|
|
storage_type VARCHAR(20) NOT NULL DEFAULT 'CLASSPATH' COMMENT '存储类型:CLASSPATH=应用内置资源,FILE=服务器文件,OSS=对象存储,MINIO=MinIO对象存储',
|
|
storage_key VARCHAR(500) NOT NULL COMMENT '模板文件存储Key或classpath资源路径',
|
|
file_hash VARCHAR(128) DEFAULT NULL COMMENT '模板文件SHA-256校验值',
|
|
status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态:ENABLED=启用,DISABLED=停用',
|
|
is_default CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否默认模板:1是0否',
|
|
effective_start DATE DEFAULT NULL COMMENT '生效开始日期',
|
|
effective_end DATE DEFAULT NULL COMMENT '生效结束日期',
|
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
|
create_by VARCHAR(64) NOT NULL COMMENT '创建人',
|
|
create_time DATETIME NOT NULL COMMENT '创建时间',
|
|
update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人',
|
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (template_id),
|
|
UNIQUE KEY uk_ar_export_template_code_version (business_type, template_code, template_version),
|
|
KEY idx_ar_export_template_default (business_type, status, is_default, effective_start, effective_end)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单导出模板管理';
|
|
|
|
-- 2. 恢复系统内置的应收账单默认模板
|
|
-- 模板文件位置:
|
|
-- bms-back/ruoyi-system/src/main/resources/templates/ar/ar_bill_template.xlsx
|
|
INSERT INTO ar_export_template (
|
|
template_code,
|
|
template_name,
|
|
business_type,
|
|
template_version,
|
|
storage_type,
|
|
storage_key,
|
|
file_hash,
|
|
status,
|
|
is_default,
|
|
effective_start,
|
|
effective_end,
|
|
remark,
|
|
create_by,
|
|
create_time,
|
|
update_by,
|
|
update_time
|
|
)
|
|
SELECT
|
|
'AR_CUSTOMER_BILL',
|
|
'应收账单默认模板',
|
|
'AR_BILL',
|
|
'1.0',
|
|
'CLASSPATH',
|
|
'templates/ar/ar_bill_template.xlsx',
|
|
'735002ac3561e0579b724c0612a2c5ce2d6725bc7fd39c450b0aeff70911a45e',
|
|
'ENABLED',
|
|
'1',
|
|
NULL,
|
|
NULL,
|
|
'系统内置默认模板',
|
|
'system',
|
|
NOW(),
|
|
'system',
|
|
NOW()
|
|
FROM DUAL
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM ar_export_template
|
|
WHERE business_type = 'AR_BILL'
|
|
AND template_code = 'AR_CUSTOMER_BILL'
|
|
AND template_version = '1.0'
|
|
);
|
|
|
|
-- 3. 执行后核验:应返回 1 条启用的默认模板记录
|
|
SELECT
|
|
template_id,
|
|
template_code,
|
|
template_name,
|
|
business_type,
|
|
template_version,
|
|
storage_type,
|
|
storage_key,
|
|
status,
|
|
is_default,
|
|
file_hash
|
|
FROM ar_export_template
|
|
WHERE business_type = 'AR_BILL'
|
|
AND template_code = 'AR_CUSTOMER_BILL'
|
|
AND template_version = '1.0';
|