瀏覽代碼

自动分班接口

dzx 1 年之前
父節點
當前提交
43a4e288ee

+ 2 - 1
src/main/java/com/xjrsoft/module/banding/controller/BandingTaskController.java

@@ -172,7 +172,8 @@ public class BandingTaskController {
     @ApiOperation(value = "自动分班")
     @SaCheckPermission("bandingTaskClass:automatic-banding")
     public RT<Boolean> automaticBanding(@Valid @RequestBody AutomaticBandingTaskDto dto){
-        return RT.ok();
+        Boolean aBoolean = bandingTaskService.automaticBanding(dto);
+        return RT.ok(aBoolean);
     }
 
 }

+ 12 - 1
src/main/resources/mapper/banding/BandingTaskClassMapper.xml

@@ -7,7 +7,18 @@
         SELECT t1.id, t1.major_set_id,t2.name AS major_set_name, t1.name, t1.number,t1.sort_code,t1.is_order_class,
         (SELECT COUNT(*) FROM base_new_student WHERE delete_mark = 0 AND first_ambition_id = t1.major_set_id) AS first_ambition_count,
         (SELECT COUNT(*) FROM base_new_student WHERE delete_mark = 0 AND second_ambition_id = t1.major_set_id) AS second_ambition_count,
-        t1.height, t1.score, 0 as satisfy_count, 0 as surplus_count, t3.name as teacher_name,t3.id as teacher_id, t4.name as classroom_name,t4.id as classroom_id FROM banding_task_class t1
+        t1.height, t1.score, (
+            SELECT count(t1.id) FROM base_new_student t1
+            INNER JOIN banding_task_class_student t5 ON t1.id = t5.new_student_id
+            WHERE t1.delete_mark = 0 AND t5.delete_mark = 0 AND t5.banding_task_class_id = t1.id
+        ) as satisfy_count, (
+            SELECT count(t1.id) FROM base_new_student t1
+            WHERE t1.delete_mark = 0
+            AND (t1.first_ambition_id = t1.major_set_id or t1.second_ambition_id = t1.major_set_id
+            and t1.id not in (select new_student_id from banding_task_class_student
+            where delete_mark = 0 and banding_task_class_id = t1.id
+            )
+        ) as surplus_count, t3.name as teacher_name,t3.id as teacher_id, t4.name as classroom_name,t4.id as classroom_id FROM banding_task_class t1
         LEFT JOIN base_major_set t2 ON t1.major_set_id = t2.id
         LEFT JOIN xjr_user t3 ON t1.teacher_id = t3.id
         LEFT JOIN base_classroom t4 ON t1.classroom_id = t4.id