Bladeren bron

数据驾驶舱

xiaof 4 jaren geleden
bovenliggende
commit
bd16bde639

+ 12 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamTotal.java

@@ -41,6 +41,10 @@ public class TAExamTotal implements Serializable {
     @TableField(value = "college_count")
     private Integer collegeCount;
 
+    @ApiModelProperty(value = "考察学院")
+    @TableField(value = "college_names")
+    private Integer collegeNames;
+
     @ApiModelProperty(value = "课程总数")
     @TableField(value = "course_count")
     private Integer courseCount;
@@ -105,6 +109,14 @@ public class TAExamTotal implements Serializable {
         this.collegeCount = collegeCount;
     }
 
+    public Integer getCollegeNames() {
+        return collegeNames;
+    }
+
+    public void setCollegeNames(Integer collegeNames) {
+        this.collegeNames = collegeNames;
+    }
+
     public Integer getCourseCount() {
         return courseCount;
     }

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

@@ -21,4 +21,6 @@ public interface TAExamCourseCollegeTeacherMapper extends BaseMapper<TAExamCours
     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<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<TAExamCourseCollegeTeacher> listAllTeacherClassRank(@Param("page") Page<TAExamCourseCollegeTeacher> 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);
 }

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

@@ -19,4 +19,6 @@ public interface TAExamCourseCollegeTeacherService extends IService<TAExamCourse
     IPage<TeacherClassRankResult> listClassRank(String semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize);
 
     IPage<TeacherMyClassRankResult> listMyClassRank(String semester, Long examId, Long teacherId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize);
+
+    IPage<TAExamCourseCollegeTeacher> listAllTeacherClassRank(String semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize);
 }

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

@@ -2,6 +2,7 @@ package com.qmth.teachcloud.report.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseTeacher;
 
 /**

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

@@ -22,4 +22,6 @@ public interface TAExamTotalService extends IService<TAExamTotal> {
     IPage<TAExamCourse> getCourseSummary(String semester, Long examId, Integer pageNumber, Integer pageSize);
 
     void exportCourseSummary(String semester, Long examId, HttpServletResponse response);
+
+    void exportDataAnalysis(String semester, Long examId, String courseCode, HttpServletResponse response);
 }

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

@@ -42,4 +42,12 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
         IPage<TeacherMyClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listMyClassRank(page, schoolId, semester, examId, teacherId, courseCode, inspectCollegeId);
         return listPage;
     }
+
+    @Override
+    public IPage<TAExamCourseCollegeTeacher> listAllTeacherClassRank(String semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize) {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        Page<TAExamCourseCollegeTeacher> page = new Page<>(pageNumber, pageSize);
+        IPage<TAExamCourseCollegeTeacher> listPage = taExamCourseCollegeTeacherMapper.listAllTeacherClassRank(page, schoolId, semester, examId, teachCollegeId, courseCode, teacherId);
+        return listPage;
+    }
 }

+ 2 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseTeacherServiceImpl.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.util.ServletUtil;
+import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseTeacher;
 import com.qmth.teachcloud.report.business.mapper.TAExamCourseTeacherMapper;
 import com.qmth.teachcloud.report.business.service.TAExamCourseTeacherService;
@@ -32,4 +33,5 @@ public class TAExamCourseTeacherServiceImpl extends ServiceImpl<TAExamCourseTeac
         IPage<TAExamCourseTeacher> listPage = taExamCourseTeacherMapper.listTeacherClassRank(page, schoolId, semester, examId, courseCode);
         return listPage;
     }
+
 }

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

@@ -45,4 +45,9 @@ public class TAExamTotalServiceImpl extends ServiceImpl<TAExamTotalMapper, TAExa
     public void exportCourseSummary(String semester, Long examId, HttpServletResponse response) {
 
     }
+
+    @Override
+    public void exportDataAnalysis(String semester, Long examId, String courseCode, HttpServletResponse response) {
+
+    }
 }

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

@@ -65,4 +65,37 @@
             </if>
         </where>
     </select>
+    <select id="listAllTeacherClassRank"
+            resultType="com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher">
+        SELECT
+            a.teach_college_name teachCollegeName,
+            a.inspect_college_name inspectCollegeName,
+            a.course_code courseCode,
+            a.course_name courseName,
+            a.teacher_name teacherName,
+            a.avg_score_assign avgScoreAssign,
+            a.rank
+        FROM
+            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 != ''">
+                and b.semester = #{semester}
+            </if>
+            <if test="examId != null">
+                and a.exam_id = #{examId}
+            </if>
+            <if test="teachCollegeId != null">
+                and a.teach_college_id = #{teachCollegeId}
+            </if>
+            <if test="courseCode != null and courseCode != ''">
+                and a.course_code = #{courseCode}
+            </if>
+            <if test="teacherId != null">
+                and a.teacher_id = #{teacherId}
+            </if>
+        </where>
+    </select>
 </mapper>

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

@@ -6,6 +6,7 @@
         SELECT
             a.exam_time examTime,
             a.college_count collegeCount,
+            a.college_names collegeNames,
             a.course_count courseCount,
             a.public_course_count publicCourseCount,
             a.major_course_count majorCourseCount,

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

@@ -3,11 +3,11 @@ package com.qmth.teachcloud.report.api;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
-import com.qmth.teachcloud.report.business.bean.result.TBExamStudentResult;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
+import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseTeacher;
 import com.qmth.teachcloud.report.business.entity.TAExamTotal;
-import com.qmth.teachcloud.report.business.enums.SemesterEnum;
+import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeTeacherService;
 import com.qmth.teachcloud.report.business.service.TAExamCourseService;
 import com.qmth.teachcloud.report.business.service.TAExamCourseTeacherService;
 import com.qmth.teachcloud.report.business.service.TAExamTotalService;
@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
 
 @Api(tags = "数据驾驶舱Controller")
 @RestController
@@ -34,65 +35,83 @@ public class DataDriveController {
     @Autowired
     private TAExamCourseTeacherService taExamCourseTeacherService;
 
+    @Autowired
+    private TAExamCourseCollegeTeacherService taExamCourseCollegeTeacherService;
+
     @ApiOperation(value = "全校考试总览-全校考试概况")
     @RequestMapping(value = "/exam/get_overview", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校考试总览-全校考试概况", response = TAExamTotal.class)})
-    public Result getOverview(
-            @ApiParam(value = "学期", required = true) @RequestParam String semester,
-            @ApiParam(value = "考试ID", required = true) @RequestParam Long examId) {
+    public Result getOverview(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+                              @ApiParam(value = "考试ID", required = true) @RequestParam Long examId) {
         return ResultUtil.ok(taExamTotalService.getOverview(semester, examId));
     }
 
     @ApiOperation(value = "全校考试总览-全校课程考试分析汇总")
     @RequestMapping(value = "/exam/get_course_summary", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校考试总览-全校考试概况", response = TAExamCourse.class)})
-    public Result getCourseSummary(
-            @ApiParam(value = "学期", required = true) @RequestParam String semester,
-            @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
-            @ApiParam(value = "分页页码", required = true) @RequestParam Integer pageNumber,
-            @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize) {
+    public Result getCourseSummary(@ApiParam(value = "学期", required = true) @RequestParam String 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));
     }
 
     @ApiOperation(value = "全校考试总览-全校课程考试分析汇总-导出课程分析Excel报表")
     @RequestMapping(value = "/exam/export_course_summary", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "全校考试总览-全校考试概况", response = TAExamCourse.class)})
-    public void exportCourseSummary(
-            @ApiParam(value = "学期", required = true) @RequestParam String semester,
-            @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
-            HttpServletResponse response) {
+    public void exportCourseSummary(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+                                    @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                                    HttpServletResponse response) {
         taExamTotalService.exportCourseSummary(semester, examId, response);
     }
 
     @ApiOperation(value = "全校考试总览-全校考试概况")
     @RequestMapping(value = "/course/get_overview", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校考试总览-全校考试概况", response = TAExamCourse.class)})
-    public Result getOverview(
-            @ApiParam(value = "学期", required = true) @RequestParam String semester,
-            @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
-            @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode) {
+    public Result getOverview(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+                              @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                              @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode) {
         return ResultUtil.ok(taExamCourseService.getOverview(semester, examId, courseCode));
     }
 
     @ApiOperation(value = "全校课程考试分析-分数段分布情况")
     @RequestMapping(value = "/course/get_grade_distribute", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "全校考试总览-全校考试概况", response = TAExamCourse.class)})
-    public Result getGradeDistribute(
-            @ApiParam(value = "学期", required = true) @RequestParam String semester,
-            @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
-            @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode) {
+    @ApiResponses({@ApiResponse(code = 200, message = "全校课程考试分析-分数段分布情况", response = Map.class)})
+    public Result getGradeDistribute(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+                                     @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                                     @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode) {
         return ResultUtil.ok(taExamCourseService.getGradeDistribute(semester, examId, courseCode));
     }
 
     @ApiOperation(value = "全校课程考试分析-教师各课堂成绩排名")
     @RequestMapping(value = "/course/list_teacher_class_rank", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校课程考试分析-教师各课堂成绩排名", response = TAExamCourseTeacher.class)})
-    public Result listTeacherClassRank(
-            @ApiParam(value = "学期", required = true) @RequestParam String semester,
-            @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
-            @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode,
-            @ApiParam(value = "分页页码", required = true) @RequestParam Integer pageNumber,
-            @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize) {
+    public Result listTeacherClassRank(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+                                       @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                                       @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode,
+                                       @ApiParam(value = "分页页码", required = true) @RequestParam Integer pageNumber,
+                                       @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize) {
         return ResultUtil.ok(taExamCourseTeacherService.listTeacherClassRank(semester, examId, courseCode, pageNumber, pageSize));
     }
+
+    @ApiOperation(value = "全校课程考试分析-考试概况-导出课程分析报表")
+    @RequestMapping(value = "/course/export_data_analysis", method = RequestMethod.POST)
+    public void exportDataAnalysis(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+                                   @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                                   @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode,
+                                   HttpServletResponse response) {
+        taExamTotalService.exportDataAnalysis(semester, examId, courseCode, response);
+    }
+
+    @ApiOperation(value = "全校教师各课堂成绩排名")
+    @RequestMapping(value = "/teacher/list_all_teacher_class_rank", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "全校课程考试分析-教师各课堂成绩排名", response = TAExamCourseTeacher.class)})
+    public Result listAllTeacherClassRank(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+                                          @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                                          @ApiParam(value = "开课学院ID", required = true) @RequestParam Long teachCollegeId,
+                                          @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode,
+                                          @ApiParam(value = "教师ID", required = true) @RequestParam 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));
+    }
 }

+ 7 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/SysController.java

@@ -309,4 +309,11 @@ public class SysController {
         return ResultUtil.ok(list);
     }
 
+    @ApiOperation(value = "获取服务器时间")
+    @RequestMapping(value = "/get_system_time", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
+    public Result getSystemTime() {
+        return ResultUtil.ok(System.currentTimeMillis());
+    }
+
 }