-- 招生录取流程数据修复脚本 -- 创建时间: 2025-07-20 -- 功能说明: 修复录取流程表与报名信息表不一致的问题,以及缺失字段数据 -- 1. 为缺少流程记录的报名信息创建流程记录 INSERT INTO zsjy_enrollment_process ( id, tenant_id, create_by, create_time, update_by, update_time, deleted, enrollment_id, student_name, id_card, current_status, current_handler, current_handler_name, info_audit_status, admission_status, final_audit_status, payment_status, is_completed ) SELECT FLOOR(RAND() * 9000000000000000000) + 1000000000000000000 as id, -- 生成一个随机的雪花ID a.tenant_id, 1, NOW(), NULL, NULL, 0, a.id, a.name, a.id_card, '0', 9001, '张老师', '0', '0', '0', '0', 0 FROM zsjy_enrollment_info a WHERE NOT EXISTS ( SELECT 1 FROM zsjy_enrollment_process b WHERE a.id = b.enrollment_id ); -- 2. 更新所有流程记录中空的处理人字段 UPDATE zsjy_enrollment_process SET info_audit_user = CASE WHEN info_audit_status = '1' THEN current_handler ELSE NULL END, info_audit_user_name = CASE WHEN info_audit_status = '1' THEN current_handler_name ELSE NULL END, admission_user = CASE WHEN admission_status = '1' THEN current_handler ELSE NULL END, admission_user_name = CASE WHEN admission_status = '1' THEN current_handler_name ELSE NULL END, final_audit_user = CASE WHEN final_audit_status = '1' THEN current_handler ELSE NULL END, final_audit_user_name = CASE WHEN final_audit_status = '1' THEN current_handler_name ELSE NULL END WHERE info_audit_user IS NULL OR admission_user IS NULL OR final_audit_user IS NULL; -- 3. 确保报名信息表和流程表的状态一致 -- 将报名信息表中的状态更新为流程表中的状态 UPDATE zsjy_enrollment_info a JOIN zsjy_enrollment_process b ON a.id = b.enrollment_id SET a.enrollment_status = b.current_status WHERE a.enrollment_status != b.current_status; -- 4. 查看修复结果 SELECT (SELECT COUNT(*) FROM zsjy_enrollment_info) AS total_enrollment_info, (SELECT COUNT(*) FROM zsjy_enrollment_process) AS total_enrollment_process, (SELECT COUNT(*) FROM zsjy_enrollment_info a WHERE NOT EXISTS (SELECT 1 FROM zsjy_enrollment_process b WHERE a.id = b.enrollment_id)) AS missing_process;