This commit is contained in:
zlwu committed 2025-12-25 18:01:27 +08:00
1 parent fb6d0aa63c
commit ff1228873c
37 files changed
+11861 -1823

No files matched your search

@@ -9,54 +9,102 @@
### 休学处理快速脚本
```sql
-- 休学处理:保留账号,暂停业务
-- 休学处理:禁用账号,暂停组织关系
SET @student_id = 123456789;
SET @student_no = '20240001';
SET @operator_id = 1;
-- 备份原始数据
INSERT INTO xg_student_msg_his SELECT * FROM xg_student_msg WHERE id = @student_id;
INSERT INTO sys_user_his SELECT * FROM sys_user WHERE user_id = @student_id;
INSERT INTO xg_class_pos_msg_his SELECT * FROM xg_class_pos_msg WHERE student_id = @student_id;
INSERT INTO stgl_member_his SELECT * FROM stgl_member WHERE user_id = @student_id;
-- 更新核心状态
UPDATE xg_student_msg SET student_status = '2', update_by = @operator_id, update_time = NOW() WHERE id = @student_id;
UPDATE sys_user SET status = '1' WHERE user_id = @student_id AND account_type = '2';
-- 处理组织关系
UPDATE xg_class_pos_msg SET is_current = 0, cadre_status = '6', dismissal_date = CURDATE(), dismissal_reason = '学生休学' WHERE student_id = @student_id AND is_current = 1;
UPDATE club_member SET member_status = '4' WHERE user_id = @student_id AND member_status IN ('0', '1', '2');
UPDATE jcbt_scholarship_application SET current_status = 'WITHDRAWN' WHERE student_id = @student_id AND current_status IN ('PENDING', 'APPROVED');
UPDATE jcbt_work_study_application SET status = 'CANCELLED' WHERE student_id = @student_id AND status NOT IN ('CANCELLED', 'COLLEGE_REJECTED', 'FINAL_REJECTED');
UPDATE xljk_consultation_appointment SET status = '2' WHERE student_id = @student_id AND status = '0' AND appointment_date >= CURDATE();
UPDATE stgl_activity_registration SET approval_status = 2 WHERE student_no = @student_no AND approval_status = 1;
UPDATE zsjy_internship_info SET internship_status = '3', actual_end_date = CURDATE() WHERE student_id = @student_id AND internship_status = '1';
UPDATE stgl_member SET status = 4 WHERE user_id = @student_id AND status IN (0, 1, 2);
```
### 退学处理快速脚本
```sql
-- 退学处理:禁用账号,终止所有业务
-- 退学处理:禁用账号,终止组织关系和住宿
SET @student_id = 123456789;
SET @student_no = '20240001';
SET @operator_id = 1;
-- 备份原始数据
INSERT INTO xg_student_msg_his SELECT * FROM xg_student_msg WHERE id = @student_id;
INSERT INTO sys_user_his SELECT * FROM sys_user WHERE user_id = @student_id;
INSERT INTO xg_class_pos_msg_his SELECT * FROM xg_class_pos_msg WHERE student_id = @student_id;
INSERT INTO stgl_member_his SELECT * FROM stgl_member WHERE user_id = @student_id;
INSERT INTO xg_dorm_bed_student_his SELECT * FROM xg_dorm_bed_student WHERE student_id = @student_id;
-- 更新核心状态
UPDATE xg_student_msg SET student_status = '4', update_by = @operator_id, update_time = NOW() WHERE id = @student_id;
UPDATE sys_user SET status = '1' WHERE user_name = @student_no AND account_type = '2';
UPDATE xg_class_pos_msg SET is_current = 0, cadre_status = '4', dismissal_date = CURDATE() WHERE student_id = @student_id AND is_current = 1;
UPDATE sys_user SET status = '1' WHERE user_id = @student_id AND account_type = '2';
-- 处理组织关系
UPDATE xg_class_pos_msg SET is_current = 0, cadre_status = '4', dismissal_date = CURDATE(), dismissal_reason = '学生退学' WHERE student_id = @student_id AND is_current = 1;
UPDATE club_member SET member_status = '4' WHERE user_id = @student_id AND member_status IN ('0', '1', '2');
UPDATE jcbt_scholarship_application SET current_status = 'WITHDRAWN' WHERE student_id = @student_id AND current_status IN ('PENDING', 'APPROVED');
UPDATE jcbt_work_study_application SET status = 'CANCELLED' WHERE student_id = @student_id AND status NOT IN ('CANCELLED', 'COLLEGE_REJECTED', 'FINAL_REJECTED');
UPDATE stgl_member SET status = 4 WHERE user_id = @student_id AND status IN (0, 1, 2);
-- 处理住宿关系
UPDATE xg_student_msg SET dormitory_building = NULL, dormitory_room = NULL, ext_field1 = NULL, update_time = NOW(), update_by = @operator_id WHERE id = @student_id;
UPDATE xg_dorm_bed_student SET status = '1', checkout_time = NOW() WHERE student_id = @student_id AND status = '0';
UPDATE xljk_consultation_appointment SET status = '2' WHERE student_id = @student_id AND status = '0' AND appointment_date >= CURDATE();
UPDATE stgl_activity_registration SET approval_status = 2 WHERE student_no = @student_no AND approval_status = 1;
UPDATE zsjy_internship_info SET internship_status = '3', actual_end_date = CURDATE() WHERE student_id = @student_id AND internship_status = '1';
UPDATE xg_dorm_bed SET bed_status = '0' WHERE id IN (SELECT bed_id FROM xg_dorm_bed_student WHERE student_id = @student_id AND status = '1');
```
### 毕业处理快速脚本
```sql
-- 毕业处理:归档所有业务
-- 毕业处理:禁用账号,终止组织关系和住宿
SET @student_id = 123456789;
SET @student_no = '20240001';
SET @operator_id = 1;
-- 备份原始数据
INSERT INTO xg_student_msg_his SELECT * FROM xg_student_msg WHERE id = @student_id;
INSERT INTO sys_user_his SELECT * FROM sys_user WHERE user_id = @student_id;
INSERT INTO xg_class_pos_msg_his SELECT * FROM xg_class_pos_msg WHERE student_id = @student_id;
INSERT INTO stgl_member_his SELECT * FROM stgl_member WHERE user_id = @student_id;
INSERT INTO xg_dorm_bed_student_his SELECT * FROM xg_dorm_bed_student WHERE student_id = @student_id;
-- 更新核心状态
UPDATE xg_student_msg SET student_status = '5', update_by = @operator_id, update_time = NOW() WHERE id = @student_id;
UPDATE sys_user SET status = '1' WHERE user_name = @student_no AND account_type = '2';
UPDATE xg_class_pos_msg SET is_current = 0, cadre_status = '4', dismissal_date = CURDATE() WHERE student_id = @student_id AND is_current = 1;
UPDATE sys_user SET status = '1' WHERE user_id = @student_id AND account_type = '2';
-- 处理组织关系
UPDATE xg_class_pos_msg SET is_current = 0, cadre_status = '4', dismissal_date = CURDATE(), dismissal_reason = '学生毕业' WHERE student_id = @student_id AND is_current = 1;
UPDATE club_member SET member_status = '4' WHERE user_id = @student_id AND member_status IN ('0', '1', '2');
UPDATE stgl_member SET status = 4 WHERE user_id = @student_id AND status IN (0, 1, 2);
-- 处理住宿关系
UPDATE xg_student_msg SET dormitory_building = NULL, dormitory_room = NULL, ext_field1 = NULL, update_time = NOW(), update_by = @operator_id WHERE id = @student_id;
UPDATE xg_dorm_bed_student SET status = '1', checkout_time = NOW() WHERE student_id = @student_id AND status = '0';
UPDATE xg_dorm_bed SET bed_status = '0' WHERE id IN (SELECT bed_id FROM xg_dorm_bed_student WHERE student_id = @student_id AND status = '1');
```
### 复学处理快速脚本
```sql
-- 复学处理:启用账号,恢复学籍状态
SET @student_id = 123456789;
SET @student_no = '20240001';
SET @operator_id = 1;
-- 备份原始数据
INSERT INTO xg_student_msg_his SELECT * FROM xg_student_msg WHERE id = @student_id;
INSERT INTO sys_user_his SELECT * FROM sys_user WHERE user_id = @student_id;
-- 更新核心状态
UPDATE xg_student_msg SET student_status = '3', update_by = @operator_id, update_time = NOW() WHERE id = @student_id;
UPDATE sys_user SET status = '0' WHERE user_id = @student_id AND account_type = '2';
```
## 🔧 批量处理脚本
@@ -77,6 +125,12 @@ CREATE TEMPORARY TABLE student_leave_batch (
-- 插入待处理的學生信息
-- INSERT INTO student_leave_batch (student_id, student_no) VALUES (123, '20240001'), (456, '20240002');
-- 批量备份原始数据
INSERT INTO xg_student_msg_his SELECT * FROM xg_student_msg WHERE id IN (SELECT student_id FROM student_leave_batch);
INSERT INTO sys_user_his SELECT * FROM sys_user WHERE user_id IN (SELECT student_id FROM student_leave_batch);
INSERT INTO xg_class_pos_msg_his SELECT * FROM xg_class_pos_msg WHERE student_id IN (SELECT student_id FROM student_leave_batch);
INSERT INTO stgl_member_his SELECT * FROM stgl_member WHERE user_id IN (SELECT student_id FROM student_leave_batch);
-- 批量更新学生状态
UPDATE xg_student_msg
SET student_status = '2',
@@ -85,6 +139,15 @@ SET student_status = '2',
WHERE id IN (SELECT student_id FROM student_leave_batch)
AND deleted = 0;
-- 批量禁用用户账号
UPDATE sys_user
SET status = '1',
update_by = 1,
update_time = NOW()
WHERE user_id IN (SELECT student_id FROM student_leave_batch)
AND account_type = '2'
AND del_flag = '0';
-- 批量处理班级干部
UPDATE xg_class_pos_msg
SET is_current = 0,
@@ -106,6 +169,15 @@ WHERE user_id IN (SELECT student_id FROM student_leave_batch)
AND member_status IN ('0', '1', '2')
AND deleted = 0;
-- 批量处理志愿者成员
UPDATE stgl_member
SET status = 4,
update_by = 1,
update_time = NOW()
WHERE user_id IN (SELECT student_id FROM student_leave_batch)
AND status IN (0, 1, 2)
AND deleted = 0;
-- 批量处理奖学金申请
UPDATE jcbt_scholarship_application
SET current_status = 'WITHDRAWN',