Jelajahi Sumber

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

wangliang 4 tahun lalu
induk
melakukan
775352a734
17 mengubah file dengan 222 tambahan dan 171 penghapusan
  1. 0 16
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java
  2. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TAExamCourseCollegeTeacherMapper.java
  3. 2 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TAExamTotalMapper.java
  4. 5 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TBExamStudentMapper.java
  5. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseCollegeTeacherService.java
  6. 3 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamTotalService.java
  7. 13 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TBExamStudentService.java
  8. 19 17
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/ReportCommonServiceImpl.java
  9. 4 5
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeTeacherServiceImpl.java
  10. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java
  11. 6 5
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamTotalServiceImpl.java
  12. 33 9
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamStudentServiceImpl.java
  13. 18 15
      teachcloud-report-business/src/main/resources/mapper/TAExamCourseCollegeTeacherMapper.xml
  14. 28 24
      teachcloud-report-business/src/main/resources/mapper/TAExamTotalMapper.xml
  15. 60 53
      teachcloud-report-business/src/main/resources/mapper/TBExamStudentMapper.xml
  16. 11 5
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/DataDriveController.java
  17. 17 8
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamStudentController.java

+ 0 - 16
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -242,20 +242,4 @@ public class SystemConstant {
             throw ExceptionResultEnum.ERROR.exception("[" + name + ":" + str + "]' 超过长度限制 : " + length);
         }
     }
-
-    /**
-     * 获取排序列名
-     *
-     * @param column
-     * @return
-     */
-    public static String getOrderColumn(String column) {
-        if (Objects.nonNull(column) && Objects.equals(column, "inspectCollegeName")) {
-            return "inspect_college_name";
-        } else if (Objects.nonNull(column) && Objects.equals(column, "teacherName")) {
-            return "teacher_name";
-        } else {
-            return null;
-        }
-    }
 }

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

@@ -26,7 +26,7 @@ public interface TAExamCourseCollegeTeacherMapper extends BaseMapper<TAExamCours
 
     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("inspectCollegeId") Long inspectCollegeId, @Param("courseCode") String courseCode, @Param("teacherId") Long teacherId, @Param("collegeIds") List<Long> collegeIds);
+    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, @Param("column") String column, @Param("order") String order);
 
     /**
      * 查询老师得分

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

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.entity.TAExamTotal;
+import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -21,5 +22,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, @Param("collegeIds") List<Long> collegeIds);
+    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, @Param("column") String column, @Param("order") String order);
 }

+ 5 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TBExamStudentMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.teachcloud.report.business.bean.result.*;
 import com.qmth.teachcloud.report.business.entity.TBExamStudent;
+import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -76,9 +77,9 @@ public interface TBExamStudentMapper extends BaseMapper<TBExamStudent> {
      * @param collegeIds
      * @return
      */
-    IPage<TeachCollegeResult> listTeachCollegeResult(@Param("page") Page<TeachCollegeResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("inspectCollegeId") Long inspectCollegeId, @Param("teachCollegeId") Long teachCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam, @Param("collegeIds") List<Long> collegeIds);
+    IPage<TeachCollegeResult> listTeachCollegeResult(@Param("page") Page<TeachCollegeResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("inspectCollegeId") Long inspectCollegeId, @Param("teachCollegeId") Long teachCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam, @Param("collegeIds") List<Long> collegeIds, @Param("column") String column, @Param("order") String order);
 
-    List<TeachCollegeResult> listTeachCollegeResult(@Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("inspectCollegeId") Long inspectCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam);
+    List<TeachCollegeResult> listTeachCollegeResult(@Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("inspectCollegeId") Long inspectCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam, @Param("column") String column, @Param("order") String order);
 
     /**
      * 考查成绩查询
@@ -94,9 +95,9 @@ public interface TBExamStudentMapper extends BaseMapper<TBExamStudent> {
      * @param studentParam
      * @return
      */
-    IPage<InspectCollegeResult> listInspectCollegeResult(@Param("page") Page<InspectCollegeResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("teachCollegeId") Long teachCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam);
+    IPage<InspectCollegeResult> listInspectCollegeResult(@Param("page") Page<InspectCollegeResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("teachCollegeId") Long teachCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam, @Param("column") String column, @Param("order") String order);
 
-    List<InspectCollegeResult> listInspectCollegeResult(@Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("teachCollegeId") Long teachCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam);
+    List<InspectCollegeResult> listInspectCollegeResult(@Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("teachCollegeId") Long teachCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam, @Param("column") String column, @Param("order") String order);
 
     /**
      * 学生报告预览-列表接口

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

@@ -25,7 +25,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 inspectCollegeId, 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, String column, OrderEnum order);
 
     /**
      * 查询老师得分

+ 3 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamTotalService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.entity.TAExamTotal;
+import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 
 import javax.servlet.http.HttpServletResponse;
@@ -20,9 +21,9 @@ public interface TAExamTotalService extends IService<TAExamTotal> {
 
     TAExamTotal getOverview(SemesterEnum semester, Long examId);
 
-    IPage<TAExamCourse> getCourseSummary(SemesterEnum semester, Long examId, Integer pageNumber, Integer pageSize);
+    IPage<TAExamCourse> getCourseSummary(SemesterEnum semester, Long examId, Integer pageNumber, Integer pageSize, String column, OrderEnum order);
 
-    void exportCourseSummary(SemesterEnum semester, Long examId, HttpServletResponse response) throws Exception;
+    void exportCourseSummary(SemesterEnum semester, Long examId, String column, OrderEnum order, HttpServletResponse response) throws Exception;
 
     void exportDataAnalysis(SemesterEnum semester, Long examId, String courseCode, HttpServletResponse response);
 }

+ 13 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TBExamStudentService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.report.business.bean.result.*;
 import com.qmth.teachcloud.report.business.entity.TBExamStudent;
+import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -74,9 +75,11 @@ public interface TBExamStudentService extends IService<TBExamStudent> {
      * @param studentParam
      * @param pageNumber
      * @param pageSize
+     * @param column
+     * @param order
      * @return
      */
-    IPage<TeachCollegeResult> listTeachCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long inspectCollegeId, Long teacherId, String studentParam, Integer pageNumber, Integer pageSize);
+    IPage<TeachCollegeResult> listTeachCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long inspectCollegeId, Long teacherId, String studentParam, Integer pageNumber, Integer pageSize, String column, OrderEnum order);
 
     /**
      * 导入异常考试类型
@@ -99,9 +102,11 @@ public interface TBExamStudentService extends IService<TBExamStudent> {
      * @param teacherId
      * @param studentParam
      * @param response
+     * @param column
+     * @param order
      * @throws Exception
      */
-    void exportTeachCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long inspectCollegeId, Long teacherId, String studentParam, HttpServletResponse response) throws Exception;
+    void exportTeachCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long inspectCollegeId, Long teacherId, String studentParam, HttpServletResponse response, String column, OrderEnum order) throws Exception;
 
     /**
      * 考查成绩查询
@@ -115,9 +120,11 @@ public interface TBExamStudentService extends IService<TBExamStudent> {
      * @param studentParam
      * @param pageNumber
      * @param pageSize
+     * @param column
+     * @param order
      * @return
      */
-    IPage<InspectCollegeResult> listInspectCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long teachCollegeId, Long teacherId, String studentParam, Integer pageNumber, Integer pageSize);
+    IPage<InspectCollegeResult> listInspectCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long teachCollegeId, Long teacherId, String studentParam, Integer pageNumber, Integer pageSize, String column, OrderEnum order);
 
     /**
      * 考查成绩查询-导出查询结果
@@ -130,8 +137,10 @@ public interface TBExamStudentService extends IService<TBExamStudent> {
      * @param teacherId
      * @param studentParam
      * @param response
+     * @param column
+     * @param order
      */
-    void exportInspectCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long teachCollegeId, Long teacherId, String studentParam, HttpServletResponse response) throws Exception;
+    void exportInspectCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long teachCollegeId, Long teacherId, String studentParam, HttpServletResponse response, String column, OrderEnum order) throws Exception;
 
     /**
      * 学生报告预览-列表接口

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

@@ -2,6 +2,7 @@ package com.qmth.teachcloud.report.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.gson.Gson;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.report.business.bean.result.*;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
@@ -255,36 +256,37 @@ public class ReportCommonServiceImpl implements ReportCommonService {
                         .filter(e -> minValue < e.getAssignedScore().doubleValue() && maxValue > e.getAssignedScore().doubleValue()).count();
             } else if ("(".equals(minSign) && "]".equals(maxSign)) {
                 allCountBefore = (int) surveyTeacherDistributionResultList.stream()//赋分前
-                        .filter(e -> minValue < e.getTotalScore().doubleValue() && maxValue > e.getTotalScore().doubleValue()).count();
+                        .filter(e -> minValue < e.getTotalScore().doubleValue() && maxValue >= e.getTotalScore().doubleValue()).count();
                 allCountAfter = (int) surveyTeacherDistributionResultList.stream()
-                        .filter(e -> minValue < e.getAssignedScore().doubleValue() && maxValue > e.getAssignedScore().doubleValue()).count();
+                        .filter(e -> minValue < e.getAssignedScore().doubleValue() && maxValue >= e.getAssignedScore().doubleValue()).count();
                 currentCountBefore = (int) currentDistributionResultList.stream()//赋分前
-                        .filter(e -> minValue < e.getTotalScore().doubleValue() && maxValue > e.getTotalScore().doubleValue()).count();
+                        .filter(e -> minValue < e.getTotalScore().doubleValue() && maxValue >= e.getTotalScore().doubleValue()).count();
                 currentCountAfter = (int) currentDistributionResultList.stream()
-                        .filter(e -> minValue < e.getAssignedScore().doubleValue() && maxValue > e.getAssignedScore().doubleValue()).count();
+                        .filter(e -> minValue < e.getAssignedScore().doubleValue() && maxValue >= e.getAssignedScore().doubleValue()).count();
             } else if ("[".equals(minSign) && ")".equals(maxSign)) {
                 allCountBefore = (int) surveyTeacherDistributionResultList.stream()//赋分前
-                        .filter(e -> minValue < e.getTotalScore().doubleValue() && maxValue > e.getTotalScore().doubleValue()).count();
+                        .filter(e -> minValue <= e.getTotalScore().doubleValue() && maxValue > e.getTotalScore().doubleValue()).count();
                 allCountAfter = (int) surveyTeacherDistributionResultList.stream()
-                        .filter(e -> minValue < e.getAssignedScore().doubleValue() && maxValue > e.getAssignedScore().doubleValue()).count();
+                        .filter(e -> minValue <= e.getAssignedScore().doubleValue() && maxValue > e.getAssignedScore().doubleValue()).count();
                 currentCountBefore = (int) currentDistributionResultList.stream()//赋分前
-                        .filter(e -> minValue < e.getTotalScore().doubleValue() && maxValue > e.getTotalScore().doubleValue()).count();
+                        .filter(e -> minValue <= e.getTotalScore().doubleValue() && maxValue > e.getTotalScore().doubleValue()).count();
                 currentCountAfter = (int) currentDistributionResultList.stream()
-                        .filter(e -> minValue < e.getAssignedScore().doubleValue() && maxValue > e.getAssignedScore().doubleValue()).count();
+                        .filter(e -> minValue <= e.getAssignedScore().doubleValue() && maxValue > e.getAssignedScore().doubleValue()).count();
             } else if ("[".equals(minSign) && "]".equals(maxSign)) {
                 allCountBefore = (int) surveyTeacherDistributionResultList.stream()//赋分前
-                        .filter(e -> minValue < e.getTotalScore().doubleValue() && maxValue > e.getTotalScore().doubleValue()).count();
+                        .filter(e -> minValue <= e.getTotalScore().doubleValue() && maxValue >= e.getTotalScore().doubleValue()).count();
                 allCountAfter = (int) surveyTeacherDistributionResultList.stream()
-                        .filter(e -> minValue < e.getAssignedScore().doubleValue() && maxValue > e.getAssignedScore().doubleValue()).count();
+                        .filter(e -> minValue <= e.getAssignedScore().doubleValue() && maxValue >= e.getAssignedScore().doubleValue()).count();
                 currentCountBefore = (int) currentDistributionResultList.stream()//赋分前
-                        .filter(e -> minValue < e.getTotalScore().doubleValue() && maxValue > e.getTotalScore().doubleValue()).count();
+                        .filter(e -> minValue <= e.getTotalScore().doubleValue() && maxValue >= e.getTotalScore().doubleValue()).count();
                 currentCountAfter = (int) currentDistributionResultList.stream()
-                        .filter(e -> minValue < e.getAssignedScore().doubleValue() && maxValue > e.getAssignedScore().doubleValue()).count();
+                        .filter(e -> minValue <= e.getAssignedScore().doubleValue() && maxValue >= e.getAssignedScore().doubleValue()).count();
             }
-            allCountRateBefore = allCountBefore > 0 ? MathUtil.formatDouble2(allTotalCount / allCountBefore) : 0;
-            allCountRateAfter = allCountAfter > 0 ? MathUtil.formatDouble2(allTotalCount / allCountAfter) : 0;
-            currentCountRateBefore = currentCountBefore > 0 ? MathUtil.formatDouble2(currentTotalCount / currentCountBefore) : 0;
-            currentCountRateAfter = currentCountAfter > 0 ? MathUtil.formatDouble2(currentTotalCount / currentCountAfter) : 0;
+            BigDecimal hundredBig = new BigDecimal("100");
+            allCountRateBefore = allTotalCount > 0 ? new BigDecimal(allCountBefore).multiply(hundredBig).divide(new BigDecimal(allTotalCount), SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP).doubleValue() : 0;
+            allCountRateAfter = allTotalCount > 0 ? new BigDecimal(allCountAfter).multiply(hundredBig).divide(new BigDecimal(allTotalCount), SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP).doubleValue() : 0;
+            currentCountRateBefore = currentTotalCount > 0 ? new BigDecimal(currentCountBefore).multiply(hundredBig).divide(new BigDecimal(currentTotalCount), SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP).doubleValue() : 0;
+            currentCountRateAfter = currentTotalCount > 0 ? new BigDecimal(currentCountAfter).multiply(hundredBig).divide(new BigDecimal(currentTotalCount), SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP).doubleValue() : 0;
 
             surveyTeacherGradeDistributionResultList.add(new SurveyTeacherGradeDistributionResult(allCountBefore, allCountAfter, currentCountBefore, currentCountAfter,
                     allCountRateBefore, allCountRateAfter, currentCountRateBefore, currentCountRateAfter, describe));
@@ -493,6 +495,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()).multiply(new BigDecimal("100")), taExamCourse.getPaperCurrentAvgScore(), bigDecimal.subtract(taExamCourse.getPaperPassRate()).multiply(new BigDecimal("100")));
+        return new SurveyTeacherExamCourseResult(taExamCourse.getAvgScore(), bigDecimal.subtract(taExamCourse.getPassRate()).multiply(new BigDecimal("100")), taExamCourse.getCurrentAvgScore(), bigDecimal.subtract(taExamCourse.getCurrentPassRate()).multiply(new BigDecimal("100")));
     }
 }

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

@@ -3,7 +3,6 @@ package com.qmth.teachcloud.report.business.service.impl;
 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.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -62,15 +61,15 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
     }
 
     @Override
-    public IPage<TeacherClassRankResult> listAllTeacherClassRank(SemesterEnum semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize) {
+    public IPage<TeacherClassRankResult> listAllTeacherClassRank(SemesterEnum semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize, String column, OrderEnum order) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeacherClassRankResult> page = new Page<>(pageNumber, pageSize);
         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);
+            return taExamCourseCollegeTeacherMapper.listAllTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, teachCollegeId, courseCode, teacherId, collegeIds, column, Objects.nonNull(order) ? order.name() : null);
         } else {
-            return taExamCourseCollegeTeacherMapper.listAllTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, teachCollegeId, courseCode, teacherId, Arrays.asList(sysUser.getOrgId()));
+            return taExamCourseCollegeTeacherMapper.listAllTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, teachCollegeId, courseCode, teacherId, Arrays.asList(sysUser.getOrgId()), column, Objects.nonNull(order) ? order.name() : null);
         }
     }
 
@@ -91,6 +90,6 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
     public IPage<TeacherClassRankResult> listTeacherClassRank(SemesterEnum semester, Long examId, String courseCode, Integer pageNumber, Integer pageSize, String column, OrderEnum order) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeacherClassRankResult> page = new Page<>(pageNumber, pageSize);
-        return taExamCourseCollegeTeacherMapper.listTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, SystemConstant.getOrderColumn(column), Objects.nonNull(order) ? order.name() : null);
+        return taExamCourseCollegeTeacherMapper.listTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, column, Objects.nonNull(order) ? order.name() : null);
     }
 }

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

@@ -119,7 +119,7 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
             Map<String, Object> objectMap = new HashMap<>();
             objectMap.put("scores", String.join(",", s.getDescribe()));
             objectMap.put("totalRate", s.getAllCountRateAfter());
-            objectMap.put("totalRealityCount", s.getAllCountBefore());
+            objectMap.put("totalRealityCount", s.getAllCountAfter());
             objectMap.put("currentRealityCount", s.getCurrentCountAfter());
             objectMap.put("currentRate", s.getCurrentCountRateAfter());
             mapList.add(objectMap);

+ 6 - 5
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamTotalServiceImpl.java

@@ -14,6 +14,7 @@ import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.report.business.bean.dto.excel.TAExamCourseDto;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.entity.TAExamTotal;
+import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import com.qmth.teachcloud.report.business.mapper.TAExamTotalMapper;
 import com.qmth.teachcloud.report.business.service.TAExamTotalService;
@@ -49,21 +50,21 @@ public class TAExamTotalServiceImpl extends ServiceImpl<TAExamTotalMapper, TAExa
     }
 
     @Override
-    public IPage<TAExamCourse> getCourseSummary(SemesterEnum semester, Long examId, Integer pageNumber, Integer pageSize) {
+    public IPage<TAExamCourse> getCourseSummary(SemesterEnum semester, Long examId, Integer pageNumber, Integer pageSize, String column, OrderEnum order) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TAExamCourse> page = new Page<>(pageNumber, pageSize);
         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);
+            return taExamTotalMapper.getCourseSummary(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, collegeIds, column, Objects.nonNull(order) ? order.name() : null);
         } else {
-            return taExamTotalMapper.getCourseSummary(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, Arrays.asList(sysUser.getOrgId()));
+            return taExamTotalMapper.getCourseSummary(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, Arrays.asList(sysUser.getOrgId()), column, Objects.nonNull(order) ? order.name() : null);
         }
     }
 
     @Override
-    public void exportCourseSummary(SemesterEnum semester, Long examId, HttpServletResponse response) throws Exception {
-        IPage<TAExamCourse> taExamCourseIPage = this.getCourseSummary(semester, examId, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE);
+    public void exportCourseSummary(SemesterEnum semester, Long examId, String column, OrderEnum order, HttpServletResponse response) throws Exception {
+        IPage<TAExamCourse> taExamCourseIPage = this.getCourseSummary(semester, examId, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE, column, order);
         Gson gson = new Gson();
         List<TAExamCourseDto> examStudentCourseDtoList = gson.fromJson(JacksonUtil.parseJson(taExamCourseIPage.getRecords()), new TypeToken<List<TAExamCourseDto>>() {
         }.getType());

+ 33 - 9
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamStudentServiceImpl.java

@@ -20,6 +20,8 @@ import com.qmth.teachcloud.report.business.bean.dto.ExamStudentTypeDto;
 import com.qmth.teachcloud.report.business.bean.result.*;
 import com.qmth.teachcloud.report.business.entity.*;
 import com.qmth.teachcloud.report.business.enums.AssignEnum;
+import com.qmth.teachcloud.report.business.enums.OrderEnum;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import com.qmth.teachcloud.report.business.mapper.*;
 import com.qmth.teachcloud.report.business.service.TBExamStudentService;
 import org.apache.commons.lang3.StringUtils;
@@ -135,17 +137,29 @@ public class TBExamStudentServiceImpl extends ServiceImpl<TBExamStudentMapper, T
     }
 
     @Override
-    public IPage<TeachCollegeResult> listTeachCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long inspectCollegeId, Long teacherId, String studentParam, Integer pageNumber, Integer pageSize) {
+    public IPage<TeachCollegeResult> listTeachCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long inspectCollegeId, Long teacherId, String studentParam, Integer pageNumber, Integer pageSize, String column, OrderEnum order) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Long orgId = sysUser.getOrgId();
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeachCollegeResult> page = new Page<>(pageNumber, pageSize);
         List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        IPage<TeachCollegeResult> listPage;
         if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
-            return tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId, orgId, teacherId, studentParam, collegeIds);
+            listPage = tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId, orgId, teacherId, studentParam, collegeIds, column, Objects.nonNull(order) ? order.name() : null);
         } else {
-            return tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId, orgId, teacherId, studentParam, Arrays.asList(sysUser.getOrgId()));
+            listPage = tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId, orgId, teacherId, studentParam, Arrays.asList(sysUser.getOrgId()), column, Objects.nonNull(order) ? order.name() : null);
         }
+        for (TeachCollegeResult record : listPage.getRecords()) {
+            String tmp = record.getSemester();
+            String result = "";
+            for (SemesterEnum value : SemesterEnum.values()) {
+                if (tmp.equals(String.valueOf(value))) {
+                    result = value.getTitle();
+                }
+            }
+            record.setSemester(result);
+        }
+        return listPage;
     }
 
     @Override
@@ -208,24 +222,34 @@ public class TBExamStudentServiceImpl extends ServiceImpl<TBExamStudentMapper, T
     }
 
     @Override
-    public void exportTeachCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long inspectCollegeId, Long teacherId, String studentParam, HttpServletResponse response) throws Exception {
+    public void exportTeachCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long inspectCollegeId, Long teacherId, String studentParam, HttpServletResponse response, String column, OrderEnum order) throws Exception {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        List<TeachCollegeResult> list = tbExamStudentMapper.listTeachCollegeResult(schoolId, semester, examId, courseCode, current, inspectCollegeId, teacherId, studentParam);
+        List<TeachCollegeResult> list = tbExamStudentMapper.listTeachCollegeResult(schoolId, semester, examId, courseCode, current, inspectCollegeId, teacherId, studentParam, column, Objects.nonNull(order) ? order.name() : null);
         ExcelUtil.excelExport("开课成绩查询", TeachCollegeResult.class, list, response);
     }
 
     @Override
-    public IPage<InspectCollegeResult> listInspectCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long teachCollegeId, Long teacherId, String studentParam, Integer pageNumber, Integer pageSize) {
+    public IPage<InspectCollegeResult> listInspectCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long teachCollegeId, Long teacherId, String studentParam, Integer pageNumber, Integer pageSize, String column, OrderEnum order) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<InspectCollegeResult> page = new Page<>(pageNumber, pageSize);
-        IPage<InspectCollegeResult> listPage = tbExamStudentMapper.listInspectCollegeResult(page, schoolId, semester, examId, courseCode, current, teachCollegeId, teacherId, studentParam);
+        IPage<InspectCollegeResult> listPage = tbExamStudentMapper.listInspectCollegeResult(page, schoolId, semester, examId, courseCode, current, teachCollegeId, teacherId, studentParam, column, Objects.nonNull(order) ? order.name() : null);
+        for (InspectCollegeResult record : listPage.getRecords()) {
+            String tmp = record.getSemester();
+            String result = "";
+            for (SemesterEnum value : SemesterEnum.values()) {
+                if (tmp.equals(String.valueOf(value))) {
+                    result = value.getTitle();
+                }
+            }
+            record.setSemester(result);
+        }
         return listPage;
     }
 
     @Override
-    public void exportInspectCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long teachCollegeId, Long teacherId, String studentParam, HttpServletResponse response) throws Exception {
+    public void exportInspectCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long teachCollegeId, Long teacherId, String studentParam, HttpServletResponse response, String column, OrderEnum order) throws Exception {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        List<InspectCollegeResult> list = tbExamStudentMapper.listInspectCollegeResult(schoolId, semester, examId, courseCode, current, teachCollegeId, teacherId, studentParam);
+        List<InspectCollegeResult> list = tbExamStudentMapper.listInspectCollegeResult(schoolId, semester, examId, courseCode, current, teachCollegeId, teacherId, studentParam, column, Objects.nonNull(order) ? order.name() : null);
         ExcelUtil.excelExport("开课成绩查询", TeachCollegeResult.class, list, response);
     }
 

+ 18 - 15
teachcloud-report-business/src/main/resources/mapper/TAExamCourseCollegeTeacherMapper.xml

@@ -75,18 +75,18 @@
 
     <select id="listAllTeacherClassRank"
             resultType="com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult">
-        SELECT
-            a.teach_college_name teachCollegeName,
-            a.inspect_college_name inspectCollegeName,
-            a.course_code courseCode,
-            a.course_name courseName,
-            a.teacher_name teacherName,
-            round(a.avg_score_assign, 1) avgScoreAssign,
-            a.teacher_rank `rank`
+        select * from(SELECT
+        a.teach_college_name teachCollegeName,
+        a.inspect_college_name inspectCollegeName,
+        a.course_code courseCode,
+        a.course_name courseName,
+        a.teacher_name teacherName,
+        round(a.avg_score_assign, 1) avgScoreAssign,
+        a.teacher_rank `rank`
         FROM
-            t_a_exam_course_college_teacher a
-                LEFT JOIN
-            t_b_exam b ON a.exam_id = b.id
+        t_a_exam_course_college_teacher a
+        LEFT JOIN
+        t_b_exam b ON a.exam_id = b.id
         <where>
             and b.school_id = #{schoolId}
             <if test="semester != null and semester != ''">
@@ -110,7 +110,10 @@
                     #{collegeId}
                 </foreach>
             </if>
-        </where>
+        </where> ) t
+            <if test="column != null and column != '' and order != null and order != ''">
+                order by t.${column} ${order}
+            </if>
     </select>
 
     <select id="findTeacherInfo" resultType="com.qmth.teachcloud.report.business.bean.result.TAExamCourseTeacherResult">
@@ -161,7 +164,7 @@
 
     <select id="listTeacherClassRank"
             resultType="com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult">
-        SELECT
+        select * from(SELECT
         a.inspect_college_name inspectCollegeName,
         a.teacher_name teacherName,
         round(a.avg_score_assign, 1) avgScoreAssign,
@@ -181,9 +184,9 @@
             <if test="courseCode != null and courseCode != ''">
                 and a.course_code = #{courseCode}
             </if>
-        </where>
+        </where> ) t
         <if test="column != null and column != '' and order != null and order != ''">
-            order by a.${column} ${order}
+            order by t.${column} ${order}
         </if>
     </select>
 </mapper>

+ 28 - 24
teachcloud-report-business/src/main/resources/mapper/TAExamTotalMapper.xml

@@ -31,31 +31,31 @@
         </where>
     </select>
     <select id="getCourseSummary" resultType="com.qmth.teachcloud.report.business.entity.TAExamCourse">
-        SELECT
-            a.course_code courseCode,
-            a.course_name courseName,
-            a.teach_college_name teachCollegeName,
-            a.inspect_college_count inspectCollegeCount,
-            a.reality_count realityCount,
-            a.current_reality_count currentRealityCount,
-            a.absent_count absentCount,
-            round(a.avg_score, 1) avgScore,
-            a.pass_count passCount,
-            round(a.pass_rate * 100,1) passRate,
-            round(a.current_avg_score, 1) currentAvgScore,
-            a.current_pass_count currentPassCount,
-            round(a.current_pass_rate * 100, 1) currentPassRate,
-            round(a.current_reality_rate * 100, 1) currentRealityRate,
-            round(a.past_reality_rate * 100, 1) pastRealityRate,
-            round((1 - a.pass_rate)  * 100,1) as notPassRate,
-            round(a.paper_current_avg_score,1) as paperCurrentAvgScore,
-            round((1 - a.current_pass_rate) * 100,1) as currentNotPassRate,
-            (a.reality_count - a.pass_count) as notPassCount,
-            (a.current_reality_count - a.current_pass_count) as currentNotPassCount
+        select * from(SELECT
+        a.course_code courseCode,
+        a.course_name courseName,
+        a.teach_college_name teachCollegeName,
+        a.inspect_college_count inspectCollegeCount,
+        a.reality_count realityCount,
+        a.current_reality_count currentRealityCount,
+        a.absent_count absentCount,
+        round(a.avg_score, 1) avgScore,
+        a.pass_count passCount,
+        round(a.pass_rate * 100,1) passRate,
+        round(a.current_avg_score, 1) currentAvgScore,
+        a.current_pass_count currentPassCount,
+        round(a.current_pass_rate * 100, 1) currentPassRate,
+        round(a.current_reality_rate * 100, 1) currentRealityRate,
+        round(a.past_reality_rate * 100, 1) pastRealityRate,
+        round((1 - a.pass_rate) * 100,1) as notPassRate,
+        round(a.paper_current_avg_score,1) as paperCurrentAvgScore,
+        round((1 - a.current_pass_rate) * 100,1) as currentNotPassRate,
+        (a.reality_count - a.pass_count) as notPassCount,
+        (a.current_reality_count - a.current_pass_count) as currentNotPassCount
         FROM
-            t_a_exam_course a
-                LEFT JOIN
-            t_b_exam b ON a.exam_id = b.id
+        t_a_exam_course a
+        LEFT JOIN
+        t_b_exam b ON a.exam_id = b.id
         <where>
             and b.school_id = #{schoolId}
             <if test="semester != null and semester != ''">
@@ -71,5 +71,9 @@
                 </foreach>
             </if>
         </where>
+        ) t
+        <if test="column != null and column != '' and order != null and order != ''">
+            order by t.${column} ${order}
+        </if>
     </select>
 </mapper>

+ 60 - 53
teachcloud-report-business/src/main/resources/mapper/TBExamStudentMapper.xml

@@ -76,41 +76,41 @@
 
     <select id="listTeachCollegeResult"
             resultType="com.qmth.teachcloud.report.business.bean.result.TeachCollegeResult">
-        SELECT
-            d.semester,
-            d.exam_name examName,
-            a.course_code courseCode,
-            a.course_name courseName,
-            a.ticket_number ticketNumber,
-            a.student_code studentCode,
-            a.name,
-            a.student_current `current`,
-            case a.student_current when true then '应届' else '非应届' end as currentStr,
-            round(b.objective_score, 1) objectiveScore,
-            round(b.subjective_score, 1) subjectiveScore,
-            round(b.total_score, 1) totalScore,
-            round(c.assigned_score, 1) assignedScore,
-            e.clazz_code clazzCode,
-            e.clazz_name clazzName,
-            f.name teachCollegeName,
-            g.name inspectCollegeName,
-            h.real_name teacherName
+        select * from(SELECT
+        d.semester,
+        d.exam_name examName,
+        a.course_code courseCode,
+        a.course_name courseName,
+        a.ticket_number ticketNumber,
+        a.student_code studentCode,
+        a.name,
+        a.student_current `current`,
+        case a.student_current when true then '应届' else '非应届' end as currentStr,
+        round(b.objective_score, 1) objectiveScore,
+        round(b.subjective_score, 1) subjectiveScore,
+        round(b.total_score, 1) totalScore,
+        round(c.assigned_score, 1) assignedScore,
+        e.clazz_code clazzCode,
+        e.clazz_name clazzName,
+        f.name teachCollegeName,
+        g.name inspectCollegeName,
+        h.real_name teacherName
         FROM
-            t_b_exam_student a
+        t_b_exam_student a
         LEFT JOIN
-            t_b_exam_record b ON a.id = b.exam_student_id
+        t_b_exam_record b ON a.id = b.exam_student_id
         LEFT JOIN
-            t_a_exam_course_record c ON b.id = c.exam_record_id
+        t_a_exam_course_record c ON b.id = c.exam_record_id
         LEFT JOIN
-            t_b_exam d ON a.exam_id = d.id
+        t_b_exam d ON a.exam_id = d.id
         LEFT JOIN
-            t_b_school_clazz e ON a.clazz_id = e.id
+        t_b_school_clazz e ON a.clazz_id = e.id
         LEFT JOIN
-            sys_org f ON a.teach_college_id = f.id
+        sys_org f ON a.teach_college_id = f.id
         LEFT JOIN
-            sys_org g ON a.inspect_college_id = g.id
+        sys_org g ON a.inspect_college_id = g.id
         LEFT JOIN
-            sys_user h ON a.teacher_id = h.id
+        sys_user h ON a.teacher_id = h.id
         <where>
             and d.school_id = #{schoolId}
             <if test="semester != null and semester != ''">
@@ -142,42 +142,46 @@
                     #{collegeId}
                 </foreach>
             </if>
-        </where>
+        </where> ) t
+        <if test="column != null and column != '' and order != null and order != ''">
+            order by t.${column} ${order}
+        </if>
     </select>
+
     <select id="listInspectCollegeResult"
             resultType="com.qmth.teachcloud.report.business.bean.result.InspectCollegeResult">
-        SELECT
-            d.semester,
-            d.exam_name examName,
-            a.course_code courseCode,
-            a.course_name courseName,
-            a.ticket_number ticketNumber,
-            a.student_code studentCode,
-            a.name,
-            a.student_current `current`,
-            case a.student_current when true then '应届' else '非应届' end as currentStr,
-            round(c.assigned_score, 1) assignedScore,
-            e.clazz_code clazzCode,
-            e.clazz_name clazzName,
-            f.name teachCollegeName,
-            g.name inspectCollegeName,
-            h.real_name teacherName
+        select * from(SELECT
+        d.semester,
+        d.exam_name examName,
+        a.course_code courseCode,
+        a.course_name courseName,
+        a.ticket_number ticketNumber,
+        a.student_code studentCode,
+        a.name,
+        a.student_current `current`,
+        case a.student_current when true then '应届' else '非应届' end as currentStr,
+        round(c.assigned_score, 1) assignedScore,
+        e.clazz_code clazzCode,
+        e.clazz_name clazzName,
+        f.name teachCollegeName,
+        g.name inspectCollegeName,
+        h.real_name teacherName
         FROM
-            t_b_exam_student a
+        t_b_exam_student a
         LEFT JOIN
-            t_b_exam_record b ON a.id = b.exam_student_id
+        t_b_exam_record b ON a.id = b.exam_student_id
         LEFT JOIN
-            t_a_exam_course_record c ON b.id = c.exam_record_id
+        t_a_exam_course_record c ON b.id = c.exam_record_id
         LEFT JOIN
-            t_b_exam d ON a.exam_id = d.id
+        t_b_exam d ON a.exam_id = d.id
         LEFT JOIN
-            t_b_school_clazz e ON a.clazz_id = e.id
+        t_b_school_clazz e ON a.clazz_id = e.id
         LEFT JOIN
-            sys_org f ON a.teach_college_id = f.id
+        sys_org f ON a.teach_college_id = f.id
         LEFT JOIN
-            sys_org g ON a.inspect_college_id = g.id
+        sys_org g ON a.inspect_college_id = g.id
         LEFT JOIN
-            sys_user h ON a.teacher_id = h.id
+        sys_user h ON a.teacher_id = h.id
         <where>
             and d.school_id = #{schoolId}
             <if test="semester != null and semester != ''">
@@ -203,7 +207,10 @@
                 or a.student_code like concat('%' ,#{studentParam}, '%')
                 or a.name like concat('%' ,#{studentParam}, '%'))
             </if>
-        </where>
+        </where> ) t
+        <if test="column != null and column != '' and order != null and order != ''">
+            order by t.${column} ${order}
+        </if>
     </select>
 
     <select id="reportList" resultType="com.qmth.teachcloud.report.business.bean.result.TBStudentReportResult">

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

@@ -51,16 +51,20 @@ public class DataDriveController {
     public Result getCourseSummary(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                    @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                                    @ApiParam(value = "分页页码", required = true) @RequestParam Integer pageNumber,
-                                   @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize) {
-        return ResultUtil.ok(taExamTotalService.getCourseSummary(semester, examId, pageNumber, pageSize));
+                                   @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize,
+                                   @ApiParam(value = "排序列", required = false) @RequestParam(required = false) String column,
+                                   @ApiParam(value = "排序规则", required = false) @RequestParam(required = false) OrderEnum order) {
+        return ResultUtil.ok(taExamTotalService.getCourseSummary(semester, examId, pageNumber, pageSize, column, order));
     }
 
     @ApiOperation(value = "全校考试总览-全校课程考试分析汇总-导出课程分析Excel报表")
     @RequestMapping(value = "/exam/export_course_summary", method = RequestMethod.POST)
     public void exportCourseSummary(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                     @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                                    @ApiParam(value = "排序列", required = false) @RequestParam(required = false) String column,
+                                    @ApiParam(value = "排序规则", required = false) @RequestParam(required = false) OrderEnum order,
                                     HttpServletResponse response) throws Exception {
-        taExamTotalService.exportCourseSummary(semester, examId, response);
+        taExamTotalService.exportCourseSummary(semester, examId, column, order, response);
     }
 
     @ApiOperation(value = "全校课程考试分析-全校考试概况")
@@ -112,7 +116,9 @@ public class DataDriveController {
                                           @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, inspectCollegeId, courseCode, teacherId, pageNumber, pageSize));
+                                          @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize,
+                                          @ApiParam(value = "排序列", required = false) @RequestParam(required = false) String column,
+                                          @ApiParam(value = "排序规则", required = false) @RequestParam(required = false) OrderEnum order) {
+        return ResultUtil.ok(taExamCourseCollegeTeacherService.listAllTeacherClassRank(semester, examId, inspectCollegeId, courseCode, teacherId, pageNumber, pageSize, column, order));
     }
 }

+ 17 - 8
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamStudentController.java

@@ -11,6 +11,7 @@ import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.report.business.bean.result.TBExamStudentResult;
+import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import com.qmth.teachcloud.report.business.service.TBExamStudentService;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,8 +55,10 @@ public class TBExamStudentController {
             @ApiParam(value = "教师ID", required = true) @RequestParam(required = false) Long teacherId,
             @ApiParam(value = "模糊查询", required = true) @RequestParam(required = false) String studentParam,
             @ApiParam(value = "分页页码", required = true) @RequestParam Integer pageNumber,
-            @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize) {
-        return ResultUtil.ok(tbExamStudentService.listTeachCollegeResult(semester, examId, courseCode, current, inspectCollegeId, teacherId, studentParam, pageNumber, pageSize));
+            @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize,
+            @ApiParam(value = "排序列", required = false) @RequestParam(required = false) String column,
+            @ApiParam(value = "排序规则", required = false) @RequestParam(required = false) OrderEnum order) {
+        return ResultUtil.ok(tbExamStudentService.listTeachCollegeResult(semester, examId, courseCode, current, inspectCollegeId, teacherId, studentParam, pageNumber, pageSize, column, order));
     }
 
     @ApiOperation(value = "开课成绩查询-导入异常考试类型")
@@ -96,8 +99,10 @@ public class TBExamStudentController {
             @ApiParam(value = "考查学院ID", required = true) @RequestParam(required = false) Long inspectCollegeId,
             @ApiParam(value = "教师ID", required = true) @RequestParam(required = false) Long teacherId,
             @ApiParam(value = "模糊查询", required = true) @RequestParam(required = false) String studentParam,
-            HttpServletResponse response) throws Exception {
-        tbExamStudentService.exportTeachCollegeResult(semester, examId, courseCode, current, inspectCollegeId, teacherId, studentParam, response);
+            HttpServletResponse response,
+            @ApiParam(value = "排序列", required = false) @RequestParam(required = false) String column,
+            @ApiParam(value = "排序规则", required = false) @RequestParam(required = false) OrderEnum order) throws Exception {
+        tbExamStudentService.exportTeachCollegeResult(semester, examId, courseCode, current, inspectCollegeId, teacherId, studentParam, response, column, order);
     }
 
     @ApiOperation(value = "考查成绩查询")
@@ -112,8 +117,10 @@ public class TBExamStudentController {
             @ApiParam(value = "教师ID", required = true) @RequestParam(required = false) Long teacherId,
             @ApiParam(value = "模糊查询", required = true) @RequestParam(required = false) String studentParam,
             @ApiParam(value = "分页页码", required = true) @RequestParam Integer pageNumber,
-            @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize) {
-        return ResultUtil.ok(tbExamStudentService.listInspectCollegeResult(semester, examId, courseCode, current, teachCollegeId, teacherId, studentParam, pageNumber, pageSize));
+            @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize,
+            @ApiParam(value = "排序列", required = false) @RequestParam(required = false) String column,
+            @ApiParam(value = "排序规则", required = false) @RequestParam(required = false) OrderEnum order) {
+        return ResultUtil.ok(tbExamStudentService.listInspectCollegeResult(semester, examId, courseCode, current, teachCollegeId, teacherId, studentParam, pageNumber, pageSize, column, order));
     }
 
     @ApiOperation(value = "考查成绩查询-导出查询结果")
@@ -127,7 +134,9 @@ public class TBExamStudentController {
             @ApiParam(value = "开课学院ID", required = true) @RequestParam(required = false) Long teachCollegeId,
             @ApiParam(value = "教师ID", required = true) @RequestParam(required = false) Long teacherId,
             @ApiParam(value = "模糊查询", required = true) @RequestParam(required = false) String studentParam,
-            HttpServletResponse response) throws Exception {
-        tbExamStudentService.exportInspectCollegeResult(semester, examId, courseCode, current, teachCollegeId, teacherId, studentParam, response);
+            HttpServletResponse response,
+            @ApiParam(value = "排序列", required = false) @RequestParam(required = false) String column,
+            @ApiParam(value = "排序规则", required = false) @RequestParam(required = false) OrderEnum order) throws Exception {
+        tbExamStudentService.exportInspectCollegeResult(semester, examId, courseCode, current, teachCollegeId, teacherId, studentParam, response, column, order);
     }
 }