ソースを参照

班级量化考核班级人数查询调整

dzx 6 ヶ月 前
コミット
6ba4181983

+ 10 - 4
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentAssessmentInspectionServiceImpl.java

@@ -241,10 +241,13 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
                         .selectAs(XjrUser::getName, CalssQuantitativeAssessmentPageVo::getHeadTeacherName)
                         .selectAs(BaseClass::getId, CalssQuantitativeAssessmentPageVo::getClassId)
                         .selectAs(BaseClass::getName, CalssQuantitativeAssessmentPageVo::getClassName)
-                        .selectAs(BaseClassMajorSet::getTotalStudent, CalssQuantitativeAssessmentPageVo::getStudentNum)
+                        .select("SELECT COUNT(DISTINCT(a1.id)) as student_num FROM xjr_user a1" +
+                                " LEFT JOIN base_student_school_roll a2 ON a1.id = a2.user_id" +
+                                " WHERE a1.delete_mark = 0 AND a2.delete_mark = 0" +
+                                " AND a2.class_id = t1.id" +
+                                " AND a2.archives_status = 'FB2901' ")
                         .selectAs(BaseClass::getIsGraduate, CalssQuantitativeAssessmentPageVo::getClassStatus)
                         .leftJoin(XjrUser.class, XjrUser::getId, BaseClass::getTeacherId)
-                        .leftJoin(BaseClassMajorSet.class, BaseClassMajorSet::getClassId, BaseClass::getId)
                         .eq(dto.getGradeId() != null, BaseClass::getGradeId, dto.getGradeId())
                         .eq(dto.getClassId() != null, BaseClass::getId, dto.getClassId())
                         .eq(dto.getClassStatus() != null, BaseClass::getIsGraduate, dto.getClassStatus())
@@ -447,10 +450,13 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
                 .selectAs(XjrUser::getName, CalssQuantitativeAssessmentPageVo::getHeadTeacherName)
                 .selectAs(BaseClass::getId, CalssQuantitativeAssessmentPageVo::getClassId)
                 .selectAs(BaseClass::getName, CalssQuantitativeAssessmentPageVo::getClassName)
-                .selectAs(BaseClassMajorSet::getTotalStudent, CalssQuantitativeAssessmentPageVo::getStudentNum)
+                .select("SELECT COUNT(DISTINCT(a1.id)) as student_num FROM xjr_user a1" +
+                        " LEFT JOIN base_student_school_roll a2 ON a1.id = a2.user_id" +
+                        " WHERE a1.delete_mark = 0 AND a2.delete_mark = 0" +
+                        " AND a2.class_id = t1.id" +
+                        " AND a2.archives_status = 'FB2901' ")
                 .selectAs(BaseClass::getIsGraduate, CalssQuantitativeAssessmentPageVo::getClassStatus)
                 .leftJoin(XjrUser.class, XjrUser::getId, BaseClass::getTeacherId)
-                .leftJoin(BaseClassMajorSet.class, BaseClassMajorSet::getClassId, BaseClass::getId)
                 .eq(dto.getGradeId() != null, BaseClass::getGradeId, dto.getGradeId())
                 .eq(dto.getClassId() != null, BaseClass::getId, dto.getClassId())
                 .eq(dto.getClassStatus() != null, BaseClass::getIsGraduate, dto.getClassStatus())