wangliang 4 år sedan
förälder
incheckning
2815d0b7d6

+ 2 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TAExamCourseCollegeTeacherMapper.java

@@ -21,11 +21,11 @@ import java.util.List;
  */
 public interface TAExamCourseCollegeTeacherMapper extends BaseMapper<TAExamCourseCollegeTeacher> {
 
-    IPage<TeacherClassRankResult> listClassRank(@Param("page") Page<TeacherClassRankResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("inspectCollegeId") Long inspectCollegeId,@Param("collegeIds") List<Long> collegeIds);
+    IPage<TeacherClassRankResult> listClassRank(@Param("page") Page<TeacherClassRankResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("inspectCollegeId") Long inspectCollegeId, @Param("collegeIds") List<Long> collegeIds);
 
     IPage<TeacherMyClassRankResult> listMyClassRank(@Param("page") Page<TeacherMyClassRankResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("teacherId") Long teacherId, @Param("courseCode") String courseCode, @Param("inspectCollegeId") Long inspectCollegeId);
 
-    IPage<TeacherClassRankResult> listAllTeacherClassRank(@Param("page") Page<TeacherClassRankResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("teachCollegeId") Long teachCollegeId, @Param("courseCode") String courseCode, @Param("teacherId") Long teacherId);
+    IPage<TeacherClassRankResult> listAllTeacherClassRank(@Param("page") Page<TeacherClassRankResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("teachCollegeId") Long teachCollegeId, @Param("courseCode") String courseCode, @Param("teacherId") Long teacherId, @Param("collegeIds") List<Long> collegeIds);
 
     /**
      * 查询老师得分

+ 3 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TAExamTotalMapper.java

@@ -7,6 +7,8 @@ import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.entity.TAExamTotal;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 考试维度总计 Mapper 接口
@@ -19,5 +21,5 @@ public interface TAExamTotalMapper extends BaseMapper<TAExamTotal> {
 
     TAExamTotal getOverview(@Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId);
 
-    IPage<TAExamCourse> getCourseSummary(@Param("page") Page<TAExamCourse> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId);
+    IPage<TAExamCourse> getCourseSummary(@Param("page") Page<TAExamCourse> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("collegeIds") List<Long> collegeIds);
 }

+ 7 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeTeacherServiceImpl.java

@@ -63,8 +63,13 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
     public IPage<TeacherClassRankResult> listAllTeacherClassRank(SemesterEnum semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeacherClassRankResult> page = new Page<>(pageNumber, pageSize);
-        IPage<TeacherClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listAllTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, teachCollegeId, courseCode, teacherId);
-        return listPage;
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
+            return taExamCourseCollegeTeacherMapper.listAllTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, teachCollegeId, courseCode, teacherId, collegeIds);
+        } else {
+            return taExamCourseCollegeTeacherMapper.listAllTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, teachCollegeId, courseCode, teacherId, Arrays.asList(sysUser.getOrgId()));
+        }
     }
 
     /**

+ 12 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamTotalServiceImpl.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ExcelUtil;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -19,6 +21,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
 
@@ -37,7 +40,7 @@ public class TAExamTotalServiceImpl extends ServiceImpl<TAExamTotalMapper, TAExa
     TAExamTotalMapper taExamTotalMapper;
 
     @Resource
-    TAExamTotalService taExamTotalService;
+    SysOrgService sysOrgService;
 
     @Override
     public TAExamTotal getOverview(SemesterEnum semester, Long examId) {
@@ -49,13 +52,18 @@ public class TAExamTotalServiceImpl extends ServiceImpl<TAExamTotalMapper, TAExa
     public IPage<TAExamCourse> getCourseSummary(SemesterEnum semester, Long examId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TAExamCourse> page = new Page<>(pageNumber, pageSize);
-        IPage<TAExamCourse> listPage = taExamTotalMapper.getCourseSummary(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId);
-        return listPage;
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
+            return taExamTotalMapper.getCourseSummary(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, collegeIds);
+        } else {
+            return taExamTotalMapper.getCourseSummary(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, Arrays.asList(sysUser.getOrgId()));
+        }
     }
 
     @Override
     public void exportCourseSummary(SemesterEnum semester, Long examId, HttpServletResponse response) throws Exception {
-        IPage<TAExamCourse> taExamCourseIPage = taExamTotalService.getCourseSummary(semester, examId, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE);
+        IPage<TAExamCourse> taExamCourseIPage = this.getCourseSummary(semester, examId, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE);
         Gson gson = new Gson();
         List<TAExamCourseDto> examStudentCourseDtoList = gson.fromJson(JacksonUtil.parseJson(taExamCourseIPage.getRecords()), new TypeToken<List<TAExamCourseDto>>() {
         }.getType());

+ 6 - 0
teachcloud-report-business/src/main/resources/mapper/TAExamCourseCollegeTeacherMapper.xml

@@ -104,6 +104,12 @@
             <if test="teacherId != null">
                 and a.teacher_id = #{teacherId}
             </if>
+            <if test="collegeIds != null and collegeIds != ''">
+                and a.teach_college_id in
+                <foreach collection="collegeIds" item="collegeId" index="index" open="(" separator="," close=")">
+                    #{collegeId}
+                </foreach>
+            </if>
         </where>
     </select>
 

+ 6 - 0
teachcloud-report-business/src/main/resources/mapper/TAExamTotalMapper.xml

@@ -64,6 +64,12 @@
             <if test="examId != null">
                 and a.exam_id = #{examId}
             </if>
+            <if test="collegeIds != null and collegeIds != ''">
+                and a.teach_college_id in
+                <foreach collection="collegeIds" item="collegeId" index="index" open="(" separator="," close=")">
+                    #{collegeId}
+                </foreach>
+            </if>
         </where>
     </select>
 </mapper>