瀏覽代碼

Merge branch 'dev_v2.1.0' into release_v2.1.0
merge

wangliang 4 年之前
父節點
當前提交
6ce59bc7d0
共有 15 個文件被更改,包括 135 次插入57 次删除
  1. 11 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysOrgService.java
  2. 20 4
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java
  3. 36 16
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TeachCollegeResult.java
  4. 2 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TAExamCourseCollegeTeacherMapper.java
  5. 3 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TAExamTotalMapper.java
  6. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseCollegeTeacherService.java
  7. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/ReportCommonServiceImpl.java
  8. 19 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeTeacherServiceImpl.java
  9. 4 8
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java
  10. 12 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamTotalServiceImpl.java
  11. 2 6
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamCourseServiceImpl.java
  12. 16 3
      teachcloud-report-business/src/main/resources/mapper/TAExamCourseCollegeTeacherMapper.xml
  13. 6 0
      teachcloud-report-business/src/main/resources/mapper/TAExamTotalMapper.xml
  14. 0 3
      teachcloud-report-business/src/main/resources/mapper/TBExamStudentMapper.xml
  15. 2 2
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/DataDriveController.java

+ 11 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysOrgService.java

@@ -22,10 +22,19 @@ public interface SysOrgService extends IService<SysOrg> {
 
     /**
      * 根据外键查找学院信息
-     * @param schoolId 学校id
+     *
+     * @param schoolId    学校id
      * @param collegeCode 学院编号
      * @param collegeName 学院名称
      * @return 学院数据
      */
-    SysOrg findByForeignKey(Long schoolId,String collegeCode,String collegeName);
+    SysOrg findByForeignKey(Long schoolId, String collegeCode, String collegeName);
+
+    /**
+     * 查询机构ids
+     *
+     * @param orgId
+     * @return
+     */
+    List<Long> findCollegeIds(Long orgId);
 }

+ 20 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -100,12 +101,27 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     @Override
     public SysOrg findByForeignKey(Long schoolId, String collegeCode, String collegeName) {
         List<SysOrg> tbSchoolCollegeList = this.list(new QueryWrapper<SysOrg>().lambda()
-                .eq(SysOrg::getSchoolId,schoolId)
-                .eq(SysOrg::getCode,collegeCode)
-                .eq(SysOrg::getName,collegeName));
-        if (tbSchoolCollegeList.size() != 1){
+                .eq(SysOrg::getSchoolId, schoolId)
+                .eq(SysOrg::getCode, collegeCode)
+                .eq(SysOrg::getName, collegeName));
+        if (tbSchoolCollegeList.size() != 1) {
             throw ExceptionResultEnum.ERROR.exception("学院基础数据信息异常");
         }
         return tbSchoolCollegeList.get(0);
     }
+
+    /**
+     * 查询机构ids
+     *
+     * @param orgId
+     * @return
+     */
+    @Override
+    public List<Long> findCollegeIds(Long orgId) {
+        QueryWrapper<SysOrg> sysOrgQueryWrapper = new QueryWrapper<>();
+        sysOrgQueryWrapper.lambda().eq(SysOrg::getParentId, orgId)
+                .eq(SysOrg::getEnable, true);
+        List<SysOrg> sysOrgList = this.list(sysOrgQueryWrapper);
+        return Objects.nonNull(sysOrgList) ? sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()) : null;
+    }
 }

+ 36 - 16
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TeachCollegeResult.java

@@ -1,6 +1,10 @@
 package com.qmth.teachcloud.report.business.bean.result;
 
 import com.qmth.teachcloud.common.annotation.ExcelProperty;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+
+import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Date: 2021/6/8.
@@ -25,13 +29,13 @@ public class TeachCollegeResult {
     @ExcelProperty(name = "考试类型", width = 30, index = 8)
     private String currentStr;
     @ExcelProperty(name = "客观总分", width = 30, index = 9)
-    private String objectiveScore;
+    private BigDecimal objectiveScore;
     @ExcelProperty(name = "主观总分", width = 30, index = 10)
-    private String subjectiveScore;
+    private BigDecimal subjectiveScore;
     @ExcelProperty(name = "卷面总分", width = 30, index = 11)
-    private Integer totalScore;
+    private BigDecimal totalScore;
     @ExcelProperty(name = "赋分总分", width = 30, index = 12)
-    private Integer assignedScore;
+    private BigDecimal assignedScore;
     private String clazzCode;
     @ExcelProperty(name = "班级", width = 30, index = 13)
     private String clazzName;
@@ -106,35 +110,51 @@ public class TeachCollegeResult {
         this.current = current;
     }
 
-    public String getObjectiveScore() {
-        return objectiveScore;
+    public BigDecimal getObjectiveScore() {
+        if (Objects.nonNull(objectiveScore)) {
+            return objectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return objectiveScore;
+        }
     }
 
-    public void setObjectiveScore(String objectiveScore) {
+    public void setObjectiveScore(BigDecimal objectiveScore) {
         this.objectiveScore = objectiveScore;
     }
 
-    public String getSubjectiveScore() {
-        return subjectiveScore;
+    public BigDecimal getSubjectiveScore() {
+        if (Objects.nonNull(subjectiveScore)) {
+            return subjectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return subjectiveScore;
+        }
     }
 
-    public void setSubjectiveScore(String subjectiveScore) {
+    public void setSubjectiveScore(BigDecimal subjectiveScore) {
         this.subjectiveScore = subjectiveScore;
     }
 
-    public Integer getTotalScore() {
-        return totalScore;
+    public BigDecimal getTotalScore() {
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
-    public void setTotalScore(Integer totalScore) {
+    public void setTotalScore(BigDecimal totalScore) {
         this.totalScore = totalScore;
     }
 
-    public Integer getAssignedScore() {
-        return assignedScore;
+    public BigDecimal getAssignedScore() {
+        if (Objects.nonNull(assignedScore)) {
+            return assignedScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return assignedScore;
+        }
     }
 
-    public void setAssignedScore(Integer assignedScore) {
+    public void setAssignedScore(BigDecimal assignedScore) {
         this.assignedScore = assignedScore;
     }
 

+ 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);
+    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("inspectCollegeId") Long inspectCollegeId, @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);
 }

+ 1 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseCollegeTeacherService.java

@@ -24,7 +24,7 @@ public interface TAExamCourseCollegeTeacherService extends IService<TAExamCourse
 
     IPage<TeacherMyClassRankResult> listMyClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize);
 
-    IPage<TeacherClassRankResult> listAllTeacherClassRank(SemesterEnum semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize);
+    IPage<TeacherClassRankResult> listAllTeacherClassRank(SemesterEnum semester, Long examId, Long inspectCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize);
 
     /**
      * 查询老师得分

+ 1 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/ReportCommonServiceImpl.java

@@ -493,6 +493,6 @@ public class ReportCommonServiceImpl implements ReportCommonService {
         }
         TAExamCourse taExamCourse = taExamCourseService.getOne(taExamCourseQueryWrapper);
         BigDecimal bigDecimal = new BigDecimal(1);
-        return new SurveyTeacherExamCourseResult(taExamCourse.getAvgScore(), bigDecimal.subtract(taExamCourse.getPassRate()), taExamCourse.getPaperCurrentAvgScore(), bigDecimal.subtract(taExamCourse.getPaperPassRate()));
+        return new SurveyTeacherExamCourseResult(taExamCourse.getAvgScore(), bigDecimal.subtract(taExamCourse.getPassRate()).multiply(new BigDecimal("100")), taExamCourse.getPaperCurrentAvgScore(), bigDecimal.subtract(taExamCourse.getPaperPassRate()).multiply(new BigDecimal("100")));
     }
 }

+ 19 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeTeacherServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.report.business.bean.result.TAExamCourseTeacherResult;
 import com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult;
@@ -15,6 +16,7 @@ import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeTeacherSer
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
 
@@ -32,12 +34,20 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
     @Resource
     private TAExamCourseCollegeTeacherMapper taExamCourseCollegeTeacherMapper;
 
+    @Resource
+    SysOrgService sysOrgService;
+
     @Override
     public IPage<TeacherClassRankResult> listClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeacherClassRankResult> page = new Page<>(pageNumber, pageSize);
-        IPage<TeacherClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, inspectCollegeId);
-        return listPage;
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
+            return taExamCourseCollegeTeacherMapper.listClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, inspectCollegeId, collegeIds);
+        } else {
+            return taExamCourseCollegeTeacherMapper.listClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, inspectCollegeId, Arrays.asList(sysUser.getOrgId()));
+        }
     }
 
     @Override
@@ -53,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()));
+        }
     }
 
     /**

+ 4 - 8
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java

@@ -96,12 +96,8 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
     @Override
     public IPage<TAExamCourseResult> surveyAspointsList(IPage<Map> iPage, Long schoolId, Long examId, String courseCode, PublishStatusEnum publishStatus, SemesterEnum semester) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        QueryWrapper<SysOrg> sysOrgQueryWrapper = new QueryWrapper<>();
-        sysOrgQueryWrapper.lambda().eq(SysOrg::getParentId, sysUser.getOrgId())
-                .eq(SysOrg::getEnable, true);
-        List<SysOrg> sysOrgList = sysOrgService.list(sysOrgQueryWrapper);
-        if (Objects.nonNull(sysOrgList) && sysOrgList.size() > 0) {
-            List<Long> collegeIds = sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList());
+        List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
             return taExamCourseMapper.surveyAspointsList(iPage, schoolId, examId, courseCode, Objects.nonNull(publishStatus) ? publishStatus.name() : null, Objects.nonNull(semester) ? semester.name() : null, collegeIds);
         } else {
             return taExamCourseMapper.surveyAspointsList(iPage, schoolId, examId, courseCode, Objects.nonNull(publishStatus) ? publishStatus.name() : null, Objects.nonNull(semester) ? semester.name() : null, Arrays.asList(sysUser.getOrgId()));
@@ -124,8 +120,8 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
             objectMap.put("scores", String.join(",", s.getDescribe()));
             objectMap.put("totalRate", s.getAllCountRateAfter());
             objectMap.put("totalRealityCount", s.getAllCountBefore());
-            objectMap.put("currentRealityCount", s.getCurrentCountRateAfter());
-            objectMap.put("currentRate", s.getCurrentCountAfter());
+            objectMap.put("currentRealityCount", s.getCurrentCountAfter());
+            objectMap.put("currentRate", s.getCurrentCountRateAfter());
             mapList.add(objectMap);
         }
         map.put("grades", mapList);

+ 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());

+ 2 - 6
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamCourseServiceImpl.java

@@ -108,12 +108,8 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
     @Override
     public List<TBExamCourseResult> findCourseList(Long schoolId, Long examId, boolean inspect) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        QueryWrapper<SysOrg> sysOrgQueryWrapper = new QueryWrapper<>();
-        sysOrgQueryWrapper.lambda().eq(SysOrg::getParentId, sysUser.getOrgId())
-                .eq(SysOrg::getEnable, true);
-        List<SysOrg> sysOrgList = sysOrgService.list(sysOrgQueryWrapper);
-        if (Objects.nonNull(sysOrgList) && sysOrgList.size() > 0) {
-            List<Long> collegeIds = sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList());
+        List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
             return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, collegeIds);
         } else {
             return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, Arrays.asList(sysUser.getOrgId()));

+ 16 - 3
teachcloud-report-business/src/main/resources/mapper/TAExamCourseCollegeTeacherMapper.xml

@@ -31,6 +31,12 @@
             <if test="inspectCollegeId != null">
                 and a.inspect_college_id = #{inspectCollegeId}
             </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>
 
@@ -42,7 +48,7 @@
             a.course_code courseCode,
             a.course_name courseName,
             a.teach_college_name teachCollegeName,
-            round(a.avg_score, 1) avgScore,
+            round(a.avg_score_assign, 1) avgScore,
             a.teacher_count teacherCount,
             a.teacher_rank `rank`
         FROM
@@ -89,8 +95,8 @@
             <if test="examId != null">
                 and a.exam_id = #{examId}
             </if>
-            <if test="teachCollegeId != null">
-                and a.inspect_college_id = #{teachCollegeId}
+            <if test="inspectCollegeId != null">
+                and a.inspect_college_id = #{inspectCollegeId}
             </if>
             <if test="courseCode != null and courseCode != ''">
                 and a.course_code = #{courseCode}
@@ -98,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>
 
@@ -146,6 +158,7 @@
             </if>
         </where>
     </select>
+
     <select id="listTeacherClassRank"
             resultType="com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult">
         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>

+ 0 - 3
teachcloud-report-business/src/main/resources/mapper/TBExamStudentMapper.xml

@@ -127,9 +127,6 @@
             <if test="inspectCollegeId != null">
                 and a.inspect_college_id = #{inspectCollegeId}
             </if>
-            <if test="teachCollegeId != null">
-                and a.teach_college_id = #{teachCollegeId}
-            </if>
             <if test="teacherId != null">
                 and a.teacher_id = #{teacherId}
             </if>

+ 2 - 2
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/DataDriveController.java

@@ -105,11 +105,11 @@ public class DataDriveController {
     @ApiResponses({@ApiResponse(code = 200, message = "全校课程考试分析-教师各课堂成绩排名", response = TAExamCourseTeacher.class)})
     public Result listAllTeacherClassRank(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                           @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
-                                          @ApiParam(value = "开课学院ID", required = true) @RequestParam(required = false) Long teachCollegeId,
+                                          @ApiParam(value = "考查学院ID", required = true) @RequestParam(required = false) Long inspectCollegeId,
                                           @ApiParam(value = "课程代码", required = true) @RequestParam(required = false) String courseCode,
                                           @ApiParam(value = "教师ID", required = true) @RequestParam(required = false) Long teacherId,
                                           @ApiParam(value = "分页页码", required = true) @RequestParam Integer pageNumber,
                                           @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize) {
-        return ResultUtil.ok(taExamCourseCollegeTeacherService.listAllTeacherClassRank(semester, examId, teachCollegeId, courseCode, teacherId, pageNumber, pageSize));
+        return ResultUtil.ok(taExamCourseCollegeTeacherService.listAllTeacherClassRank(semester, examId, inspectCollegeId, courseCode, teacherId, pageNumber, pageSize));
     }
 }