| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- -- ============================================================================
- -- 贫困生认定申请管理 - 数据库表创建脚本
- -- 创建时间: 2024-12-19
- -- 描述: 创建贫困生认定申请相关的数据库表、菜单权限和测试数据
- -- ============================================================================
- -- ============================================================================
- -- 1. 创建贫困生认定申请表
- -- ============================================================================
- CREATE TABLE IF NOT EXISTS `jcbt_poverty_application` (
- `id` bigint(20) NOT NULL COMMENT '主键ID',
- `application_no` varchar(50) DEFAULT NULL COMMENT '申请编号',
- `academic_year` varchar(20) DEFAULT NULL COMMENT '学年',
- `term` int(11) DEFAULT NULL COMMENT '学期',
- `student_id` bigint(20) DEFAULT NULL COMMENT '学生ID',
- `student_no` varchar(50) DEFAULT NULL COMMENT '学号',
- `student_name` varchar(100) DEFAULT NULL COMMENT '学生姓名',
- `gender` varchar(10) DEFAULT NULL COMMENT '性别',
- `college_id` bigint(20) DEFAULT NULL COMMENT '学院ID',
- `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称',
- `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID',
- `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称',
- `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID',
- `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称',
- `recognition_group` varchar(50) DEFAULT NULL COMMENT '认定群体(特殊群体/其他群体)',
- `recognition_type_id` bigint(20) DEFAULT NULL COMMENT '认定类型ID',
- `recognition_type_code` varchar(50) DEFAULT NULL COMMENT '认定类型编码',
- `recognition_type_name` varchar(100) DEFAULT NULL COMMENT '认定类型名称',
- `assistance_type_ids` varchar(500) DEFAULT NULL COMMENT '申请自助类型ID数组(多选)',
- `assistance_type_names` varchar(500) DEFAULT NULL COMMENT '申请自助类型名称(多个用逗号分隔)',
- `family_economy_summary` text COMMENT '家庭经济情况摘要',
- `attach_application_form_url` varchar(500) DEFAULT NULL COMMENT '申请表附件URL',
- `attach_application_form_id` bigint(20) DEFAULT NULL COMMENT '申请表附件ID',
- `attach_survey_form_url` varchar(500) DEFAULT NULL COMMENT '调查表附件URL',
- `attach_survey_form_id` bigint(20) DEFAULT NULL COMMENT '调查表附件ID',
- `status` varchar(20) DEFAULT 'DRAFT' COMMENT '申请状态(DRAFT-草稿,SUBMITTED-已提交,REVIEWING-审核中,APPROVED-已通过,REJECTED-已拒绝,WITHDRAWN-已撤回)',
- `submitter_id` bigint(20) DEFAULT NULL COMMENT '提交人ID',
- `submitter_name` varchar(100) DEFAULT NULL COMMENT '提交人姓名',
- `submit_time` datetime DEFAULT NULL COMMENT '提交时间',
- `auditor_id` bigint(20) DEFAULT NULL COMMENT '审核人ID',
- `auditor_name` varchar(100) DEFAULT NULL COMMENT '审核人姓名',
- `audit_time` datetime DEFAULT NULL COMMENT '审核时间',
- `audit_opinion` text COMMENT '审核意见',
- `remark` varchar(500) DEFAULT NULL COMMENT '备注',
- `deleted` bigint(20) DEFAULT '0' COMMENT '逻辑删除标记(0-正常,非0-已删除)',
- `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
- `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- PRIMARY KEY (`id`),
- KEY `idx_student_no` (`student_no`),
- KEY `idx_status` (`status`),
- KEY `idx_academic_year` (`academic_year`),
- KEY `idx_college_id` (`college_id`),
- KEY `idx_tenant_deleted` (`tenant_id`, `deleted`),
- KEY `idx_create_time` (`create_time`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='贫困生认定申请表';
- -- ============================================================================
- -- 2. 插入菜单权限配置
- -- ============================================================================
- -- 2.1 插入主菜单(贫困生认定申请管理)
- INSERT INTO sys_menu VALUES(
- '1954043650013946881',
- '贫困生认定申请管理',
- '1851080776692494337',
- '4',
- 'jcbt:poverty:application:list',
- 'poverty/Application/index',
- '',
- '',
- '1',
- '0',
- 'C',
- '0',
- '0',
- 'jcbt:poverty:application:list',
- 'education',
- '103',
- '1',
- NOW(),
- NULL,
- NULL,
- ''
- );
- -- 2.2 插入按钮权限
- -- 查询按钮
- INSERT INTO sys_menu VALUES(
- '1954043651013946881',
- '贫困生认定申请查询',
- '1954043650013946881',
- '1',
- 'jcbt:poverty:application:query',
- '',
- '',
- '',
- '1',
- '0',
- 'F',
- '0',
- '0',
- 'jcbt:poverty:application:query',
- '#',
- '103',
- '1',
- NOW(),
- NULL,
- NULL,
- ''
- );
- -- 新增按钮
- INSERT INTO sys_menu VALUES(
- '1954043652013946881',
- '贫困生认定申请新增',
- '1954043650013946881',
- '2',
- 'jcbt:poverty:application:add',
- '',
- '',
- '',
- '1',
- '0',
- 'F',
- '0',
- '0',
- 'jcbt:poverty:application:add',
- '#',
- '103',
- '1',
- NOW(),
- NULL,
- NULL,
- ''
- );
- -- 修改按钮
- INSERT INTO sys_menu VALUES(
- '1954043653013946881',
- '贫困生认定申请修改',
- '1954043650013946881',
- '3',
- 'jcbt:poverty:application:edit',
- '',
- '',
- '',
- '1',
- '0',
- 'F',
- '0',
- '0',
- 'jcbt:poverty:application:edit',
- '#',
- '103',
- '1',
- NOW(),
- NULL,
- NULL,
- ''
- );
- -- 删除按钮
- INSERT INTO sys_menu VALUES(
- '1954043654013946881',
- '贫困生认定申请删除',
- '1954043650013946881',
- '4',
- 'jcbt:poverty:application:remove',
- '',
- '',
- '',
- '1',
- '0',
- 'F',
- '0',
- '0',
- 'jcbt:poverty:application:remove',
- '#',
- '103',
- '1',
- NOW(),
- NULL,
- NULL,
- ''
- );
- -- 导出按钮
- INSERT INTO sys_menu VALUES(
- '1954043655013946881',
- '贫困生认定申请导出',
- '1954043650013946881',
- '5',
- 'jcbt:poverty:application:export',
- '',
- '',
- '',
- '1',
- '0',
- 'F',
- '0',
- '0',
- 'jcbt:poverty:application:export',
- '#',
- '103',
- '1',
- NOW(),
- NULL,
- NULL,
- ''
- );
- -- 审核按钮
- INSERT INTO sys_menu VALUES(
- '1954043656013946881',
- '贫困生认定申请审核',
- '1954043650013946881',
- '6',
- 'jcbt:poverty:application:audit',
- '',
- '',
- '',
- '1',
- '0',
- 'F',
- '0',
- '0',
- 'jcbt:poverty:application:audit',
- '#',
- '103',
- '1',
- NOW(),
- NULL,
- NULL,
- ''
- );
- -- ============================================================================
- -- 3. 插入字典数据
- -- ============================================================================
- -- 3.1 申请状态字典
- INSERT INTO sys_dict_type VALUES(
- (SELECT IFNULL(MAX(dict_id), 0) + 1 FROM sys_dict_type t),
- '贫困生申请状态',
- 'jcbt_poverty_application_status',
- '0',
- '103',
- '1',
- NOW(),
- NULL,
- NULL,
- '贫困生认定申请状态选项'
- );
- -- 获取刚插入的字典类型ID
- SET @dict_type_id = (SELECT dict_id FROM sys_dict_type WHERE dict_type = 'jcbt_poverty_application_status');
- -- 插入状态字典数据
- INSERT INTO sys_dict_data VALUES(@dict_type_id * 10 + 1, 1, '草稿', 'DRAFT', 'jcbt_poverty_application_status', '', 'info', 'N', '0', '103', '1', NOW(), NULL, NULL, '申请草稿状态');
- INSERT INTO sys_dict_data VALUES(@dict_type_id * 10 + 2, 2, '已提交', 'SUBMITTED', 'jcbt_poverty_application_status', '', 'primary', 'N', '0', '103', '1', NOW(), NULL, NULL, '申请已提交状态');
- INSERT INTO sys_dict_data VALUES(@dict_type_id * 10 + 3, 3, '审核中', 'REVIEWING', 'jcbt_poverty_application_status', '', 'warning', 'N', '0', '103', '1', NOW(), NULL, NULL, '申请审核中状态');
- INSERT INTO sys_dict_data VALUES(@dict_type_id * 10 + 4, 4, '已通过', 'APPROVED', 'jcbt_poverty_application_status', '', 'success', 'N', '0', '103', '1', NOW(), NULL, NULL, '申请已通过状态');
- INSERT INTO sys_dict_data VALUES(@dict_type_id * 10 + 5, 5, '已拒绝', 'REJECTED', 'jcbt_poverty_application_status', '', 'danger', 'N', '0', '103', '1', NOW(), NULL, NULL, '申请已拒绝状态');
- INSERT INTO sys_dict_data VALUES(@dict_type_id * 10 + 6, 6, '已撤回', 'WITHDRAWN', 'jcbt_poverty_application_status', '', 'info', 'N', '0', '103', '1', NOW(), NULL, NULL, '申请已撤回状态');
- -- ============================================================================
- -- 4. 插入测试数据
- -- ============================================================================
- INSERT INTO `jcbt_poverty_application` VALUES
- (1954048400013946881, 'PK2024001', '2024-2025', 1, 1001, '202401001', '张三', '男', 101, '计算机学院', 10101, '计算机科学与技术', 1010101, '计软2401班', '其他群体', 1, 'TYPE001', '一般困难', '1,2', '学费减免,生活补助', '家庭经济困难,父母务农收入微薄', '', NULL, '', NULL, 'SUBMITTED', 1001, '张三', '2024-12-01 10:00:00', NULL, NULL, NULL, NULL, '因家庭经济困难申请贫困生认定', 0, '000000', 103, '2024-12-01 09:30:00', 103, '2024-12-01 10:00:00'),
- (1954048401013946881, 'PK2024002', '2024-2025', 1, 1002, '202401002', '李四', '女', 102, '外国语学院', 10201, '英语', 1020101, '英语2401班', '特殊群体', 2, 'TYPE002', '特别困难', '1,3', '学费减免,勤工助学', '单亲家庭,母亲重病', '', NULL, '', NULL, 'REVIEWING', 1002, '李四', '2024-12-02 14:00:00', 201, '王老师', NULL, NULL, '单亲家庭申请特别困难认定', 0, '000000', 103, '2024-12-02 13:30:00', 201, '2024-12-02 14:00:00'),
- (1954048402013946881, 'PK2024003', '2024-2025', 1, 1003, '202401003', '王五', '男', 101, '计算机学院', 10102, '软件工程', 1010201, '软工2401班', '其他群体', 1, 'TYPE001', '一般困难', '2', '生活补助', '家庭收入较低', '', NULL, '', NULL, 'APPROVED', 1003, '王五', '2024-11-28 16:00:00', 201, '王老师', '2024-11-30 10:00:00', '符合认定条件,予以通过', '已通过认定审核', 0, '000000', 103, '2024-11-28 15:30:00', 201, '2024-11-30 10:00:00'),
- (1954048403013946881, 'PK2024004', '2024-2025', 1, 1004, '202401004', '赵六', '女', 103, '经济管理学院', 10301, '会计学', 1030101, '会计2401班', '其他群体', 1, 'TYPE001', '一般困难', '1,2,3', '学费减免,生活补助,勤工助学', '家庭经济确实困难', '', NULL, '', NULL, 'DRAFT', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '正在准备申请材料', 0, '000000', 103, '2024-12-05 11:00:00', 103, '2024-12-05 11:00:00'),
- (1954048404013946881, 'PK2024005', '2024-2025', 1, 1005, '202401005', '钱七', '男', 104, '机械工程学院', 10401, '机械设计制造及其自动化', 1040101, '机械2401班', '特殊群体', 2, 'TYPE002', '特别困难', '1,2', '学费减免,生活补助', '建档立卡贫困户', '', NULL, '', NULL, 'REJECTED', 1005, '钱七', '2024-11-25 09:00:00', 202, '李老师', '2024-11-27 15:00:00', '材料不够完整,请补充相关证明', '需要补充材料后重新申请', 0, '000000', 103, '2024-11-25 08:30:00', 202, '2024-11-27 15:00:00');
- -- ============================================================================
- -- 5. 创建索引优化
- -- ============================================================================
- -- 优化查询性能的复合索引
- CREATE INDEX idx_student_status_time ON jcbt_poverty_application(student_id, status, create_time);
- CREATE INDEX idx_college_year_status ON jcbt_poverty_application(college_id, academic_year, status);
- CREATE INDEX idx_auditor_time ON jcbt_poverty_application(auditor_id, audit_time);
- -- ============================================================================
- -- 6. 数据统计视图(可选)
- -- ============================================================================
- -- 创建状态统计视图
- CREATE OR REPLACE VIEW v_poverty_application_statistics AS
- SELECT
- status,
- COUNT(*) as count,
- academic_year,
- college_name
- FROM jcbt_poverty_application
- WHERE deleted = 0
- GROUP BY status, academic_year, college_name;
- -- ============================================================================
- -- 脚本执行完成
- -- ============================================================================
- -- 执行完成后请检查:
- -- 1. 表结构是否创建成功: SHOW CREATE TABLE jcbt_poverty_application;
- -- 2. 菜单权限是否正确: SELECT * FROM sys_menu WHERE menu_name LIKE '%贫困生%';
- -- 3. 测试数据是否插入: SELECT COUNT(*) FROM jcbt_poverty_application;
- -- ============================================================================
|