Browse Source

新增我的考试分析

wangliang 3 years ago
parent
commit
ab331960cf

+ 2 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/SurveyTeacherViewResult.java

@@ -40,11 +40,10 @@ public class SurveyTeacherViewResult implements Serializable {
         this.teachCourseSurveyResult = teachCourseSurveyResult;
     }
 
-    public SurveyTeacherViewResult(QuestionListResult questionInfo, SurveyTeacherExamCourseResult surveyTeacher, TeachCourseSurveyResult teachCourseSurveyResult, TeachCourseResult teachCourseResult) {
+    public SurveyTeacherViewResult(TeachCourseResult teachCourseResult, QuestionListResult questionInfo, SurveyTeacherExamCourseResult surveyTeacher) {
+        this.teachCourseResult = teachCourseResult;
         this.questionInfo = questionInfo;
         this.surveyTeacher = surveyTeacher;
-        this.teachCourseSurveyResult = teachCourseSurveyResult;
-        this.teachCourseResult = teachCourseResult;
     }
 
     public List<SurveyTeacherGradeDistributionResult> getGradeDistribution() {

+ 12 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TAExamCourseCollegeInspectResult.java

@@ -7,6 +7,7 @@ import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeInspect;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 /**
  * @Description: 参考课程考查学院维度分析 result
@@ -31,6 +32,17 @@ public class TAExamCourseCollegeInspectResult extends TAExamCourseCollegeInspect
     @ApiModelProperty(value = "考试名称")
     private String examName;
 
+    @ApiModelProperty(value = "试卷分数")
+    private BigDecimal fullScore;
+
+    public BigDecimal getFullScore() {
+        return fullScore;
+    }
+
+    public void setFullScore(BigDecimal fullScore) {
+        this.fullScore = fullScore;
+    }
+
     public String getExamTime() {
         return examTime;
     }

+ 13 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TeachCourseResult.java

@@ -25,6 +25,19 @@ public class TeachCourseResult extends TeachCourseSurveyResult {
     @ApiModelProperty(value = "是否缺考 1缺考 0正常")
     private Boolean absent;
 
+    public TeachCourseResult() {
+
+    }
+
+    public TeachCourseResult(TAExamCourseCollegeInspectResult taExamCourseCollegeInspectResult) {
+        setExamTime(taExamCourseCollegeInspectResult.getExamTime());
+        setCourseCode(taExamCourseCollegeInspectResult.getCourseCode());
+        setCourseName(taExamCourseCollegeInspectResult.getCourseName());
+        setFullScore(taExamCourseCollegeInspectResult.getFullScore());
+        setRealityCount(taExamCourseCollegeInspectResult.getRealityCount());
+        setAbsentCount(taExamCourseCollegeInspectResult.getAbsentCount());
+    }
+
     public int getRecordAbsentCount() {
         return recordAbsentCount;
     }

+ 13 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TAExamCourseCollegeInspectMapper.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.report.business.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qmth.teachcloud.report.business.bean.result.TAExamCourseCollegeInspectResult;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeInspect;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -35,4 +36,16 @@ public interface TAExamCourseCollegeInspectMapper extends BaseMapper<TAExamCours
      * @return
      */
     List<TAExamCourseCollegeInspectResult> findCourseDescriptiveStatisticsForSchool(@Param("examId") Long examId, @Param("courseCode") String courseCode);
+
+    /**
+     * 我的课堂考试分析-考试概况,查找全校数据
+     *
+     * @param schoolId
+     * @param semester
+     * @param examId
+     * @param courseCode
+     * @param inspectCollegeId
+     * @return
+     */
+    TAExamCourseCollegeInspectResult findTeacherInspect(@Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("inspectCollegeId") Long inspectCollegeId);
 }

+ 0 - 11
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/ReportCommonService.java

@@ -115,15 +115,4 @@ public interface ReportCommonService {
      * @return
      */
     TeachCourseSurveyResult getTeachCourseSurveyInfo(SemesterEnum semester, Long examId, String courseCode);
-
-    /**
-     * 获取我的课堂考试分析考试概况
-     *
-     * @param semester
-     * @param examId
-     * @param courseCode
-     * @param inspectCollegeId
-     * @return
-     */
-    TeachCourseResult getTeachCourseInfo(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId);
 }

+ 13 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseCollegeInspectService.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.report.business.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.report.business.bean.result.TAExamCourseCollegeInspectResult;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeInspect;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 
 import java.util.List;
 
@@ -34,4 +35,16 @@ public interface TAExamCourseCollegeInspectService extends IService<TAExamCourse
      * @return
      */
     List<TAExamCourseCollegeInspectResult> findCourseDescriptiveStatisticsForSchool(Long examId, String courseCode);
+
+    /**
+     * 我的课堂考试分析-考试概况,查找全校数据
+     *
+     * @param schoolId
+     * @param semester
+     * @param examId
+     * @param courseCode
+     * @param inspectCollegeId
+     * @return
+     */
+    TAExamCourseCollegeInspectResult findTeacherInspect(Long schoolId, SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId);
 }

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

@@ -591,19 +591,4 @@ public class ReportCommonServiceImpl implements ReportCommonService {
         teachCourseSurveyResult.setInspectCollegeNames(taExamCourse.getInspectCollegeNames());
         return teachCourseSurveyResult;
     }
-
-    /**
-     * 获取我的课堂考试分析考试概况
-     *
-     * @param semester
-     * @param examId
-     * @param courseCode
-     * @param inspectCollegeId
-     * @return
-     */
-    @Override
-    public TeachCourseResult getTeachCourseInfo(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId) {
-//        taExamCourseCollegeInspectService.getOne();
-        return null;
-    }
 }

+ 17 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeInspectServiceImpl.java

@@ -3,12 +3,14 @@ package com.qmth.teachcloud.report.business.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.report.business.bean.result.TAExamCourseCollegeInspectResult;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeInspect;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import com.qmth.teachcloud.report.business.mapper.TAExamCourseCollegeInspectMapper;
 import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeInspectService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -48,4 +50,19 @@ public class TAExamCourseCollegeInspectServiceImpl extends ServiceImpl<TAExamCou
     public List<TAExamCourseCollegeInspectResult> findCourseDescriptiveStatisticsForSchool(Long examId, String courseCode) {
         return taExamCourseCollegeInspectMapper.findCourseDescriptiveStatisticsForSchool(examId, courseCode);
     }
+
+    /**
+     * 我的课堂考试分析-考试概况,查找全校数据
+     *
+     * @param schoolId
+     * @param semester
+     * @param examId
+     * @param courseCode
+     * @param inspectCollegeId
+     * @return
+     */
+    @Override
+    public TAExamCourseCollegeInspectResult findTeacherInspect(Long schoolId, SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId) {
+        return taExamCourseCollegeInspectMapper.findTeacherInspect(schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, inspectCollegeId);
+    }
 }

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

@@ -3,7 +3,9 @@ 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.google.gson.Gson;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.report.business.bean.result.*;
@@ -12,6 +14,7 @@ import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import com.qmth.teachcloud.report.business.mapper.TAExamCourseCollegeTeacherMapper;
 import com.qmth.teachcloud.report.business.service.ReportCommonService;
+import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeInspectService;
 import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeTeacherService;
 import org.springframework.stereotype.Service;
 
@@ -40,6 +43,9 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
     @Resource
     ReportCommonService reportCommonService;
 
+    @Resource
+    TAExamCourseCollegeInspectService taExamCourseCollegeInspectService;
+
     @Override
     public IPage<TeacherClassRankResult> listClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize, String column, OrderEnum order) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
@@ -107,13 +113,21 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
      */
     @Override
     public SurveyTeacherViewResult teacherView(Long schoolId, SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId) {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        if (Objects.isNull(sysUser)) {
+            throw ExceptionResultEnum.NOT_LOGIN.exception();
+        }
+        // 考试概况
+        TAExamCourseCollegeInspectResult taExamCourseCollegeInspectResult = taExamCourseCollegeInspectService.findTeacherInspect(sysUser.getSchoolId(), semester, examId, courseCode, inspectCollegeId);
+        TeachCourseResult teachCourseResultFinal = new TeachCourseResult(taExamCourseCollegeInspectResult);
+        TeachCourseResult teachCourseResult = null;
         // 考试概况
-        TeachCourseSurveyResult teachCourseSurveyResult = reportCommonService.getTeachCourseSurveyInfo(semester, examId, courseCode);
+//        TeachCourseSurveyResult teachCourseSurveyResult = reportCommonService.getTeachCourseSurveyInfo(semester, examId, courseCode);
         //取总体和应届平均分
         SurveyTeacherExamCourseResult surveyTeacherExamCourseResult = reportCommonService.findAvgScore(schoolId, courseCode, examId, false);
         //查找题目信息
         QuestionListResult questionListResult = reportCommonService.findQuestionInfo(examId, courseCode, inspectCollegeId);
-        return new SurveyTeacherViewResult(null, questionListResult, surveyTeacherExamCourseResult, teachCourseSurveyResult);
+        return new SurveyTeacherViewResult(teachCourseResult, questionListResult, surveyTeacherExamCourseResult);
     }
 
     /**

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

@@ -63,4 +63,37 @@
             </if>
         </where>
     </select>
+
+    <select id="findTeacherInspect" resultType="com.qmth.teachcloud.report.business.bean.result.TAExamCourseCollegeInspectResult">
+        select
+            tbe.exam_time as examTime,
+            taecci.course_code as courseCode,
+            taecci.course_name as courseName,
+            tbp.total_score as fullScore,
+            taecci.reality_count as realityCount,
+            taecci.absent_count as absentCount
+        from
+            t_a_exam_course_college_inspect taecci
+        join t_b_exam tbe
+            on tbe.id = taecci.exam_id
+        join t_b_paper tbp
+            on tbp.exam_id = tbe.id and tbp.course_code = taecci.course_code
+            <where>
+                <if test="examId != null and examId != ''">
+                    and taecci.exam_id = #{examId}
+                </if>
+                <if test="schoolId != null and schoolId != ''">
+                    and tbe.school_id = #{schoolId}
+                </if>
+                <if test="semester != null and semester != ''">
+                    and tbe.semester = #{semester}
+                </if>
+                <if test="courseCode != null and courseCode != ''">
+                    and taecci.course_code = #{courseCode}
+                </if>
+                <if test="inspectCollegeId != null and inspectCollegeId != ''">
+                    and taecci.college_id = #{inspectCollegeId}
+                </if>
+            </where>
+    </select>
 </mapper>