wangliang 4 éve
szülő
commit
95d657a78d

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

@@ -252,8 +252,32 @@ public class SystemConstant {
     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, "teachCollegeName")) {
+            return "teach_college_name";
         } else if (Objects.nonNull(column) && Objects.equals(column, "teacherName")) {
             return "teacher_name";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "courseCode")) {
+            return "course_code";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "courseName")) {
+            return "course_name";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "rank")) {
+            return "teacher_rank";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "currentStr")) {
+            return "student_current";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "currentStr")) {
+            return "student_current";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "objectiveScore")) {
+            return "objective_score";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "subjectiveScore")) {
+            return "subjective_score";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "totalScore")) {
+            return "total_score";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "assignedScore")) {
+            return "assigned_score";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "clazzCode")) {
+            return "clazz_code";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "clazzName")) {
+            return "clazz_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/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,7 +77,7 @@ 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);
 

+ 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);
 
     /**
      * 查询老师得分

+ 4 - 1
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);
 
     /**
      * 导入异常考试类型

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

@@ -62,15 +62,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, SystemConstant.getOrderColumn(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()), SystemConstant.getOrderColumn(column), Objects.nonNull(order) ? order.name() : null);
         }
     }
 

+ 14 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamStudentServiceImpl.java

@@ -20,6 +20,7 @@ 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.mapper.*;
 import com.qmth.teachcloud.report.business.service.TBExamStudentService;
 import org.apache.commons.lang3.StringUtils;
@@ -135,16 +136,26 @@ 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());
+        String finalColumn = null;
+        if (Objects.nonNull(column) && Objects.equals(column, "teachCollegeName")) {
+            finalColumn = "f.name ";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "inspectCollegeName")) {
+            finalColumn = "g.name";
+        } else if (Objects.nonNull(column) && Objects.equals(column, "teacherName")) {
+            finalColumn = "h.real_name";
+        } else {
+            finalColumn = SystemConstant.getOrderColumn(column);
+        }
         if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
-            return tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId, orgId, teacherId, studentParam, collegeIds);
+            return tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId, orgId, teacherId, studentParam, collegeIds, finalColumn, Objects.nonNull(order) ? order.name() : null);
         } else {
-            return tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId, orgId, teacherId, studentParam, Arrays.asList(sysUser.getOrgId()));
+            return tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId, orgId, teacherId, studentParam, Arrays.asList(sysUser.getOrgId()), finalColumn, Objects.nonNull(order) ? order.name() : null);
         }
     }
 

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

@@ -110,6 +110,9 @@
                     #{collegeId}
                 </foreach>
             </if>
+            <if test="column != null and column != '' and order != null and order != ''">
+                order by a.${column} ${order}
+            </if>
         </where>
     </select>
 

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

@@ -142,6 +142,9 @@
                     #{collegeId}
                 </foreach>
             </if>
+            <if test="column != null and column != '' and order != null and order != ''">
+                order by ${column} ${order}
+            </if>
         </where>
     </select>
     <select id="listInspectCollegeResult"

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

@@ -112,7 +112,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));
     }
 }

+ 5 - 2
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 = "开课成绩查询-导入异常考试类型")