Przeglądaj źródła

学生分班查询增加字段

dzx 7 miesięcy temu
rodzic
commit
e5e747b4e6

+ 12 - 0
src/main/java/com/xjrsoft/module/banding/vo/BandingTaskClassSureListVo.java

@@ -51,5 +51,17 @@ public class BandingTaskClassSureListVo {
     @ApiModelProperty("走读人数")
     private Integer notStayCount;
 
+    @ApiModelProperty("男生住校人数")
+    private Integer maleStayCount;
+
+    @ApiModelProperty("男生走读人数")
+    private Integer maleNotStayCount;
+
+    @ApiModelProperty("女生住校人数")
+    private Integer femaleStayCount;
+
+    @ApiModelProperty("女生走读人数")
+    private Integer femaleNotStayCount;
+
 
 }

+ 18 - 6
src/main/resources/mapper/banding/BandingTaskClassMapper.xml

@@ -54,20 +54,32 @@
         SELECT t1.id, t1.major_set_id,t2.name AS major_set_name, t1.name,t1.sort_code,
         (SELECT COUNT(*) FROM base_new_student a1
         INNER JOIN banding_task_class_student a2 ON a1.id = a2.new_student_id
-        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id and a1.is_can_banding = 1) AS number,
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id AND a1.is_can_banding = 1) AS NUMBER,
         (SELECT COUNT(*) FROM base_new_student a1
         INNER JOIN banding_task_class_student a2 ON a1.id = a2.new_student_id
-        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id and a1.is_can_banding = 1 AND a1.gender = 'SB10001') AS male_count,
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id AND a1.is_can_banding = 1 AND a1.gender = 'SB10001') AS male_count,
         (SELECT COUNT(*) FROM base_new_student a1
         INNER JOIN banding_task_class_student a2 ON a1.id = a2.new_student_id
-        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id and a1.is_can_banding = 1 AND a1.gender = 'SB10002') AS female_count,
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id AND a1.is_can_banding = 1 AND a1.gender = 'SB10002') AS female_count,
         (SELECT COUNT(*) FROM base_new_student a1
         INNER JOIN banding_task_class_student a2 ON a1.id = a2.new_student_id
-        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id and a1.is_can_banding = 1 AND a1.stduy_status = 'FB3001') AS not_stay_count,
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id AND a1.is_can_banding = 1 AND a1.stduy_status = 'FB3001') AS not_stay_count,
         (SELECT COUNT(*) FROM base_new_student a1
         INNER JOIN banding_task_class_student a2 ON a1.id = a2.new_student_id
-        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id and a1.is_can_banding = 1 AND a1.stduy_status = 'FB3002') AS stay_count,
-        t3.name AS teacher_name,t4.name as classroom_name, t1.is_order_class FROM banding_task_class t1
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id AND a1.is_can_banding = 1 AND a1.stduy_status = 'FB3002') AS stay_count,
+        (SELECT COUNT(*) FROM base_new_student a1
+        INNER JOIN banding_task_class_student a2 ON a1.id = a2.new_student_id
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id AND a1.is_can_banding = 1 AND a1.stduy_status = 'FB3001' AND a1.gender = 'SB10001') AS male_not_stay_count,
+        (SELECT COUNT(*) FROM base_new_student a1
+        INNER JOIN banding_task_class_student a2 ON a1.id = a2.new_student_id
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id AND a1.is_can_banding = 1 AND a1.stduy_status = 'FB3002' AND a1.gender = 'SB10001') AS male_stay_count,
+        (SELECT COUNT(*) FROM base_new_student a1
+        INNER JOIN banding_task_class_student a2 ON a1.id = a2.new_student_id
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id AND a1.is_can_banding = 1 AND a1.stduy_status = 'FB3001' AND a1.gender = 'SB10002') AS female_not_stay_count,
+        (SELECT COUNT(*) FROM base_new_student a1
+        INNER JOIN banding_task_class_student a2 ON a1.id = a2.new_student_id
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_class_id = t1.id AND a1.is_can_banding = 1 AND a1.stduy_status = 'FB3002' AND a1.gender = 'SB10002') AS female_stay_count,
+        t3.name AS teacher_name,t4.name AS classroom_name, t1.is_order_class 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