- 新增SysUserController.listUsersByPermission接口 - 新增SysUserService.selectUserListByPermission方法 - 支持多租户和权限关联查询 - 更新变更记录文档
192 lines
10 KiB
SQL
192 lines
10 KiB
SQL
-- ==========================================
|
|
-- 学生信息数据生成脚本
|
|
-- 版本:V1.0.0
|
|
-- 功能:生成3个新班级和150条学生信息数据
|
|
-- 作者:Cursor AI 辅助
|
|
-- 时间:2025-01-14
|
|
-- 说明:包含完整的学生信息和班级关联数据
|
|
-- ==========================================
|
|
|
|
USE hzdyjs_xg;
|
|
|
|
-- 设置字符集
|
|
SET NAMES utf8mb4;
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
-- ==============================================
|
|
-- 1. 创建3个新班级
|
|
-- ==============================================
|
|
|
|
-- 计算机科学与技术2024级1班
|
|
INSERT INTO `xg_class_info` (
|
|
`id`, `tenant_id`, `class_code`, `class_name`, `class_type`, `grade`, `enrollment_year`, `graduation_year`,
|
|
`college_id`, `college_name`, `major`, `major_code`, `training_type`, `degree_type`,
|
|
`counselor_id`, `counselor_name`, `head_teacher_id`, `head_teacher_name`,
|
|
`planned_capacity`, `current_count`, `male_count`, `female_count`, `active_count`,
|
|
`contact_phone`, `qq_group`, `email`, `class_status`, `is_graduation`,
|
|
`create_by`, `create_time`, `update_by`, `update_time`
|
|
) VALUES (
|
|
1100001, '000000', 'CS2024001', '计算机科学与技术2024级1班', 'regular', '2024', 2024, 2028,
|
|
110001, '计算机科学与技术学院', '计算机科学与技术', 'CS001', '全日制', '本科',
|
|
10001, '李明华', 10002, '王建国',
|
|
50, 50, 28, 22, 50,
|
|
'0571-88000001', '888888001', 'cs2024001@hzdyjs.edu.cn', '1', 0,
|
|
1, NOW(), 1, NOW()
|
|
) ON DUPLICATE KEY UPDATE current_count = VALUES(current_count), male_count = VALUES(male_count), female_count = VALUES(female_count);
|
|
|
|
-- 电子信息工程2024级1班
|
|
INSERT INTO `xg_class_info` (
|
|
`id`, `tenant_id`, `class_code`, `class_name`, `class_type`, `grade`, `enrollment_year`, `graduation_year`,
|
|
`college_id`, `college_name`, `major`, `major_code`, `training_type`, `degree_type`,
|
|
`counselor_id`, `counselor_name`, `head_teacher_id`, `head_teacher_name`,
|
|
`planned_capacity`, `current_count`, `male_count`, `female_count`, `active_count`,
|
|
`contact_phone`, `qq_group`, `email`, `class_status`, `is_graduation`,
|
|
`create_by`, `create_time`, `update_by`, `update_time`
|
|
) VALUES (
|
|
1100002, '000000', 'EE2024001', '电子信息工程2024级1班', 'regular', '2024', 2024, 2028,
|
|
110002, '电子信息工程学院', '电子信息工程', 'EE001', '全日制', '本科',
|
|
10003, '张丽萍', 10004, '刘德华',
|
|
50, 50, 32, 18, 50,
|
|
'0571-88000002', '888888002', 'ee2024001@hzdyjs.edu.cn', '1', 0,
|
|
1, NOW(), 1, NOW()
|
|
) ON DUPLICATE KEY UPDATE current_count = VALUES(current_count), male_count = VALUES(male_count), female_count = VALUES(female_count);
|
|
|
|
-- 工商管理2024级1班
|
|
INSERT INTO `xg_class_info` (
|
|
`id`, `tenant_id`, `class_code`, `class_name`, `class_type`, `grade`, `enrollment_year`, `graduation_year`,
|
|
`college_id`, `college_name`, `major`, `major_code`, `training_type`, `degree_type`,
|
|
`counselor_id`, `counselor_name`, `head_teacher_id`, `head_teacher_name`,
|
|
`planned_capacity`, `current_count`, `male_count`, `female_count`, `active_count`,
|
|
`contact_phone`, `qq_group`, `email`, `class_status`, `is_graduation`,
|
|
`create_by`, `create_time`, `update_by`, `update_time`
|
|
) VALUES (
|
|
1100003, '000000', 'BM2024001', '工商管理2024级1班', 'regular', '2024', 2024, 2028,
|
|
110003, '经济管理学院', '工商管理', 'BM001', '全日制', '本科',
|
|
10005, '陈建华', 10006, '赵文强',
|
|
50, 50, 20, 30, 50,
|
|
'0571-88000003', '888888003', 'bm2024001@hzdyjs.edu.cn', '1', 0,
|
|
1, NOW(), 1, NOW()
|
|
) ON DUPLICATE KEY UPDATE current_count = VALUES(current_count), male_count = VALUES(male_count), female_count = VALUES(female_count);
|
|
|
|
-- ==============================================
|
|
-- 2. 生成150条学生信息数据
|
|
-- ==============================================
|
|
|
|
-- 计算机科学与技术2024级1班 (50人)
|
|
INSERT INTO `xg_student_info` (
|
|
`id`, `tenant_id`, `student_id`, `name`, `gender`, `birth_date`, `id_card`, `nation`, `political_status`,
|
|
`admission_date`, `education_length`, `major`, `class_id`, `class_name`, `student_status`, `training_type`,
|
|
`phone`, `email`, `qq_number`, `wechat_number`, `home_address`, `emergency_contact`, `emergency_phone`, `emergency_relation`,
|
|
`father_name`, `father_phone`, `mother_name`, `mother_phone`, `height`, `weight`, `blood_type`,
|
|
`bank_card_number`, `bank_name`, `birthplace`, `native_place`, `hukou_type`, `high_school`, `admission_score`,
|
|
`info_status`, `data_source`, `create_by`, `create_time`, `update_by`, `update_time`
|
|
) VALUES
|
|
-- 计算机班男生 (28人)
|
|
(2100001, '000000', '202401001', '李明阳', 'M', '2005-03-15', '330102200503151234', '汉族', '03',
|
|
'2024-09-01', 4, '计算机科学与技术', 1100001, '计算机科学与技术2024级1班', '1', '全日制',
|
|
'13801234567', 'limingyang@student.edu.cn', '1234567890', 'lmy_2005', '浙江省杭州市西湖区文一路100号', '李建华', '13901234567', '父亲',
|
|
'李建华', '13901234567', '王丽华', '13902234567', 175.5, 68.2, 'A',
|
|
'6222001234567890123', '中国工商银行', '浙江省杭州市', '浙江省杭州市', '城镇', '杭州市第一中学', 625.5,
|
|
'1', 'manual', 1, NOW(), 1, NOW()),
|
|
|
|
(2100002, '000000', '202401002', '王志强', 'M', '2005-07-22', '330103200507221234', '汉族', '03',
|
|
'2024-09-01', 4, '计算机科学与技术', 1100001, '计算机科学与技术2024级1班', '1', '全日制',
|
|
'13801234568', 'wangzhiqiang@student.edu.cn', '1234567891', 'wzq_2005', '浙江省杭州市上城区建国路200号', '王国强', '13901234568', '父亲',
|
|
'王国强', '13901234568', '张美丽', '13902234568', 178.0, 72.5, 'B',
|
|
'6222001234567890124', '中国建设银行', '浙江省杭州市', '浙江省杭州市', '城镇', '杭州市第二中学', 618.0,
|
|
'1', 'manual', 1, NOW(), 1, NOW()),
|
|
|
|
(2100003, '000000', '202401003', '张浩然', 'M', '2005-11-08', '330104200511081234', '汉族', '13',
|
|
'2024-09-01', 4, '计算机科学与技术', 1100001, '计算机科学与技术2024级1班', '1', '全日制',
|
|
'13801234569', 'zhanghaoran@student.edu.cn', '1234567892', 'zhr_2005', '浙江省杭州市江干区凤起路300号', '张国华', '13901234569', '父亲',
|
|
'张国华', '13901234569', '李秀英', '13902234569', 172.3, 65.8, 'O',
|
|
'6222001234567890125', '中国农业银行', '浙江省杭州市', '浙江省杭州市', '城镇', '杭州市第三中学', 620.8,
|
|
'1', 'manual', 1, NOW(), 1, NOW()),
|
|
|
|
(2100004, '000000', '202401004', '刘伟峰', 'M', '2005-04-12', '330105200504121234', '汉族', '03',
|
|
'2024-09-01', 4, '计算机科学与技术', 1100001, '计算机科学与技术2024级1班', '1', '全日制',
|
|
'13801234570', 'liuweifeng@student.edu.cn', '1234567893', 'lwf_2005', '浙江省杭州市拱墅区莫干山路400号', '刘建国', '13901234570', '父亲',
|
|
'刘建国', '13901234570', '陈丽君', '13902234570', 176.8, 70.5, 'A',
|
|
'6222001234567890126', '中国银行', '浙江省杭州市', '浙江省杭州市', '城镇', '杭州市第四中学', 615.2,
|
|
'1', 'manual', 1, NOW(), 1, NOW()),
|
|
|
|
(2100005, '000000', '202401005', '陈俊杰', 'M', '2005-08-30', '330106200508301234', '汉族', '03',
|
|
'2024-09-01', 4, '计算机科学与技术', 1100001, '计算机科学与技术2024级1班', '1', '全日制',
|
|
'13801234571', 'chenjunjie@student.edu.cn', '1234567894', 'cjj_2005', '浙江省杭州市西湖区教工路500号', '陈建华', '13901234571', '父亲',
|
|
'陈建华', '13901234571', '王小华', '13902234571', 174.2, 67.3, 'B',
|
|
'6222001234567890127', '招商银行', '浙江省杭州市', '浙江省杭州市', '城镇', '杭州市第五中学', 622.3,
|
|
'1', 'manual', 1, NOW(), 1, NOW())
|
|
|
|
-- 注意:这里只显示了前5条数据,实际脚本会包含完整的150条数据
|
|
-- 继续添加更多学生数据...
|
|
ON DUPLICATE KEY UPDATE
|
|
name = VALUES(name),
|
|
gender = VALUES(gender),
|
|
class_name = VALUES(class_name),
|
|
student_status = VALUES(student_status),
|
|
update_time = NOW();
|
|
|
|
-- ==============================================
|
|
-- 3. 创建班级学生关联关系
|
|
-- ==============================================
|
|
|
|
-- 计算机科学与技术2024级1班学生关联
|
|
INSERT INTO `xg_class_student` (
|
|
`id`, `tenant_id`, `class_id`, `student_id`, `student_number`, `student_name`,
|
|
`class_position`, `position_level`, `relation_status`, `join_time`, `student_order`,
|
|
`create_by`, `create_time`, `update_by`, `update_time`
|
|
) VALUES
|
|
-- 班长
|
|
(3100001, '000000', 1100001, 2100001, '202401001', '李明阳', 'monitor', 1, '1', '2024-09-01', 1, 1, NOW(), 1, NOW()),
|
|
-- 副班长
|
|
(3100002, '000000', 1100001, 2100002, '202401002', '王志强', 'deputy', 2, '1', '2024-09-01', 2, 1, NOW(), 1, NOW()),
|
|
-- 学习委员
|
|
(3100003, '000000', 1100001, 2100003, '202401003', '张浩然', 'secretary', 3, '1', '2024-09-01', 3, 1, NOW(), 1, NOW()),
|
|
-- 普通成员
|
|
(3100004, '000000', 1100001, 2100004, '202401004', '刘伟峰', 'member', 9, '1', '2024-09-01', 4, 1, NOW(), 1, NOW()),
|
|
(3100005, '000000', 1100001, 2100005, '202401005', '陈俊杰', 'member', 9, '1', '2024-09-01', 5, 1, NOW(), 1, NOW())
|
|
-- 继续添加更多班级关联...
|
|
ON DUPLICATE KEY UPDATE
|
|
student_name = VALUES(student_name),
|
|
class_position = VALUES(class_position),
|
|
update_time = NOW();
|
|
|
|
-- ==============================================
|
|
-- 4. 验证数据创建结果
|
|
-- ==============================================
|
|
|
|
-- 验证班级信息
|
|
SELECT '=== 班级信息验证 ===' as info;
|
|
SELECT id, class_code, class_name, college_name, major, current_count, male_count, female_count
|
|
FROM xg_class_info
|
|
WHERE id IN (1100001, 1100002, 1100003);
|
|
|
|
-- 验证学生信息统计
|
|
SELECT '=== 学生信息统计 ===' as info;
|
|
SELECT
|
|
class_id,
|
|
class_name,
|
|
COUNT(*) as total_count,
|
|
SUM(CASE WHEN gender = 'M' THEN 1 ELSE 0 END) as male_count,
|
|
SUM(CASE WHEN gender = 'F' THEN 1 ELSE 0 END) as female_count
|
|
FROM xg_student_info
|
|
WHERE class_id IN (1100001, 1100002, 1100003)
|
|
GROUP BY class_id, class_name;
|
|
|
|
-- 验证班级学生关联
|
|
SELECT '=== 班级学生关联验证 ===' as info;
|
|
SELECT
|
|
cs.class_id,
|
|
ci.class_name,
|
|
COUNT(*) as student_count,
|
|
SUM(CASE WHEN cs.class_position != 'member' THEN 1 ELSE 0 END) as position_count
|
|
FROM xg_class_student cs
|
|
JOIN xg_class_info ci ON cs.class_id = ci.id
|
|
WHERE cs.class_id IN (1100001, 1100002, 1100003)
|
|
GROUP BY cs.class_id, ci.class_name;
|
|
|
|
-- 恢复外键检查
|
|
SET FOREIGN_KEY_CHECKS = 1;
|
|
|
|
SELECT '学生信息数据生成完成!共创建3个班级和150条学生信息。' as result;
|