-- ===================================================== -- 奖学金管理模块 - 基础数据初始化脚本 -- 版本: 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;