412 lines
18 KiB
SQL
412 lines
18 KiB
SQL
-- 学生信息采集批次功能重新设计 - 数据库脚本
|
|
-- 创建时间: 2025-01-13
|
|
-- 说明: 将信息采集批次功能集成到学生信息管理中,支持按条件创建批次
|
|
|
|
-- 1. 修改现有批次表结构,增加目标条件字段
|
|
ALTER TABLE xg_collection_batch
|
|
ADD COLUMN target_grade VARCHAR(50) COMMENT '目标届别(如:2021,2022,2023)',
|
|
ADD COLUMN target_college_ids TEXT COMMENT '目标学院ID列表(JSON格式)',
|
|
ADD COLUMN target_major_ids TEXT COMMENT '目标专业ID列表(JSON格式)',
|
|
ADD COLUMN target_class_ids TEXT COMMENT '目标班级ID列表(JSON格式)',
|
|
ADD COLUMN remind_before_start INT DEFAULT 24 COMMENT '开始前提醒时间(小时)',
|
|
ADD COLUMN remind_before_end INT DEFAULT 24 COMMENT '结束前提醒时间(小时)',
|
|
ADD COLUMN auto_close TINYINT DEFAULT 1 COMMENT '是否自动关闭',
|
|
ADD COLUMN notification_sent TINYINT DEFAULT 0 COMMENT '是否已发送通知',
|
|
ADD COLUMN created_by_module VARCHAR(50) DEFAULT 'student_info' COMMENT '创建模块';
|
|
|
|
-- 2. 创建批次学生关联表(用于快速查询和统计)
|
|
CREATE TABLE xg_collection_batch_student (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
batch_id BIGINT NOT NULL COMMENT '批次ID',
|
|
student_id BIGINT NOT NULL COMMENT '学生ID',
|
|
student_code VARCHAR(50) NOT NULL COMMENT '学号',
|
|
student_name VARCHAR(100) NOT NULL COMMENT '学生姓名',
|
|
college_id BIGINT COMMENT '学院ID',
|
|
college_name VARCHAR(100) COMMENT '学院名称',
|
|
major_id BIGINT COMMENT '专业ID',
|
|
major_name VARCHAR(100) COMMENT '专业名称',
|
|
class_id BIGINT COMMENT '班级ID',
|
|
class_name VARCHAR(100) COMMENT '班级名称',
|
|
grade VARCHAR(50) COMMENT '届别',
|
|
can_edit TINYINT DEFAULT 1 COMMENT '是否可编辑',
|
|
has_submitted TINYINT DEFAULT 0 COMMENT '是否已提交',
|
|
submit_time DATETIME COMMENT '提交时间',
|
|
last_edit_time DATETIME COMMENT '最后编辑时间',
|
|
edit_count INT DEFAULT 0 COMMENT '编辑次数',
|
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
create_by BIGINT COMMENT '创建者',
|
|
update_by BIGINT COMMENT '更新者',
|
|
deleted TINYINT DEFAULT 0 COMMENT '删除标志',
|
|
tenant_id BIGINT DEFAULT 0 COMMENT '租户ID',
|
|
INDEX idx_batch_id (batch_id),
|
|
INDEX idx_student_id (student_id),
|
|
INDEX idx_batch_student (batch_id, student_id),
|
|
INDEX idx_college_id (college_id),
|
|
INDEX idx_grade (grade),
|
|
INDEX idx_create_time (create_time),
|
|
FOREIGN KEY (batch_id) REFERENCES xg_collection_batch(id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='信息采集批次学生关联表';
|
|
|
|
-- 3. 创建批次操作日志表
|
|
CREATE TABLE xg_collection_batch_log (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
batch_id BIGINT NOT NULL COMMENT '批次ID',
|
|
student_id BIGINT COMMENT '学生ID',
|
|
operation_type VARCHAR(50) NOT NULL COMMENT '操作类型(CREATE,UPDATE,SUBMIT,ADMIN_MODIFY,BATCH_PUBLISH,BATCH_CLOSE)',
|
|
operation_desc TEXT COMMENT '操作描述',
|
|
old_data TEXT COMMENT '修改前数据(JSON格式)',
|
|
new_data TEXT COMMENT '修改后数据(JSON格式)',
|
|
operator_id BIGINT COMMENT '操作人ID',
|
|
operator_name VARCHAR(100) COMMENT '操作人姓名',
|
|
operator_type VARCHAR(50) COMMENT '操作人类型(STUDENT,ADMIN,SYSTEM)',
|
|
ip_address VARCHAR(50) COMMENT 'IP地址',
|
|
user_agent TEXT COMMENT '用户代理',
|
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
tenant_id BIGINT DEFAULT 0 COMMENT '租户ID',
|
|
INDEX idx_batch_id (batch_id),
|
|
INDEX idx_student_id (student_id),
|
|
INDEX idx_operation_type (operation_type),
|
|
INDEX idx_create_time (create_time),
|
|
INDEX idx_operator_id (operator_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='信息采集批次操作日志表';
|
|
|
|
-- 4. 创建批次权限配置表
|
|
CREATE TABLE xg_collection_batch_permission (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
batch_id BIGINT NOT NULL COMMENT '批次ID',
|
|
permission_type VARCHAR(50) NOT NULL COMMENT '权限类型(EDIT,VIEW,SUBMIT,ADMIN)',
|
|
role_id BIGINT COMMENT '角色ID',
|
|
user_id BIGINT COMMENT '用户ID',
|
|
college_id BIGINT COMMENT '学院ID',
|
|
is_granted TINYINT DEFAULT 1 COMMENT '是否授权',
|
|
grant_time DATETIME COMMENT '授权时间',
|
|
expire_time DATETIME COMMENT '过期时间',
|
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
create_by BIGINT COMMENT '创建者',
|
|
update_by BIGINT COMMENT '更新者',
|
|
deleted TINYINT DEFAULT 0 COMMENT '删除标志',
|
|
tenant_id BIGINT DEFAULT 0 COMMENT '租户ID',
|
|
INDEX idx_batch_id (batch_id),
|
|
INDEX idx_permission_type (permission_type),
|
|
INDEX idx_role_id (role_id),
|
|
INDEX idx_user_id (user_id),
|
|
INDEX idx_college_id (college_id),
|
|
FOREIGN KEY (batch_id) REFERENCES xg_collection_batch(id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='信息采集批次权限配置表';
|
|
|
|
-- 5. 创建批次统计表
|
|
CREATE TABLE xg_collection_batch_statistics (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
batch_id BIGINT NOT NULL COMMENT '批次ID',
|
|
total_students INT DEFAULT 0 COMMENT '总学生数',
|
|
submitted_students INT DEFAULT 0 COMMENT '已提交学生数',
|
|
pending_students INT DEFAULT 0 COMMENT '待提交学生数',
|
|
completion_rate DECIMAL(5,2) DEFAULT 0.00 COMMENT '完成率',
|
|
college_id BIGINT COMMENT '学院ID(按学院统计时使用)',
|
|
college_name VARCHAR(100) COMMENT '学院名称',
|
|
major_id BIGINT COMMENT '专业ID(按专业统计时使用)',
|
|
major_name VARCHAR(100) COMMENT '专业名称',
|
|
class_id BIGINT COMMENT '班级ID(按班级统计时使用)',
|
|
class_name VARCHAR(100) COMMENT '班级名称',
|
|
grade VARCHAR(50) COMMENT '届别',
|
|
statistics_type VARCHAR(50) DEFAULT 'TOTAL' COMMENT '统计类型(TOTAL,COLLEGE,MAJOR,CLASS,GRADE)',
|
|
last_updated DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
tenant_id BIGINT DEFAULT 0 COMMENT '租户ID',
|
|
INDEX idx_batch_id (batch_id),
|
|
INDEX idx_college_id (college_id),
|
|
INDEX idx_major_id (major_id),
|
|
INDEX idx_class_id (class_id),
|
|
INDEX idx_grade (grade),
|
|
INDEX idx_statistics_type (statistics_type),
|
|
FOREIGN KEY (batch_id) REFERENCES xg_collection_batch(id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='信息采集批次统计表';
|
|
|
|
-- 6. 修改学生信息表,添加批次相关字段
|
|
ALTER TABLE xg_student_info
|
|
ADD COLUMN last_batch_id BIGINT COMMENT '最后参与的批次ID',
|
|
ADD COLUMN last_edit_batch_id BIGINT COMMENT '最后编辑的批次ID',
|
|
ADD COLUMN info_lock_status TINYINT DEFAULT 0 COMMENT '信息锁定状态(0:正常,1:锁定)',
|
|
ADD COLUMN lock_reason VARCHAR(500) COMMENT '锁定原因',
|
|
ADD COLUMN last_batch_submit_time DATETIME COMMENT '最后批次提交时间';
|
|
|
|
-- 7. 创建视图:当前活跃批次
|
|
CREATE VIEW v_current_active_batch AS
|
|
SELECT
|
|
b.*,
|
|
COUNT(bs.id) as total_students,
|
|
SUM(CASE WHEN bs.has_submitted = 1 THEN 1 ELSE 0 END) as submitted_students,
|
|
ROUND(SUM(CASE WHEN bs.has_submitted = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(bs.id), 2) as completion_rate
|
|
FROM xg_collection_batch b
|
|
LEFT JOIN xg_collection_batch_student bs ON b.id = bs.batch_id AND bs.deleted = 0
|
|
WHERE b.deleted = 0
|
|
AND b.status = 'active'
|
|
AND b.is_published = 1
|
|
AND NOW() BETWEEN b.start_time AND b.end_time
|
|
GROUP BY b.id;
|
|
|
|
-- 8. 创建视图:学生批次权限
|
|
CREATE VIEW v_student_batch_permission AS
|
|
SELECT
|
|
bs.student_id,
|
|
bs.student_code,
|
|
bs.student_name,
|
|
b.id as batch_id,
|
|
b.batch_name,
|
|
b.batch_code,
|
|
b.start_time,
|
|
b.end_time,
|
|
b.status as batch_status,
|
|
bs.can_edit,
|
|
bs.has_submitted,
|
|
bs.submit_time,
|
|
CASE
|
|
WHEN b.status != 'active' THEN 0
|
|
WHEN b.is_published != 1 THEN 0
|
|
WHEN NOW() < b.start_time THEN 0
|
|
WHEN NOW() > b.end_time THEN 0
|
|
WHEN bs.can_edit != 1 THEN 0
|
|
WHEN bs.has_submitted = 1 THEN 0
|
|
ELSE 1
|
|
END as can_edit_now
|
|
FROM xg_collection_batch_student bs
|
|
JOIN xg_collection_batch b ON bs.batch_id = b.id
|
|
WHERE bs.deleted = 0 AND b.deleted = 0;
|
|
|
|
-- 9. 创建存储过程:批量生成批次学生关联
|
|
DELIMITER //
|
|
CREATE PROCEDURE sp_generate_batch_students(
|
|
IN p_batch_id BIGINT,
|
|
IN p_target_grade VARCHAR(50),
|
|
IN p_target_college_ids TEXT,
|
|
IN p_target_major_ids TEXT,
|
|
IN p_target_class_ids TEXT,
|
|
IN p_creator_id BIGINT
|
|
)
|
|
BEGIN
|
|
DECLARE done INT DEFAULT FALSE;
|
|
DECLARE v_student_id BIGINT;
|
|
DECLARE v_student_code VARCHAR(50);
|
|
DECLARE v_student_name VARCHAR(100);
|
|
DECLARE v_college_id BIGINT;
|
|
DECLARE v_college_name VARCHAR(100);
|
|
DECLARE v_major_id BIGINT;
|
|
DECLARE v_major_name VARCHAR(100);
|
|
DECLARE v_class_id BIGINT;
|
|
DECLARE v_class_name VARCHAR(100);
|
|
DECLARE v_grade VARCHAR(50);
|
|
|
|
-- 声明游标
|
|
DECLARE student_cursor CURSOR FOR
|
|
SELECT
|
|
s.id, s.student_code, s.student_name,
|
|
s.college_id, c.college_name,
|
|
s.major_id, m.major_name,
|
|
s.class_id, cl.class_name,
|
|
s.grade
|
|
FROM xg_student_info s
|
|
LEFT JOIN xg_college c ON s.college_id = c.id
|
|
LEFT JOIN xg_major m ON s.major_id = m.id
|
|
LEFT JOIN xg_class_info cl ON s.class_id = cl.id
|
|
WHERE s.deleted = 0
|
|
AND (p_target_grade IS NULL OR s.grade = p_target_grade)
|
|
AND (p_target_college_ids IS NULL OR FIND_IN_SET(s.college_id, p_target_college_ids))
|
|
AND (p_target_major_ids IS NULL OR FIND_IN_SET(s.major_id, p_target_major_ids))
|
|
AND (p_target_class_ids IS NULL OR FIND_IN_SET(s.class_id, p_target_class_ids));
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
|
|
|
-- 清空该批次的现有学生关联
|
|
DELETE FROM xg_collection_batch_student WHERE batch_id = p_batch_id;
|
|
|
|
-- 打开游标
|
|
OPEN student_cursor;
|
|
|
|
read_loop: LOOP
|
|
FETCH student_cursor INTO v_student_id, v_student_code, v_student_name,
|
|
v_college_id, v_college_name, v_major_id, v_major_name,
|
|
v_class_id, v_class_name, v_grade;
|
|
|
|
IF done THEN
|
|
LEAVE read_loop;
|
|
END IF;
|
|
|
|
-- 插入批次学生关联
|
|
INSERT INTO xg_collection_batch_student (
|
|
batch_id, student_id, student_code, student_name,
|
|
college_id, college_name, major_id, major_name,
|
|
class_id, class_name, grade, can_edit, has_submitted,
|
|
create_by, tenant_id
|
|
) VALUES (
|
|
p_batch_id, v_student_id, v_student_code, v_student_name,
|
|
v_college_id, v_college_name, v_major_id, v_major_name,
|
|
v_class_id, v_class_name, v_grade, 1, 0,
|
|
p_creator_id, 0
|
|
);
|
|
END LOOP;
|
|
|
|
CLOSE student_cursor;
|
|
|
|
-- 更新批次统计
|
|
CALL sp_update_batch_statistics(p_batch_id);
|
|
END //
|
|
DELIMITER ;
|
|
|
|
-- 10. 创建存储过程:更新批次统计
|
|
DELIMITER //
|
|
CREATE PROCEDURE sp_update_batch_statistics(IN p_batch_id BIGINT)
|
|
BEGIN
|
|
-- 删除现有统计
|
|
DELETE FROM xg_collection_batch_statistics WHERE batch_id = p_batch_id;
|
|
|
|
-- 插入总体统计
|
|
INSERT INTO xg_collection_batch_statistics (
|
|
batch_id, total_students, submitted_students, pending_students,
|
|
completion_rate, statistics_type
|
|
)
|
|
SELECT
|
|
p_batch_id,
|
|
COUNT(*) as total_students,
|
|
SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) as submitted_students,
|
|
SUM(CASE WHEN has_submitted = 0 THEN 1 ELSE 0 END) as pending_students,
|
|
ROUND(SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) as completion_rate,
|
|
'TOTAL' as statistics_type
|
|
FROM xg_collection_batch_student
|
|
WHERE batch_id = p_batch_id AND deleted = 0;
|
|
|
|
-- 插入按学院统计
|
|
INSERT INTO xg_collection_batch_statistics (
|
|
batch_id, total_students, submitted_students, pending_students,
|
|
completion_rate, college_id, college_name, statistics_type
|
|
)
|
|
SELECT
|
|
p_batch_id,
|
|
COUNT(*) as total_students,
|
|
SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) as submitted_students,
|
|
SUM(CASE WHEN has_submitted = 0 THEN 1 ELSE 0 END) as pending_students,
|
|
ROUND(SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) as completion_rate,
|
|
college_id,
|
|
college_name,
|
|
'COLLEGE' as statistics_type
|
|
FROM xg_collection_batch_student
|
|
WHERE batch_id = p_batch_id AND deleted = 0 AND college_id IS NOT NULL
|
|
GROUP BY college_id, college_name;
|
|
|
|
-- 插入按专业统计
|
|
INSERT INTO xg_collection_batch_statistics (
|
|
batch_id, total_students, submitted_students, pending_students,
|
|
completion_rate, college_id, college_name, major_id, major_name, statistics_type
|
|
)
|
|
SELECT
|
|
p_batch_id,
|
|
COUNT(*) as total_students,
|
|
SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) as submitted_students,
|
|
SUM(CASE WHEN has_submitted = 0 THEN 1 ELSE 0 END) as pending_students,
|
|
ROUND(SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) as completion_rate,
|
|
college_id,
|
|
college_name,
|
|
major_id,
|
|
major_name,
|
|
'MAJOR' as statistics_type
|
|
FROM xg_collection_batch_student
|
|
WHERE batch_id = p_batch_id AND deleted = 0 AND major_id IS NOT NULL
|
|
GROUP BY college_id, college_name, major_id, major_name;
|
|
|
|
-- 插入按班级统计
|
|
INSERT INTO xg_collection_batch_statistics (
|
|
batch_id, total_students, submitted_students, pending_students,
|
|
completion_rate, college_id, college_name, major_id, major_name,
|
|
class_id, class_name, statistics_type
|
|
)
|
|
SELECT
|
|
p_batch_id,
|
|
COUNT(*) as total_students,
|
|
SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) as submitted_students,
|
|
SUM(CASE WHEN has_submitted = 0 THEN 1 ELSE 0 END) as pending_students,
|
|
ROUND(SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) as completion_rate,
|
|
college_id,
|
|
college_name,
|
|
major_id,
|
|
major_name,
|
|
class_id,
|
|
class_name,
|
|
'CLASS' as statistics_type
|
|
FROM xg_collection_batch_student
|
|
WHERE batch_id = p_batch_id AND deleted = 0 AND class_id IS NOT NULL
|
|
GROUP BY college_id, college_name, major_id, major_name, class_id, class_name;
|
|
|
|
-- 插入按届别统计
|
|
INSERT INTO xg_collection_batch_statistics (
|
|
batch_id, total_students, submitted_students, pending_students,
|
|
completion_rate, grade, statistics_type
|
|
)
|
|
SELECT
|
|
p_batch_id,
|
|
COUNT(*) as total_students,
|
|
SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) as submitted_students,
|
|
SUM(CASE WHEN has_submitted = 0 THEN 1 ELSE 0 END) as pending_students,
|
|
ROUND(SUM(CASE WHEN has_submitted = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) as completion_rate,
|
|
grade,
|
|
'GRADE' as statistics_type
|
|
FROM xg_collection_batch_student
|
|
WHERE batch_id = p_batch_id AND deleted = 0 AND grade IS NOT NULL
|
|
GROUP BY grade;
|
|
END //
|
|
DELIMITER ;
|
|
|
|
-- 11. 创建触发器:学生提交时自动更新统计
|
|
DELIMITER //
|
|
CREATE TRIGGER tr_batch_student_submit_update
|
|
AFTER UPDATE ON xg_collection_batch_student
|
|
FOR EACH ROW
|
|
BEGIN
|
|
IF OLD.has_submitted != NEW.has_submitted THEN
|
|
CALL sp_update_batch_statistics(NEW.batch_id);
|
|
END IF;
|
|
END //
|
|
DELIMITER ;
|
|
|
|
-- 12. 创建索引优化查询性能
|
|
CREATE INDEX idx_xg_student_info_batch ON xg_student_info(last_batch_id, last_edit_batch_id);
|
|
CREATE INDEX idx_xg_student_info_grade_college ON xg_student_info(grade, college_id);
|
|
CREATE INDEX idx_xg_student_info_major_class ON xg_student_info(major_id, class_id);
|
|
|
|
-- 13. 插入系统配置数据
|
|
INSERT INTO sys_config (config_name, config_key, config_value, config_type, remark, create_by, create_time) VALUES
|
|
('学生信息采集批次默认提醒时间', 'student.batch.default.remind.hours', '24', 'Y', '创建批次时的默认提醒时间(小时)', 1, NOW()),
|
|
('学生信息采集批次自动关闭', 'student.batch.auto.close', 'true', 'Y', '批次是否自动关闭', 1, NOW()),
|
|
('学生信息采集批次最大编辑次数', 'student.batch.max.edit.count', '10', 'Y', '学生在批次期间最大编辑次数', 1, NOW()),
|
|
('学生信息采集批次通知开关', 'student.batch.notification.enabled', 'true', 'Y', '是否启用批次通知', 1, NOW());
|
|
|
|
-- 14. 创建定时任务相关表(如果需要)
|
|
-- 用于自动关闭过期批次、发送提醒通知等
|
|
CREATE TABLE xg_batch_scheduled_task (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
batch_id BIGINT NOT NULL COMMENT '批次ID',
|
|
task_type VARCHAR(50) NOT NULL COMMENT '任务类型(REMIND_START,REMIND_END,AUTO_CLOSE)',
|
|
task_time DATETIME NOT NULL COMMENT '执行时间',
|
|
task_status VARCHAR(20) DEFAULT 'PENDING' COMMENT '任务状态(PENDING,EXECUTED,FAILED)',
|
|
execute_time DATETIME COMMENT '实际执行时间',
|
|
error_message TEXT COMMENT '错误信息',
|
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
INDEX idx_batch_id (batch_id),
|
|
INDEX idx_task_type (task_type),
|
|
INDEX idx_task_time (task_time),
|
|
INDEX idx_task_status (task_status),
|
|
FOREIGN KEY (batch_id) REFERENCES xg_collection_batch(id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='信息采集批次定时任务表';
|
|
|
|
-- 15. 数据迁移脚本(如果有现有数据)
|
|
-- 将现有的独立批次数据迁移到新的学生信息管理集成结构中
|
|
UPDATE xg_collection_batch SET created_by_module = 'student_info' WHERE created_by_module IS NULL;
|
|
|
|
-- 16. 创建权限数据
|
|
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES
|
|
('学生信息采集批次', (SELECT menu_id FROM sys_menu WHERE menu_name = '学生信息管理' LIMIT 1), 2, '', '', 1, 0, 'F', '1', '1', 'xg:studentInfo:batchManage', '', 1, NOW(), '学生信息采集批次管理权限');
|
|
|
|
-- 脚本执行完成
|
|
SELECT 'Database redesign completed successfully!' as message; |