删除sql和md文件,减轻干扰
This commit is contained in:
1 parent
c9f3687c70
commit
adfbb74699
266 files changed
+1155
-48917
No files matched your search
@@ -1,138 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 奖学金管理模块 - 兼得关系增强数据增量升级脚本
|
||||
-- 版本: v1.1-增量版
|
||||
-- 创建时间: 2025-01-27
|
||||
-- 说明: 只执行还未完成的增量更新部分
|
||||
-- =====================================================
|
||||
|
||||
-- 设置字符集
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. 检查并新增关系类型字典 (如果不存在)
|
||||
-- =====================================================
|
||||
|
||||
-- 1.1 查找可用的dict_id
|
||||
SET @next_dict_id = (SELECT MAX(dict_id) + 1 FROM sys_dict_type WHERE dict_id < 3000000000000000000);
|
||||
|
||||
-- 1.2 新增关系类型字典 (如果不存在)
|
||||
INSERT IGNORE INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `create_by`, `create_time`, `remark`)
|
||||
SELECT @next_dict_id, '兼得关系细分类型', 'jcbt_relation_type', 1, NOW(), '奖学金兼得关系的具体类型'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict_type` WHERE `dict_type` = 'jcbt_relation_type');
|
||||
|
||||
-- 1.3 新增关系类型字典数据 (如果不存在)
|
||||
INSERT IGNORE INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
((SELECT MAX(dict_code) + 1 FROM sys_dict_data WHERE dict_code < 3000000000000000000), 1, '兼容', 'COMPATIBLE', 'jcbt_relation_type', '', 'success', 'N', 1, NOW(), '可以同时获得'),
|
||||
((SELECT MAX(dict_code) + 2 FROM sys_dict_data WHERE dict_code < 3000000000000000000), 2, '互斥', 'EXCLUSIVE', 'jcbt_relation_type', '', 'danger', 'N', 1, NOW(), '不能同时获得'),
|
||||
((SELECT MAX(dict_code) + 3 FROM sys_dict_data WHERE dict_code < 3000000000000000000), 3, '优先级', 'PRIORITY', 'jcbt_relation_type', '', 'warning', 'N', 1, NOW(), '有优先级关系');
|
||||
|
||||
-- =====================================================
|
||||
-- 2. 更新现有奖学金类型的兼得类型为CUSTOM
|
||||
-- =====================================================
|
||||
|
||||
-- 更新现有已设置兼得关系的奖学金类型
|
||||
UPDATE `jcbt_scholarship_type`
|
||||
SET `compatibility_type` = 'CUSTOM',
|
||||
`update_time` = NOW(),
|
||||
`update_by` = 1
|
||||
WHERE `id` IN (1, 2, 3, 4, 5, 6, 7)
|
||||
AND `deleted` = 0
|
||||
AND `compatibility_type` != 'CUSTOM';
|
||||
|
||||
-- =====================================================
|
||||
-- 3. 新增权限配置 (如果不存在)
|
||||
-- =====================================================
|
||||
|
||||
-- 3.1 奖学金类型管理权限细化
|
||||
INSERT IGNORE INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) VALUES
|
||||
-- 奖学金类型管理按钮权限
|
||||
(9000000000000001101, '奖学金类型查询', 9000000000000001001, 1, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:query', '#', 1, NOW(), ''),
|
||||
(9000000000000001102, '奖学金类型新增', 9000000000000001001, 2, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:add', '#', 1, NOW(), ''),
|
||||
(9000000000000001103, '奖学金类型修改', 9000000000000001001, 3, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:edit', '#', 1, NOW(), ''),
|
||||
(9000000000000001104, '奖学金类型删除', 9000000000000001001, 4, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:remove', '#', 1, NOW(), ''),
|
||||
(9000000000000001105, '奖学金类型导出', 9000000000000001001, 5, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:export', '#', 1, NOW(), ''),
|
||||
(9000000000000001106, '兼得关系配置', 9000000000000001001, 6, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:compatibility', '#', 1, NOW(), '兼得关系配置权限');
|
||||
|
||||
-- =====================================================
|
||||
-- 4. 示例数据:带自定义兼得关系的新奖学金类型 (如果不存在)
|
||||
-- =====================================================
|
||||
|
||||
-- 4.1 新增一个示例专项奖学金 (如果不存在)
|
||||
INSERT IGNORE INTO `jcbt_scholarship_type` (`id`, `type_code`, `type_name`, `type_category`, `level_type`, `award_amount`, `description`, `application_guide`, `compatibility_type`, `status`, `sort_order`, `is_system`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(8, 'ZX_EXCELLENT', '卓越学子奖学金', 'SPECIAL', 'SPECIAL', 8000.00, '表彰在学业、创新、社会工作等方面全面发展的优秀学生', '需同时满足学业、创新、社会工作等多项要求', 'CUSTOM', 1, 1, 0, 1, 1, NOW());
|
||||
|
||||
-- 4.2 配置卓越学子奖学金的兼得关系(与所有其他奖学金互斥)- 使用动态ID
|
||||
SET @scholarship_8_exists = (SELECT COUNT(*) FROM jcbt_scholarship_type WHERE id = 8);
|
||||
SET @max_compatibility_id = (SELECT COALESCE(MAX(id), 0) FROM jcbt_scholarship_compatibility);
|
||||
|
||||
INSERT INTO `jcbt_scholarship_compatibility` (`id`, `type_id_1`, `type_id_2`, `relation_type`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`)
|
||||
SELECT
|
||||
@max_compatibility_id + ROW_NUMBER() OVER (ORDER BY temp.type_id_2),
|
||||
8,
|
||||
temp.type_id_2,
|
||||
'EXCLUSIVE',
|
||||
0,
|
||||
CONCAT('卓越学子奖学金与', temp.type_name, '互斥'),
|
||||
1,
|
||||
1,
|
||||
NOW()
|
||||
FROM (
|
||||
SELECT 1 as type_id_2, '一等学业奖学金' as type_name
|
||||
UNION ALL SELECT 2, '二等学业奖学金'
|
||||
UNION ALL SELECT 3, '三等学业奖学金'
|
||||
UNION ALL SELECT 4, '创新特等奖学金'
|
||||
UNION ALL SELECT 5, '创新一等奖学金'
|
||||
UNION ALL SELECT 6, '社会工作一等奖学金'
|
||||
UNION ALL SELECT 7, '社会工作二等奖学金'
|
||||
) temp
|
||||
WHERE @scholarship_8_exists > 0
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM jcbt_scholarship_compatibility
|
||||
WHERE type_id_1 = 8 AND type_id_2 = temp.type_id_2 AND deleted = 0
|
||||
);
|
||||
|
||||
-- =====================================================
|
||||
-- 5. 验证升级结果
|
||||
-- =====================================================
|
||||
|
||||
-- 5.1 显示升级后的状态
|
||||
SELECT '=== 升级完成!当前状态统计 ===' AS status;
|
||||
|
||||
SELECT
|
||||
'兼得关系类型字典' AS item,
|
||||
COUNT(*) AS count
|
||||
FROM sys_dict_data
|
||||
WHERE dict_type = 'jcbt_compatibility_type'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'关系细分类型字典' AS item,
|
||||
COUNT(*) AS count
|
||||
FROM sys_dict_data
|
||||
WHERE dict_type = 'jcbt_relation_type'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'兼得关系记录' AS item,
|
||||
COUNT(*) AS count
|
||||
FROM jcbt_scholarship_compatibility
|
||||
WHERE deleted = 0
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'CUSTOM类型奖学金' AS item,
|
||||
COUNT(*) AS count
|
||||
FROM jcbt_scholarship_type
|
||||
WHERE compatibility_type = 'CUSTOM' AND deleted = 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 结束
|
||||
-- =====================================================
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
SELECT '奖学金兼得关系增强功能增量升级完成!' AS result;
|
||||
@@ -1,107 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 奖学金管理模块 - 兼得关系增强数据安全升级脚本
|
||||
-- 版本: v1.1-安全版
|
||||
-- 创建时间: 2025-01-27
|
||||
-- 说明: 避免MySQL子查询限制的安全版本
|
||||
-- =====================================================
|
||||
|
||||
-- 设置字符集
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. 新增关系类型字典 (如果不存在)
|
||||
-- =====================================================
|
||||
|
||||
-- 1.1 新增关系类型字典主类型
|
||||
INSERT IGNORE INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000000015, '兼得关系细分类型', 'jcbt_relation_type', 1, NOW(), '奖学金兼得关系的具体类型');
|
||||
|
||||
-- 1.2 新增关系类型字典数据
|
||||
INSERT IGNORE INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000015001, 1, '兼容', 'COMPATIBLE', 'jcbt_relation_type', '', 'success', 'N', 1, NOW(), '可以同时获得'),
|
||||
(2000000000000015002, 2, '互斥', 'EXCLUSIVE', 'jcbt_relation_type', '', 'danger', 'N', 1, NOW(), '不能同时获得'),
|
||||
(2000000000000015003, 3, '优先级', 'PRIORITY', 'jcbt_relation_type', '', 'warning', 'N', 1, NOW(), '有优先级关系');
|
||||
|
||||
-- =====================================================
|
||||
-- 2. 更新现有奖学金类型的兼得类型为CUSTOM
|
||||
-- =====================================================
|
||||
|
||||
-- 更新现有已设置兼得关系的奖学金类型
|
||||
UPDATE `jcbt_scholarship_type`
|
||||
SET `compatibility_type` = 'CUSTOM',
|
||||
`update_time` = NOW(),
|
||||
`update_by` = 1
|
||||
WHERE `id` IN (1, 2, 3, 4, 5, 6, 7)
|
||||
AND `deleted` = 0
|
||||
AND `compatibility_type` != 'CUSTOM';
|
||||
|
||||
-- =====================================================
|
||||
-- 3. 新增权限配置 (如果不存在)
|
||||
-- =====================================================
|
||||
|
||||
-- 3.1 奖学金类型管理权限细化
|
||||
INSERT IGNORE INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(9000000000000001101, '奖学金类型查询', 9000000000000001001, 1, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:query', '#', 1, NOW(), ''),
|
||||
(9000000000000001102, '奖学金类型新增', 9000000000000001001, 2, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:add', '#', 1, NOW(), ''),
|
||||
(9000000000000001103, '奖学金类型修改', 9000000000000001001, 3, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:edit', '#', 1, NOW(), ''),
|
||||
(9000000000000001104, '奖学金类型删除', 9000000000000001001, 4, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:remove', '#', 1, NOW(), ''),
|
||||
(9000000000000001105, '奖学金类型导出', 9000000000000001001, 5, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:export', '#', 1, NOW(), ''),
|
||||
(9000000000000001106, '兼得关系配置', 9000000000000001001, 6, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:compatibility', '#', 1, NOW(), '兼得关系配置权限');
|
||||
|
||||
-- =====================================================
|
||||
-- 4. 示例数据:带自定义兼得关系的新奖学金类型 (如果不存在)
|
||||
-- =====================================================
|
||||
|
||||
-- 4.1 新增一个示例专项奖学金 (如果不存在)
|
||||
INSERT IGNORE INTO `jcbt_scholarship_type` (`id`, `type_code`, `type_name`, `type_category`, `level_type`, `award_amount`, `description`, `application_guide`, `compatibility_type`, `status`, `sort_order`, `is_system`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(8, 'ZX_EXCELLENT', '卓越学子奖学金', 'SPECIAL', 'SPECIAL', 8000.00, '表彰在学业、创新、社会工作等方面全面发展的优秀学生', '需同时满足学业、创新、社会工作等多项要求', 'CUSTOM', 1, 1, 0, 1, 1, NOW());
|
||||
|
||||
-- 4.2 配置卓越学子奖学金的兼得关系(与所有其他奖学金互斥)
|
||||
INSERT IGNORE INTO `jcbt_scholarship_compatibility` (`id`, `type_id_1`, `type_id_2`, `relation_type`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(15, 8, 1, 'EXCLUSIVE', 0, '卓越学子奖学金与一等学业奖学金互斥', 1, 1, NOW()),
|
||||
(16, 8, 2, 'EXCLUSIVE', 0, '卓越学子奖学金与二等学业奖学金互斥', 1, 1, NOW()),
|
||||
(17, 8, 3, 'EXCLUSIVE', 0, '卓越学子奖学金与三等学业奖学金互斥', 1, 1, NOW()),
|
||||
(18, 8, 4, 'EXCLUSIVE', 0, '卓越学子奖学金与创新特等奖学金互斥', 1, 1, NOW()),
|
||||
(19, 8, 5, 'EXCLUSIVE', 0, '卓越学子奖学金与创新一等奖学金互斥', 1, 1, NOW()),
|
||||
(20, 8, 6, 'EXCLUSIVE', 0, '卓越学子奖学金与社会工作一等奖学金互斥', 1, 1, NOW()),
|
||||
(21, 8, 7, 'EXCLUSIVE', 0, '卓越学子奖学金与社会工作二等奖学金互斥', 1, 1, NOW());
|
||||
|
||||
-- =====================================================
|
||||
-- 5. 验证升级结果
|
||||
-- =====================================================
|
||||
|
||||
-- 5.1 显示升级后的状态
|
||||
SELECT '=== 升级完成!当前状态统计 ===' AS status;
|
||||
|
||||
SELECT
|
||||
'兼得关系类型字典' AS item,
|
||||
COUNT(*) AS count
|
||||
FROM sys_dict_data
|
||||
WHERE dict_type = 'jcbt_compatibility_type';
|
||||
|
||||
SELECT
|
||||
'关系细分类型字典' AS item,
|
||||
COUNT(*) AS count
|
||||
FROM sys_dict_data
|
||||
WHERE dict_type = 'jcbt_relation_type';
|
||||
|
||||
SELECT
|
||||
'兼得关系记录' AS item,
|
||||
COUNT(*) AS count
|
||||
FROM jcbt_scholarship_compatibility
|
||||
WHERE deleted = 0;
|
||||
|
||||
SELECT
|
||||
'CUSTOM类型奖学金' AS item,
|
||||
COUNT(*) AS count
|
||||
FROM jcbt_scholarship_type
|
||||
WHERE compatibility_type = 'CUSTOM' AND deleted = 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 结束
|
||||
-- =====================================================
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
SELECT '奖学金兼得关系增强功能升级完成!' AS result;
|
||||
@@ -1,134 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 奖学金管理模块 - 兼得关系增强数据升级脚本
|
||||
-- 版本: v1.1
|
||||
-- 创建时间: 2025-01-27
|
||||
-- 说明: 增强兼得关系配置功能,新增自定义配置选项
|
||||
-- =====================================================
|
||||
|
||||
-- 设置字符集
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. 新增兼得关系类型字典数据
|
||||
-- =====================================================
|
||||
|
||||
-- 1.1 在现有兼得关系类型基础上新增CUSTOM选项
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000005004, 4, '自定义配置', 'CUSTOM', 'jcbt_compatibility_type', '', 'primary', 'N', 1, NOW(), '可自定义具体的兼得关系');
|
||||
|
||||
-- 1.2 新增关系类型字典 (用于关系表)
|
||||
INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000000010, '兼得关系细分类型', 'jcbt_relation_type', 1, NOW(), '奖学金兼得关系的具体类型');
|
||||
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000010001, 1, '兼容', 'COMPATIBLE', 'jcbt_relation_type', '', 'success', 'N', 1, NOW(), '可以同时获得'),
|
||||
(2000000000000010002, 2, '互斥', 'EXCLUSIVE', 'jcbt_relation_type', '', 'danger', 'N', 1, NOW(), '不能同时获得'),
|
||||
(2000000000000010003, 3, '优先级', 'PRIORITY', 'jcbt_relation_type', '', 'warning', 'N', 1, NOW(), '有优先级关系');
|
||||
|
||||
-- =====================================================
|
||||
-- 2. 创建兼得关系表 (如果不存在)
|
||||
-- =====================================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `jcbt_scholarship_compatibility` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`type_id_1` BIGINT(20) NOT NULL COMMENT '奖学金类型1',
|
||||
`type_id_2` BIGINT(20) NOT NULL COMMENT '奖学金类型2',
|
||||
`relation_type` VARCHAR(20) NOT NULL COMMENT '关系类型:COMPATIBLE-兼容,EXCLUSIVE-互斥,PRIORITY-优先级关系',
|
||||
`priority_level` INT DEFAULT 0 COMMENT '优先级(relation_type为PRIORITY时有效)',
|
||||
`description` VARCHAR(500) DEFAULT NULL COMMENT '关系描述',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_types_tenant` (`type_id_1`, `type_id_2`, `tenant_id`, `deleted`),
|
||||
INDEX `idx_type1_relation` (`type_id_1`, `relation_type`),
|
||||
INDEX `idx_type2_relation` (`type_id_2`, `relation_type`),
|
||||
INDEX `idx_tenant` (`tenant_id`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金兼得关系表';
|
||||
|
||||
-- =====================================================
|
||||
-- 3. 更新现有奖学金类型的兼得类型为CUSTOM
|
||||
-- =====================================================
|
||||
|
||||
-- 3.1 更新现有已设置兼得关系的奖学金类型
|
||||
UPDATE `jcbt_scholarship_type`
|
||||
SET `compatibility_type` = 'CUSTOM',
|
||||
`update_time` = NOW(),
|
||||
`update_by` = 1
|
||||
WHERE `id` IN (1, 2, 3, 4, 5, 6, 7)
|
||||
AND `deleted` = 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 4. 迁移现有兼得关系数据到关系表 (如果表中没有数据)
|
||||
-- =====================================================
|
||||
|
||||
-- 4.1 检查关系表是否为空,如果为空则插入基础关系数据
|
||||
INSERT INTO `jcbt_scholarship_compatibility` (`id`, `type_id_1`, `type_id_2`, `relation_type`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`)
|
||||
SELECT * FROM (
|
||||
SELECT 1 as id, 1 as type_id_1, 2 as type_id_2, 'EXCLUSIVE' as relation_type, 0 as priority_level, '一等与二等学业奖学金互斥' as description, 1 as tenant_id, 1 as create_by, NOW() as create_time
|
||||
UNION ALL
|
||||
SELECT 2, 1, 3, 'EXCLUSIVE', 0, '一等与三等学业奖学金互斥', 1, 1, NOW()
|
||||
UNION ALL
|
||||
SELECT 3, 2, 3, 'EXCLUSIVE', 0, '二等与三等学业奖学金互斥', 1, 1, NOW()
|
||||
UNION ALL
|
||||
SELECT 4, 1, 4, 'COMPATIBLE', 0, '学业奖学金与创新奖学金可兼得', 1, 1, NOW()
|
||||
UNION ALL
|
||||
SELECT 5, 1, 6, 'COMPATIBLE', 0, '学业奖学金与社会工作奖学金可兼得', 1, 1, NOW()
|
||||
UNION ALL
|
||||
SELECT 6, 4, 6, 'COMPATIBLE', 0, '创新奖学金与社会工作奖学金可兼得', 1, 1, NOW()
|
||||
UNION ALL
|
||||
SELECT 7, 4, 5, 'PRIORITY', 1, '创新特等奖学金优先于一等奖学金', 1, 1, NOW()
|
||||
) AS temp_data
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `jcbt_scholarship_compatibility` WHERE `deleted` = 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 5. 新增权限配置
|
||||
-- =====================================================
|
||||
|
||||
-- 5.1 奖学金类型管理权限细化
|
||||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) VALUES
|
||||
-- 奖学金类型管理按钮权限
|
||||
(9000000000000001101, '奖学金类型查询', 9000000000000001001, 1, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:query', '#', 1, NOW(), ''),
|
||||
(9000000000000001102, '奖学金类型新增', 9000000000000001001, 2, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:add', '#', 1, NOW(), ''),
|
||||
(9000000000000001103, '奖学金类型修改', 9000000000000001001, 3, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:edit', '#', 1, NOW(), ''),
|
||||
(9000000000000001104, '奖学金类型删除', 9000000000000001001, 4, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:remove', '#', 1, NOW(), ''),
|
||||
(9000000000000001105, '奖学金类型导出', 9000000000000001001, 5, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:export', '#', 1, NOW(), ''),
|
||||
(9000000000000001106, '兼得关系配置', 9000000000000001001, 6, '', '', '', 1, 0, 'F', '0', '0', 'jcbt:scholarshipType:compatibility', '#', 1, NOW(), '兼得关系配置权限');
|
||||
|
||||
-- =====================================================
|
||||
-- 6. 示例数据:带自定义兼得关系的新奖学金类型
|
||||
-- =====================================================
|
||||
|
||||
-- 6.1 新增一个示例专项奖学金
|
||||
INSERT INTO `jcbt_scholarship_type` (`id`, `type_code`, `type_name`, `type_category`, `level_type`, `award_amount`, `description`, `application_guide`, `compatibility_type`, `status`, `sort_order`, `is_system`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(8, 'ZX_EXCELLENT', '卓越学子奖学金', 'SPECIAL', 'SPECIAL', 8000.00, '表彰在学业、创新、社会工作等方面全面发展的优秀学生', '需同时满足学业、创新、社会工作等多项要求', 'CUSTOM', 1, 1, 0, 1, 1, NOW());
|
||||
|
||||
-- 6.2 配置卓越学子奖学金的兼得关系(与所有其他奖学金互斥)
|
||||
INSERT INTO `jcbt_scholarship_compatibility` (`id`, `type_id_1`, `type_id_2`, `relation_type`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(8, 8, 1, 'EXCLUSIVE', 0, '卓越学子奖学金与一等学业奖学金互斥', 1, 1, NOW()),
|
||||
(9, 8, 2, 'EXCLUSIVE', 0, '卓越学子奖学金与二等学业奖学金互斥', 1, 1, NOW()),
|
||||
(10, 8, 3, 'EXCLUSIVE', 0, '卓越学子奖学金与三等学业奖学金互斥', 1, 1, NOW()),
|
||||
(11, 8, 4, 'EXCLUSIVE', 0, '卓越学子奖学金与创新特等奖学金互斥', 1, 1, NOW()),
|
||||
(12, 8, 5, 'EXCLUSIVE', 0, '卓越学子奖学金与创新一等奖学金互斥', 1, 1, NOW()),
|
||||
(13, 8, 6, 'EXCLUSIVE', 0, '卓越学子奖学金与社会工作一等奖学金互斥', 1, 1, NOW()),
|
||||
(14, 8, 7, 'EXCLUSIVE', 0, '卓越学子奖学金与社会工作二等奖学金互斥', 1, 1, NOW());
|
||||
|
||||
-- =====================================================
|
||||
-- 7. 操作日志记录
|
||||
-- =====================================================
|
||||
|
||||
INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES
|
||||
(9000000000000002001, '奖学金兼得关系增强', 1, '数据升级', 'POST', 1, 'admin', '系统部门', '/jcbt/compatibility/upgrade', '127.0.0.1', '内网IP', '升级兼得关系配置功能', '{"code":200,"msg":"升级成功"}', 0, NULL, NOW(), 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 结束
|
||||
-- =====================================================
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- 兼得关系增强数据升级完成
|
||||
SELECT '奖学金兼得关系增强功能升级完成!新增CUSTOM自定义配置选项' AS result;
|
||||
@@ -1,212 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 奖学金管理模块 - 基础数据初始化脚本
|
||||
-- 版本: v1.0
|
||||
-- 创建时间: 2025-01-27
|
||||
-- 说明: 包含字典数据、示例奖学金类型和基础规则配置
|
||||
-- =====================================================
|
||||
|
||||
-- 设置字符集
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. 系统字典数据
|
||||
-- =====================================================
|
||||
|
||||
-- 1.1 奖学金类别字典
|
||||
INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000000001, '奖学金类别', 'jcbt_scholarship_category', 1, NOW(), '奖学金类别分类'),
|
||||
(2000000000000000002, '奖学金等级', 'jcbt_scholarship_level', 1, NOW(), '奖学金等级分类'),
|
||||
(2000000000000000003, '申请状态', 'jcbt_application_status', 1, NOW(), '奖学金申请状态'),
|
||||
(2000000000000000004, '批次状态', 'jcbt_batch_status', 1, NOW(), '评定批次状态'),
|
||||
(2000000000000000005, '兼得关系类型', 'jcbt_compatibility_type', 1, NOW(), '奖学金兼得关系类型'),
|
||||
(2000000000000000006, '规则类型', 'jcbt_rule_type', 1, NOW(), '评定规则类型'),
|
||||
(2000000000000000007, '评定方法', 'jcbt_evaluation_method', 1, NOW(), '评定方法类型'),
|
||||
(2000000000000000008, '审核结果', 'jcbt_review_result', 1, NOW(), '审核结果类型'),
|
||||
(2000000000000000009, '附件类型', 'jcbt_attachment_type', 1, NOW(), '申请材料附件类型');
|
||||
|
||||
-- 1.2 奖学金类别数据
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000001001, 1, '学业奖学金', 'ACADEMIC', 'jcbt_scholarship_category', '', 'primary', 'N', 1, NOW(), '基于学业成绩的奖学金'),
|
||||
(2000000000000001002, 2, '创新奖学金', 'INNOVATION', 'jcbt_scholarship_category', '', 'success', 'N', 1, NOW(), '基于创新能力的奖学金'),
|
||||
(2000000000000001003, 3, '社会工作奖学金', 'SOCIAL', 'jcbt_scholarship_category', '', 'info', 'N', 1, NOW(), '基于社会工作的奖学金'),
|
||||
(2000000000000001004, 4, '专项奖学金', 'SPECIAL', 'jcbt_scholarship_category', '', 'warning', 'N', 1, NOW(), '特定条件的专项奖学金');
|
||||
|
||||
-- 1.3 奖学金等级数据
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000002001, 1, '特等奖学金', 'SPECIAL', 'jcbt_scholarship_level', '', 'danger', 'N', 1, NOW(), '最高等级奖学金'),
|
||||
(2000000000000002002, 2, '一等奖学金', 'FIRST', 'jcbt_scholarship_level', '', 'primary', 'N', 1, NOW(), '一等奖学金'),
|
||||
(2000000000000002003, 3, '二等奖学金', 'SECOND', 'jcbt_scholarship_level', '', 'success', 'N', 1, NOW(), '二等奖学金'),
|
||||
(2000000000000002004, 4, '三等奖学金', 'THIRD', 'jcbt_scholarship_level', '', 'info', 'N', 1, NOW(), '三等奖学金');
|
||||
|
||||
-- 1.4 申请状态数据
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000003001, 1, '待审核', 'PENDING', 'jcbt_application_status', '', 'warning', 'N', 1, NOW(), '申请待审核状态'),
|
||||
(2000000000000003002, 2, '已通过', 'APPROVED', 'jcbt_application_status', '', 'success', 'N', 1, NOW(), '申请已通过'),
|
||||
(2000000000000003003, 3, '已拒绝', 'REJECTED', 'jcbt_application_status', '', 'danger', 'N', 1, NOW(), '申请已拒绝'),
|
||||
(2000000000000003004, 4, '已撤回', 'WITHDRAWN', 'jcbt_application_status', '', 'info', 'N', 1, NOW(), '申请已撤回');
|
||||
|
||||
-- 1.5 批次状态数据
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000004001, 1, '草稿', 'DRAFT', 'jcbt_batch_status', '', 'info', 'N', 1, NOW(), '批次草稿状态'),
|
||||
(2000000000000004002, 2, '进行中', 'ACTIVE', 'jcbt_batch_status', '', 'primary', 'N', 1, NOW(), '批次进行中'),
|
||||
(2000000000000004003, 3, '已完成', 'COMPLETED', 'jcbt_batch_status', '', 'success', 'N', 1, NOW(), '批次已完成'),
|
||||
(2000000000000004004, 4, '已取消', 'CANCELLED', 'jcbt_batch_status', '', 'danger', 'N', 1, NOW(), '批次已取消');
|
||||
|
||||
-- 1.6 兼得关系类型数据
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000005001, 1, '兼容', 'COMPATIBLE', 'jcbt_compatibility_type', '', 'success', 'N', 1, NOW(), '可以同时获得'),
|
||||
(2000000000000005002, 2, '互斥', 'EXCLUSIVE', 'jcbt_compatibility_type', '', 'danger', 'N', 1, NOW(), '不能同时获得'),
|
||||
(2000000000000005003, 3, '优先级', 'PRIORITY', 'jcbt_compatibility_type', '', 'warning', 'N', 1, NOW(), '有优先级关系');
|
||||
|
||||
-- 1.7 规则类型数据
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000006001, 1, '自动评定', 'AUTO', 'jcbt_rule_type', '', 'primary', 'N', 1, NOW(), '系统自动评定'),
|
||||
(2000000000000006002, 2, '手动申请', 'MANUAL', 'jcbt_rule_type', '', 'info', 'N', 1, NOW(), '学生手动申请'),
|
||||
(2000000000000006003, 3, '混合模式', 'HYBRID', 'jcbt_rule_type', '', 'warning', 'N', 1, NOW(), '自动+手动混合');
|
||||
|
||||
-- 1.8 评定方法数据
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000007001, 1, '积分制', 'SCORE', 'jcbt_evaluation_method', '', 'primary', 'N', 1, NOW(), '按积分高低评定'),
|
||||
(2000000000000007002, 2, '排名制', 'RANKING', 'jcbt_evaluation_method', '', 'success', 'N', 1, NOW(), '按排名先后评定'),
|
||||
(2000000000000007003, 3, '阈值制', 'THRESHOLD', 'jcbt_evaluation_method', '', 'info', 'N', 1, NOW(), '达到阈值即可');
|
||||
|
||||
-- 1.9 审核结果数据
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000008001, 1, '通过', 'APPROVED', 'jcbt_review_result', '', 'success', 'N', 1, NOW(), '审核通过'),
|
||||
(2000000000000008002, 2, '拒绝', 'REJECTED', 'jcbt_review_result', '', 'danger', 'N', 1, NOW(), '审核拒绝'),
|
||||
(2000000000000008003, 3, '退回修改', 'RETURNED', 'jcbt_review_result', '', 'warning', 'N', 1, NOW(), '退回修改');
|
||||
|
||||
-- 1.10 附件类型数据
|
||||
INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(2000000000000009001, 1, '成绩单', 'TRANSCRIPT', 'jcbt_attachment_type', '', 'primary', 'N', 1, NOW(), '学业成绩单'),
|
||||
(2000000000000009002, 2, '证书', 'CERTIFICATE', 'jcbt_attachment_type', '', 'success', 'N', 1, NOW(), '获奖证书'),
|
||||
(2000000000000009003, 3, '证明材料', 'PROOF', 'jcbt_attachment_type', '', 'info', 'N', 1, NOW(), '相关证明材料'),
|
||||
(2000000000000009004, 4, '其他', 'OTHER', 'jcbt_attachment_type', '', 'default', 'N', 1, NOW(), '其他材料');
|
||||
|
||||
-- =====================================================
|
||||
-- 2. 基础奖学金类型数据
|
||||
-- =====================================================
|
||||
|
||||
-- 2.1 学业奖学金类型
|
||||
INSERT INTO `jcbt_scholarship_type` (`id`, `type_code`, `type_name`, `type_category`, `level_type`, `award_amount`, `description`, `application_guide`, `status`, `sort_order`, `is_system`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(1, 'XY_FIRST', '一等学业奖学金', 'ACADEMIC', 'FIRST', 5000.00, '面向综合成绩排名前5%的优秀学生', '需提交成绩单、综合素质评价等材料', 1, 1, 1, 1, 1, NOW()),
|
||||
(2, 'XY_SECOND', '二等学业奖学金', 'ACADEMIC', 'SECOND', 3000.00, '面向综合成绩排名前15%的优良学生', '需提交成绩单、综合素质评价等材料', 1, 2, 1, 1, 1, NOW()),
|
||||
(3, 'XY_THIRD', '三等学业奖学金', 'ACADEMIC', 'THIRD', 1500.00, '面向综合成绩排名前30%的合格学生', '需提交成绩单、综合素质评价等材料', 1, 3, 1, 1, 1, NOW());
|
||||
|
||||
-- 2.2 创新奖学金类型
|
||||
INSERT INTO `jcbt_scholarship_type` (`id`, `type_code`, `type_name`, `type_category`, `level_type`, `award_amount`, `description`, `application_guide`, `status`, `sort_order`, `is_system`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(4, 'CX_SPECIAL', '创新创业特等奖学金', 'INNOVATION', 'SPECIAL', 10000.00, '在创新创业方面有突出表现的学生', '需提交创新创业项目材料、获奖证书等', 1, 1, 1, 1, 1, NOW()),
|
||||
(5, 'CX_FIRST', '创新创业一等奖学金', 'INNOVATION', 'FIRST', 6000.00, '在创新创业方面表现优秀的学生', '需提交创新创业项目材料、获奖证书等', 1, 2, 1, 1, 1, NOW());
|
||||
|
||||
-- 2.3 社会工作奖学金类型
|
||||
INSERT INTO `jcbt_scholarship_type` (`id`, `type_code`, `type_name`, `type_category`, `level_type`, `award_amount`, `description`, `application_guide`, `status`, `sort_order`, `is_system`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(6, 'SH_FIRST', '社会工作一等奖学金', 'SOCIAL', 'FIRST', 4000.00, '在社会工作和志愿服务方面表现突出', '需提交社会工作证明、志愿服务记录等', 1, 1, 1, 1, 1, NOW()),
|
||||
(7, 'SH_SECOND', '社会工作二等奖学金', 'SOCIAL', 'SECOND', 2500.00, '在社会工作和志愿服务方面表现良好', '需提交社会工作证明、志愿服务记录等', 1, 2, 1, 1, 1, NOW());
|
||||
|
||||
-- =====================================================
|
||||
-- 3. 奖学金兼得关系配置
|
||||
-- =====================================================
|
||||
|
||||
-- 3.1 学业奖学金内部互斥关系
|
||||
INSERT INTO `jcbt_scholarship_compatibility` (`id`, `type_id_1`, `type_id_2`, `relation_type`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(1, 1, 2, 'EXCLUSIVE', 0, '一等与二等学业奖学金互斥', 1, 1, NOW()),
|
||||
(2, 1, 3, 'EXCLUSIVE', 0, '一等与三等学业奖学金互斥', 1, 1, NOW()),
|
||||
(3, 2, 3, 'EXCLUSIVE', 0, '二等与三等学业奖学金互斥', 1, 1, NOW());
|
||||
|
||||
-- 3.2 不同类别奖学金兼容关系
|
||||
INSERT INTO `jcbt_scholarship_compatibility` (`id`, `type_id_1`, `type_id_2`, `relation_type`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(4, 1, 4, 'COMPATIBLE', 0, '学业奖学金与创新奖学金可兼得', 1, 1, NOW()),
|
||||
(5, 1, 6, 'COMPATIBLE', 0, '学业奖学金与社会工作奖学金可兼得', 1, 1, NOW()),
|
||||
(6, 4, 6, 'COMPATIBLE', 0, '创新奖学金与社会工作奖学金可兼得', 1, 1, NOW());
|
||||
|
||||
-- 3.3 创新奖学金内部优先级关系
|
||||
INSERT INTO `jcbt_scholarship_compatibility` (`id`, `type_id_1`, `type_id_2`, `relation_type`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(7, 4, 5, 'PRIORITY', 1, '创新特等奖学金优先于一等奖学金', 1, 1, NOW());
|
||||
|
||||
-- =====================================================
|
||||
-- 4. 基础评定规则配置
|
||||
-- =====================================================
|
||||
|
||||
-- 4.1 一等学业奖学金评定规则
|
||||
INSERT INTO `jcbt_scholarship_rule` (`id`, `rule_code`, `rule_name`, `scholarship_type_id`, `rule_type`, `evaluation_method`, `min_score`, `is_active`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(1, 'XY_FIRST_RULE', '一等学业奖学金评定规则', 1, 'AUTO', 'SCORE', 90.00, 1, 1, '自动评定一等学业奖学金的标准规则', 1, 1, NOW());
|
||||
|
||||
-- 4.2 一等学业奖学金规则条件
|
||||
INSERT INTO `jcbt_scholarship_rule_condition` (`id`, `rule_id`, `condition_group`, `field_name`, `field_type`, `operator_type`, `condition_value`, `weight`, `is_required`, `error_message`, `sort_order`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(1, 1, 'MAIN_GROUP', 'gpa', 'NUMBER', 'GTE', '3.7', 0.50, 1, 'GPA需≥3.7', 1, 1, 1, NOW()),
|
||||
(2, 1, 'MAIN_GROUP', 'moral_score', 'NUMBER', 'GTE', '85', 0.30, 1, '德育分需≥85分', 2, 1, 1, NOW()),
|
||||
(3, 1, 'MAIN_GROUP', 'credit_completed', 'NUMBER', 'GTE', '30', 0.10, 1, '已修学分需≥30', 3, 1, 1, NOW()),
|
||||
(4, 1, 'MAIN_GROUP', 'disciplinary_action', 'BOOLEAN', 'EQ', 'false', 0.10, 1, '不能有违纪记录', 4, 1, 1, NOW());
|
||||
|
||||
-- 4.3 二等学业奖学金评定规则
|
||||
INSERT INTO `jcbt_scholarship_rule` (`id`, `rule_code`, `rule_name`, `scholarship_type_id`, `rule_type`, `evaluation_method`, `min_score`, `is_active`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(2, 'XY_SECOND_RULE', '二等学业奖学金评定规则', 2, 'AUTO', 'SCORE', 80.00, 1, 2, '自动评定二等学业奖学金的标准规则', 1, 1, NOW());
|
||||
|
||||
-- 4.4 二等学业奖学金规则条件
|
||||
INSERT INTO `jcbt_scholarship_rule_condition` (`id`, `rule_id`, `condition_group`, `field_name`, `field_type`, `operator_type`, `condition_value`, `weight`, `is_required`, `error_message`, `sort_order`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(5, 2, 'MAIN_GROUP', 'gpa', 'NUMBER', 'GTE', '3.3', 0.50, 1, 'GPA需≥3.3', 1, 1, 1, NOW()),
|
||||
(6, 2, 'MAIN_GROUP', 'moral_score', 'NUMBER', 'GTE', '80', 0.30, 1, '德育分需≥80分', 2, 1, 1, NOW()),
|
||||
(7, 2, 'MAIN_GROUP', 'credit_completed', 'NUMBER', 'GTE', '30', 0.10, 1, '已修学分需≥30', 3, 1, 1, NOW()),
|
||||
(8, 2, 'MAIN_GROUP', 'disciplinary_action', 'BOOLEAN', 'EQ', 'false', 0.10, 1, '不能有违纪记录', 4, 1, 1, NOW());
|
||||
|
||||
-- 4.5 创新奖学金评定规则
|
||||
INSERT INTO `jcbt_scholarship_rule` (`id`, `rule_code`, `rule_name`, `scholarship_type_id`, `rule_type`, `evaluation_method`, `min_score`, `is_active`, `priority_level`, `description`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(3, 'CX_SPECIAL_RULE', '创新创业特等奖学金评定规则', 4, 'MANUAL', 'THRESHOLD', 85.00, 1, 1, '创新创业特等奖学金手动申请评定规则', 1, 1, NOW());
|
||||
|
||||
-- 4.6 创新特等奖学金规则条件
|
||||
INSERT INTO `jcbt_scholarship_rule_condition` (`id`, `rule_id`, `condition_group`, `field_name`, `field_type`, `operator_type`, `condition_value`, `weight`, `is_required`, `error_message`, `sort_order`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(9, 3, 'ACADEMIC_GROUP', 'gpa', 'NUMBER', 'GTE', '3.0', 0.30, 1, 'GPA需≥3.0', 1, 1, 1, NOW()),
|
||||
(10, 3, 'INNOVATION_GROUP', 'innovation_projects', 'NUMBER', 'GTE', '1', 0.40, 1, '需有创新项目≥1项', 2, 1, 1, NOW()),
|
||||
(11, 3, 'INNOVATION_GROUP', 'competition_awards', 'NUMBER', 'GTE', '1', 0.30, 1, '需有竞赛获奖≥1项', 3, 1, 1, NOW());
|
||||
|
||||
-- =====================================================
|
||||
-- 5. 示例评定批次
|
||||
-- =====================================================
|
||||
|
||||
-- 5.1 创建2024-2025学年第一学期批次
|
||||
INSERT INTO `jcbt_scholarship_batch` (`id`, `batch_code`, `batch_name`, `academic_year`, `semester`, `batch_type`, `start_time`, `end_time`, `apply_start_time`, `apply_end_time`, `review_start_time`, `review_end_time`, `status`, `description`, `tenant_id`, `create_by`, `create_time`) VALUES
|
||||
(1, 'BATCH_2024_1', '2024-2025学年第一学期奖学金评定', '2024-2025', 1, 'REGULAR', '2024-09-01 00:00:00', '2024-12-31 23:59:59', '2024-10-01 00:00:00', '2024-10-31 23:59:59', '2024-11-01 00:00:00', '2024-11-30 23:59:59', 'ACTIVE', '2024-2025学年第一学期常规奖学金评定批次', 1, 1, NOW());
|
||||
|
||||
-- =====================================================
|
||||
-- 6. 菜单权限配置
|
||||
-- =====================================================
|
||||
|
||||
-- 6.1 奖学金管理主菜单
|
||||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) VALUES
|
||||
(9000000000000001000, '奖学金管理', 2000, 6, 'jcbt', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'money', 1, NOW(), '奖学金管理主菜单');
|
||||
|
||||
-- 6.2 奖学金管理子菜单
|
||||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) VALUES
|
||||
-- 奖项管理
|
||||
(9000000000000001001, '奖项管理', 9000000000000001000, 1, 'type', 'jcbt/type/index', NULL, 1, 0, 'C', '0', '0', 'jcbt:type:list', 'education', 1, NOW(), '奖学金类型管理'),
|
||||
-- 规则配置
|
||||
(9000000000000001002, '规则配置', 9000000000000001000, 2, 'rule', 'jcbt/rule/index', NULL, 1, 0, 'C', '0', '0', 'jcbt:rule:list', 'tool', 1, NOW(), '评定规则配置'),
|
||||
-- 批次管理
|
||||
(9000000000000001003, '批次管理', 9000000000000001000, 3, 'batch', 'jcbt/batch/index', NULL, 1, 0, 'C', '0', '0', 'jcbt:batch:list', 'date-range', 1, NOW(), '评定批次管理'),
|
||||
-- 名额分配
|
||||
(9000000000000001004, '名额分配', 9000000000000001000, 4, 'quota', 'jcbt/quota/index', NULL, 1, 0, 'C', '0', '0', 'jcbt:quota:list', 'number', 1, NOW(), '名额分配管理'),
|
||||
-- 申请管理
|
||||
(9000000000000001005, '申请管理', 9000000000000001000, 5, 'application', 'jcbt/application/index', NULL, 1, 0, 'C', '0', '0', 'jcbt:application:list', 'form', 1, NOW(), '申请记录管理'),
|
||||
-- 审核管理
|
||||
(9000000000000001006, '审核管理', 9000000000000001000, 6, 'review', 'jcbt/review/index', NULL, 1, 0, 'C', '0', '0', 'jcbt:review:list', 'check', 1, NOW(), '审核记录管理'),
|
||||
-- 获奖记录
|
||||
(9000000000000001007, '获奖记录', 9000000000000001000, 7, 'award', 'jcbt/award/index', NULL, 1, 0, 'C', '0', '0', 'jcbt:award:list', 'trophy', 1, NOW(), '获奖记录管理'),
|
||||
-- 统计报表
|
||||
(9000000000000001008, '统计报表', 9000000000000001000, 8, 'statistics', 'jcbt/statistics/index', NULL, 1, 0, 'C', '0', '0', 'jcbt:statistics:list', 'chart', 1, NOW(), '统计报表查看');
|
||||
|
||||
-- =====================================================
|
||||
-- 7. 操作日志
|
||||
-- =====================================================
|
||||
|
||||
INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES
|
||||
(9000000000000002000, '奖学金管理模块', 0, '数据初始化', 'POST', 1, 'admin', '系统部门', '/jcbt/init', '127.0.0.1', '内网IP', '初始化奖学金管理基础数据', '{"code":200,"msg":"初始化成功"}', 0, NULL, NOW(), 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 结束
|
||||
-- =====================================================
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- 基础数据初始化完成
|
||||
SELECT '奖学金管理模块基础数据初始化完成!' AS result;
|
||||
@@ -1,366 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 奖学金管理模块 - 数据库建表脚本
|
||||
-- 版本: v1.0
|
||||
-- 创建时间: 2025-01-27
|
||||
-- 说明: 遵循项目统一的数据库规范,支持多租户和逻辑删除
|
||||
-- =====================================================
|
||||
|
||||
-- 设置字符集
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. 奖学金类型管理表
|
||||
-- =====================================================
|
||||
|
||||
-- 1.1 奖学金类型表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_type`;
|
||||
CREATE TABLE `jcbt_scholarship_type` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`type_code` VARCHAR(50) NOT NULL COMMENT '奖学金类型编码',
|
||||
`type_name` VARCHAR(100) NOT NULL COMMENT '奖学金名称',
|
||||
`type_category` VARCHAR(20) NOT NULL COMMENT '奖学金类别:ACADEMIC-学业奖学金,INNOVATION-创新奖学金,SOCIAL-社会工作奖学金,SPECIAL-专项奖学金',
|
||||
`level_type` VARCHAR(20) DEFAULT NULL COMMENT '等级类型:FIRST-一等,SECOND-二等,THIRD-三等,SPECIAL-特等',
|
||||
`award_amount` DECIMAL(10,2) DEFAULT NULL COMMENT '奖励金额',
|
||||
`description` TEXT DEFAULT NULL COMMENT '奖学金描述',
|
||||
`application_guide` TEXT DEFAULT NULL COMMENT '申请指南',
|
||||
`status` TINYINT(1) DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
|
||||
`sort_order` INT DEFAULT 0 COMMENT '排序号',
|
||||
`is_system` TINYINT(1) DEFAULT 0 COMMENT '是否系统内置:0-否,1-是',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_type_code_tenant` (`type_code`, `tenant_id`, `deleted`),
|
||||
INDEX `idx_category_status` (`type_category`, `status`),
|
||||
INDEX `idx_tenant_status` (`tenant_id`, `status`, `deleted`),
|
||||
INDEX `idx_create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金类型表';
|
||||
|
||||
-- 1.2 奖学金兼得关系表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_compatibility`;
|
||||
CREATE TABLE `jcbt_scholarship_compatibility` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`type_id_1` BIGINT(20) NOT NULL COMMENT '奖学金类型1',
|
||||
`type_id_2` BIGINT(20) NOT NULL COMMENT '奖学金类型2',
|
||||
`relation_type` VARCHAR(20) NOT NULL COMMENT '关系类型:COMPATIBLE-兼容,EXCLUSIVE-互斥,PRIORITY-优先级关系',
|
||||
`priority_level` INT DEFAULT 0 COMMENT '优先级(relation_type为PRIORITY时有效)',
|
||||
`description` VARCHAR(500) DEFAULT NULL COMMENT '关系描述',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_types_tenant` (`type_id_1`, `type_id_2`, `tenant_id`, `deleted`),
|
||||
INDEX `idx_type1_relation` (`type_id_1`, `relation_type`),
|
||||
INDEX `idx_type2_relation` (`type_id_2`, `relation_type`),
|
||||
INDEX `idx_tenant` (`tenant_id`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金兼得关系表';
|
||||
|
||||
-- =====================================================
|
||||
-- 2. 灵活规则引擎表
|
||||
-- =====================================================
|
||||
|
||||
-- 2.1 评定规则主表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_rule`;
|
||||
CREATE TABLE `jcbt_scholarship_rule` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`rule_code` VARCHAR(50) NOT NULL COMMENT '规则编码',
|
||||
`rule_name` VARCHAR(100) NOT NULL COMMENT '规则名称',
|
||||
`scholarship_type_id` BIGINT(20) NOT NULL COMMENT '关联奖学金类型ID',
|
||||
`rule_type` VARCHAR(20) NOT NULL COMMENT '规则类型:AUTO-自动评定,MANUAL-手动申请,HYBRID-混合模式',
|
||||
`evaluation_method` VARCHAR(20) NOT NULL COMMENT '评定方法:SCORE-积分制,RANKING-排名制,THRESHOLD-阈值制',
|
||||
`min_score` DECIMAL(8,2) DEFAULT NULL COMMENT '最低分数要求',
|
||||
`is_active` TINYINT(1) DEFAULT 1 COMMENT '是否激活:0-否,1-是',
|
||||
`priority_level` INT DEFAULT 0 COMMENT '规则优先级',
|
||||
`description` TEXT DEFAULT NULL COMMENT '规则描述',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_rule_code_tenant` (`rule_code`, `tenant_id`, `deleted`),
|
||||
INDEX `idx_scholarship_type` (`scholarship_type_id`),
|
||||
INDEX `idx_rule_type_active` (`rule_type`, `is_active`),
|
||||
INDEX `idx_tenant_active` (`tenant_id`, `is_active`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金评定规则主表';
|
||||
|
||||
-- 2.2 规则条件表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_rule_condition`;
|
||||
CREATE TABLE `jcbt_scholarship_rule_condition` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`rule_id` BIGINT(20) NOT NULL COMMENT '规则ID',
|
||||
`condition_group` VARCHAR(50) NOT NULL COMMENT '条件组标识(同组内为AND关系,不同组为OR关系)',
|
||||
`field_name` VARCHAR(100) NOT NULL COMMENT '字段名称',
|
||||
`field_type` VARCHAR(20) NOT NULL COMMENT '字段类型:NUMBER-数字,STRING-字符串,DATE-日期,BOOLEAN-布尔',
|
||||
`operator_type` VARCHAR(20) NOT NULL COMMENT '操作符:EQ-等于,GT-大于,GTE-大于等于,LT-小于,LTE-小于等于,IN-包含,NOT_IN-不包含,LIKE-模糊匹配,BETWEEN-区间',
|
||||
`condition_value` TEXT NOT NULL COMMENT '条件值(JSON格式存储复杂数据)',
|
||||
`weight` DECIMAL(5,2) DEFAULT 1.00 COMMENT '权重',
|
||||
`is_required` TINYINT(1) DEFAULT 1 COMMENT '是否必要条件:0-否,1-是',
|
||||
`error_message` VARCHAR(200) DEFAULT NULL COMMENT '不满足条件时的提示信息',
|
||||
`sort_order` INT DEFAULT 0 COMMENT '排序号',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_rule_group` (`rule_id`, `condition_group`),
|
||||
INDEX `idx_field_operator` (`field_name`, `operator_type`),
|
||||
INDEX `idx_tenant` (`tenant_id`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='规则条件表';
|
||||
|
||||
-- 2.3 规则动作表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_rule_action`;
|
||||
CREATE TABLE `jcbt_scholarship_rule_action` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`rule_id` BIGINT(20) NOT NULL COMMENT '规则ID',
|
||||
`action_type` VARCHAR(20) NOT NULL COMMENT '动作类型:CALCULATE-计算分数,NOTIFY-通知,LOG-记录日志,EXECUTE-执行方法',
|
||||
`action_config` TEXT NOT NULL COMMENT '动作配置(JSON格式)',
|
||||
`execution_order` INT DEFAULT 0 COMMENT '执行顺序',
|
||||
`is_enabled` TINYINT(1) DEFAULT 1 COMMENT '是否启用:0-否,1-是',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_rule_order` (`rule_id`, `execution_order`),
|
||||
INDEX `idx_action_type` (`action_type`),
|
||||
INDEX `idx_tenant` (`tenant_id`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='规则动作表';
|
||||
|
||||
-- =====================================================
|
||||
-- 3. 批次与名额管理表
|
||||
-- =====================================================
|
||||
|
||||
-- 3.1 评定批次表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_batch`;
|
||||
CREATE TABLE `jcbt_scholarship_batch` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`batch_code` VARCHAR(50) NOT NULL COMMENT '批次编码',
|
||||
`batch_name` VARCHAR(100) NOT NULL COMMENT '批次名称',
|
||||
`academic_year` VARCHAR(20) NOT NULL COMMENT '学年',
|
||||
`semester` TINYINT(1) NOT NULL COMMENT '学期:1-第一学期,2-第二学期,3-全年',
|
||||
`batch_type` VARCHAR(20) NOT NULL COMMENT '批次类型:REGULAR-常规批次,SPECIAL-专项批次,SUPPLEMENTARY-补充批次',
|
||||
`start_time` DATETIME NOT NULL COMMENT '开始时间',
|
||||
`end_time` DATETIME NOT NULL COMMENT '结束时间',
|
||||
`apply_start_time` DATETIME DEFAULT NULL COMMENT '申请开始时间',
|
||||
`apply_end_time` DATETIME DEFAULT NULL COMMENT '申请结束时间',
|
||||
`review_start_time` DATETIME DEFAULT NULL COMMENT '审核开始时间',
|
||||
`review_end_time` DATETIME DEFAULT NULL COMMENT '审核结束时间',
|
||||
`status` VARCHAR(20) DEFAULT 'DRAFT' COMMENT '状态:DRAFT-草稿,ACTIVE-进行中,COMPLETED-已完成,CANCELLED-已取消',
|
||||
`description` TEXT DEFAULT NULL COMMENT '批次描述',
|
||||
`notice_content` TEXT DEFAULT NULL COMMENT '通知内容',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_batch_code_tenant` (`batch_code`, `tenant_id`, `deleted`),
|
||||
INDEX `idx_academic_year` (`academic_year`, `semester`),
|
||||
INDEX `idx_status_time` (`status`, `start_time`, `end_time`),
|
||||
INDEX `idx_tenant_status` (`tenant_id`, `status`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评定批次表';
|
||||
|
||||
-- 3.2 名额分配表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_quota`;
|
||||
CREATE TABLE `jcbt_scholarship_quota` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`batch_id` BIGINT(20) NOT NULL COMMENT '批次ID',
|
||||
`scholarship_type_id` BIGINT(20) NOT NULL COMMENT '奖学金类型ID',
|
||||
`allocation_level` VARCHAR(20) NOT NULL COMMENT '分配级别:UNIVERSITY-全校,COLLEGE-学院,MAJOR-专业,CLASS-班级',
|
||||
`target_dept_id` BIGINT(20) DEFAULT NULL COMMENT '目标部门ID(学院/专业/班级)',
|
||||
`total_quota` INT NOT NULL DEFAULT 0 COMMENT '总名额',
|
||||
`used_quota` INT NOT NULL DEFAULT 0 COMMENT '已使用名额',
|
||||
`reserved_quota` INT NOT NULL DEFAULT 0 COMMENT '预留名额',
|
||||
`allocation_rule` TEXT DEFAULT NULL COMMENT '分配规则(JSON格式)',
|
||||
`allocation_basis` VARCHAR(500) DEFAULT NULL COMMENT '分配依据说明',
|
||||
`is_adjustable` TINYINT(1) DEFAULT 1 COMMENT '是否可调整:0-否,1-是',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_batch_type_dept` (`batch_id`, `scholarship_type_id`, `target_dept_id`, `deleted`),
|
||||
INDEX `idx_batch_level` (`batch_id`, `allocation_level`),
|
||||
INDEX `idx_dept_quota` (`target_dept_id`, `total_quota`),
|
||||
INDEX `idx_tenant` (`tenant_id`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='名额分配表';
|
||||
|
||||
-- =====================================================
|
||||
-- 4. 申请与审核管理表
|
||||
-- =====================================================
|
||||
|
||||
-- 4.1 申请记录表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_application`;
|
||||
CREATE TABLE `jcbt_scholarship_application` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`application_no` VARCHAR(50) NOT NULL COMMENT '申请编号',
|
||||
`batch_id` BIGINT(20) NOT NULL COMMENT '批次ID',
|
||||
`scholarship_type_id` BIGINT(20) NOT NULL COMMENT '奖学金类型ID',
|
||||
`student_id` BIGINT(20) NOT NULL COMMENT '学生ID',
|
||||
`student_no` VARCHAR(50) NOT NULL COMMENT '学号',
|
||||
`student_name` VARCHAR(100) NOT NULL COMMENT '学生姓名',
|
||||
`dept_id` BIGINT(20) NOT NULL COMMENT '所属部门ID',
|
||||
`major_id` BIGINT(20) DEFAULT NULL COMMENT '专业ID',
|
||||
`class_id` BIGINT(20) DEFAULT NULL COMMENT '班级ID',
|
||||
`application_type` VARCHAR(20) NOT NULL COMMENT '申请类型:STUDENT-学生申请,AUTO-自动评定,DIRECT-直接指定',
|
||||
`current_status` VARCHAR(20) DEFAULT 'PENDING' COMMENT '当前状态:PENDING-待审核,APPROVED-已通过,REJECTED-已拒绝,WITHDRAWN-已撤回',
|
||||
`apply_reason` TEXT DEFAULT NULL COMMENT '申请理由',
|
||||
`self_evaluation` TEXT DEFAULT NULL COMMENT '自我评价',
|
||||
`calculated_score` DECIMAL(8,2) DEFAULT NULL COMMENT '系统计算分数',
|
||||
`final_score` DECIMAL(8,2) DEFAULT NULL COMMENT '最终评定分数',
|
||||
`ranking_in_dept` INT DEFAULT NULL COMMENT '在院系的排名',
|
||||
`ranking_in_major` INT DEFAULT NULL COMMENT '在专业的排名',
|
||||
`submit_time` DATETIME DEFAULT NULL COMMENT '提交时间',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_application_no` (`application_no`),
|
||||
INDEX `idx_batch_type_student` (`batch_id`, `scholarship_type_id`, `student_id`),
|
||||
INDEX `idx_student_status` (`student_id`, `current_status`),
|
||||
INDEX `idx_dept_batch` (`dept_id`, `batch_id`),
|
||||
INDEX `idx_status_score` (`current_status`, `final_score`),
|
||||
INDEX `idx_tenant` (`tenant_id`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金申请记录表';
|
||||
|
||||
-- 4.2 申请材料表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_attachment`;
|
||||
CREATE TABLE `jcbt_scholarship_attachment` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`application_id` BIGINT(20) NOT NULL COMMENT '申请ID',
|
||||
`attachment_type` VARCHAR(20) NOT NULL COMMENT '附件类型:TRANSCRIPT-成绩单,CERTIFICATE-证书,PROOF-证明材料,OTHER-其他',
|
||||
`file_name` VARCHAR(200) NOT NULL COMMENT '文件名称',
|
||||
`file_path` VARCHAR(500) NOT NULL COMMENT '文件路径',
|
||||
`file_size` BIGINT DEFAULT NULL COMMENT '文件大小(字节)',
|
||||
`file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型',
|
||||
`upload_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
|
||||
`is_required` TINYINT(1) DEFAULT 0 COMMENT '是否必需:0-否,1-是',
|
||||
`description` VARCHAR(500) DEFAULT NULL COMMENT '附件描述',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_application_type` (`application_id`, `attachment_type`),
|
||||
INDEX `idx_upload_time` (`upload_time`),
|
||||
INDEX `idx_tenant` (`tenant_id`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='申请材料附件表';
|
||||
|
||||
-- 4.3 审核记录表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_review`;
|
||||
CREATE TABLE `jcbt_scholarship_review` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`application_id` BIGINT(20) NOT NULL COMMENT '申请ID',
|
||||
`review_level` VARCHAR(20) NOT NULL COMMENT '审核级别:DEPT-院系审核,UNIVERSITY-校级审核',
|
||||
`reviewer_id` BIGINT(20) NOT NULL COMMENT '审核人ID',
|
||||
`reviewer_name` VARCHAR(100) NOT NULL COMMENT '审核人姓名',
|
||||
`review_result` VARCHAR(20) NOT NULL COMMENT '审核结果:APPROVED-通过,REJECTED-拒绝,RETURNED-退回修改',
|
||||
`review_score` DECIMAL(8,2) DEFAULT NULL COMMENT '审核评分',
|
||||
`review_opinion` TEXT DEFAULT NULL COMMENT '审核意见',
|
||||
`review_time` DATETIME NOT NULL COMMENT '审核时间',
|
||||
`next_reviewer_id` BIGINT(20) DEFAULT NULL COMMENT '下一审核人ID',
|
||||
`is_final_review` TINYINT(1) DEFAULT 0 COMMENT '是否最终审核:0-否,1-是',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_application_level` (`application_id`, `review_level`),
|
||||
INDEX `idx_reviewer_time` (`reviewer_id`, `review_time`),
|
||||
INDEX `idx_result_time` (`review_result`, `review_time`),
|
||||
INDEX `idx_tenant` (`tenant_id`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='审核记录表';
|
||||
|
||||
-- =====================================================
|
||||
-- 5. 获奖记录与统计表
|
||||
-- =====================================================
|
||||
|
||||
-- 5.1 获奖记录表
|
||||
DROP TABLE IF EXISTS `jcbt_scholarship_award`;
|
||||
CREATE TABLE `jcbt_scholarship_award` (
|
||||
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
|
||||
`award_no` VARCHAR(50) NOT NULL COMMENT '获奖编号',
|
||||
`application_id` BIGINT(20) NOT NULL COMMENT '申请ID',
|
||||
`batch_id` BIGINT(20) NOT NULL COMMENT '批次ID',
|
||||
`scholarship_type_id` BIGINT(20) NOT NULL COMMENT '奖学金类型ID',
|
||||
`student_id` BIGINT(20) NOT NULL COMMENT '学生ID',
|
||||
`student_no` VARCHAR(50) NOT NULL COMMENT '学号',
|
||||
`student_name` VARCHAR(100) NOT NULL COMMENT '学生姓名',
|
||||
`dept_id` BIGINT(20) NOT NULL COMMENT '所属部门ID',
|
||||
`award_amount` DECIMAL(10,2) NOT NULL COMMENT '奖励金额',
|
||||
`award_level` VARCHAR(20) DEFAULT NULL COMMENT '获奖等级',
|
||||
`final_score` DECIMAL(8,2) DEFAULT NULL COMMENT '最终得分',
|
||||
`ranking_in_dept` INT DEFAULT NULL COMMENT '院系排名',
|
||||
`award_date` DATE NOT NULL COMMENT '获奖日期',
|
||||
`certificate_no` VARCHAR(100) DEFAULT NULL COMMENT '证书编号',
|
||||
`is_published` TINYINT(1) DEFAULT 0 COMMENT '是否公示:0-否,1-是',
|
||||
`publish_date` DATE DEFAULT NULL COMMENT '公示日期',
|
||||
`is_paid` TINYINT(1) DEFAULT 0 COMMENT '是否已发放:0-否,1-是',
|
||||
`pay_date` DATE DEFAULT NULL COMMENT '发放日期',
|
||||
`remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
||||
`tenant_id` BIGINT(20) NOT NULL COMMENT '租户ID',
|
||||
`create_by` BIGINT(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记:0-正常,1-删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_award_no` (`award_no`),
|
||||
INDEX `idx_batch_type` (`batch_id`, `scholarship_type_id`),
|
||||
INDEX `idx_student_award` (`student_id`, `award_date`),
|
||||
INDEX `idx_dept_batch` (`dept_id`, `batch_id`),
|
||||
INDEX `idx_publish_pay` (`is_published`, `is_paid`),
|
||||
INDEX `idx_tenant` (`tenant_id`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金获奖记录表';
|
||||
|
||||
-- =====================================================
|
||||
-- 6. 性能优化索引
|
||||
-- =====================================================
|
||||
|
||||
-- 申请查询优化索引
|
||||
CREATE INDEX `idx_app_batch_status_score` ON `jcbt_scholarship_application`
|
||||
(`batch_id`, `current_status`, `final_score` DESC);
|
||||
|
||||
-- 获奖记录查询优化索引
|
||||
CREATE INDEX `idx_award_student_date` ON `jcbt_scholarship_award`
|
||||
(`student_id`, `award_date` DESC);
|
||||
|
||||
-- 规则条件查询优化索引
|
||||
CREATE INDEX `idx_rule_condition_field` ON `jcbt_scholarship_rule_condition`
|
||||
(`rule_id`, `field_name`, `operator_type`);
|
||||
|
||||
-- 名额统计查询优化索引
|
||||
CREATE INDEX `idx_quota_batch_dept_usage` ON `jcbt_scholarship_quota`
|
||||
(`batch_id`, `target_dept_id`, `used_quota`, `total_quota`);
|
||||
|
||||
-- =====================================================
|
||||
-- 结束
|
||||
-- =====================================================
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- 建表脚本执行完成
|
||||
SELECT '奖学金管理模块建表脚本执行完成!' AS result;
|
||||
Reference in new issue
Block a user