宿舍一年级代理班级树核对.sql 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. -- =============================================================================
  2. -- 宿舍「分配到班级」一年级代理:上线前只读核对
  3. -- 日期:2026-10-14
  4. -- =============================================================================
  5. -- 1) 代理配置 vs 人文学院 dept_id
  6. SELECT config_key, config_value, remark
  7. FROM sys_config
  8. WHERE config_key = 'xg.studentLeave.freshmanProxyCollegeId';
  9. SELECT dept_id, dept_name, parent_id, dept_category, status, del_flag
  10. FROM sys_dept
  11. WHERE dept_name = '人文学院'
  12. AND del_flag = '0';
  13. -- 2) 当前届一年级班级数量(9 月 1 日切届)
  14. SET @cohort_year = YEAR(CURDATE()) - IF(MONTH(CURDATE()) >= 9, 0, 1);
  15. SELECT @cohort_year AS cohort_year,
  16. COUNT(*) AS freshman_class_cnt
  17. FROM xg_class_msg
  18. WHERE deleted = 0
  19. AND enrollment_year = @cohort_year;
  20. -- 3) 入学年缺失
  21. SELECT id, class_name, grade, enrollment_year, college_id, college_name
  22. FROM xg_class_msg
  23. WHERE deleted = 0
  24. AND enrollment_year IS NULL
  25. LIMIT 200;
  26. -- 4) 学生学院与班级学院漂移(可选治理)
  27. SELECT sm.id,
  28. sm.student_no,
  29. sm.name,
  30. sm.college_id AS stu_college,
  31. c.college_id AS class_college,
  32. c.class_name
  33. FROM xg_student_msg sm
  34. JOIN xg_class_msg c ON sm.class_id = c.id AND c.deleted = 0
  35. WHERE sm.deleted = 0
  36. AND sm.student_status = '1'
  37. AND sm.college_id IS NOT NULL
  38. AND c.college_id IS NOT NULL
  39. AND CAST(sm.college_id AS CHAR) <> CAST(c.college_id AS CHAR)
  40. LIMIT 200;