wangliang 4 年之前
父节点
当前提交
8c007365f2

+ 60 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/ExamRecordResult.java

@@ -0,0 +1,60 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description: ExamRecordResult
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/6/10
+ */
+public class ExamRecordResult implements Serializable {
+
+    @ApiModelProperty(value = "考生准考证号")
+    private String ticketNumber;
+
+    @ApiModelProperty(value = "学院名称")
+    private String collegeName;
+
+    @ApiModelProperty(value = "赋分分数")
+    private BigDecimal assignedScore;
+
+    @ApiModelProperty(value = "百分位等级")
+    private BigDecimal percentGrade;
+
+    public String getTicketNumber() {
+        return ticketNumber;
+    }
+
+    public void setTicketNumber(String ticketNumber) {
+        this.ticketNumber = ticketNumber;
+    }
+
+    public String getCollegeName() {
+        return collegeName;
+    }
+
+    public void setCollegeName(String collegeName) {
+        this.collegeName = collegeName;
+    }
+
+    public BigDecimal getAssignedScore() {
+        return assignedScore;
+    }
+
+    public void setAssignedScore(BigDecimal assignedScore) {
+        this.assignedScore = assignedScore;
+    }
+
+    public BigDecimal getPercentGrade() {
+        return percentGrade;
+    }
+
+    public void setPercentGrade(BigDecimal percentGrade) {
+        this.percentGrade = percentGrade;
+    }
+}

+ 10 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TAExamCourseRecordMapper.java

@@ -1,6 +1,7 @@
 package com.qmth.teachcloud.report.business.mapper;
 package com.qmth.teachcloud.report.business.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.teachcloud.report.business.bean.result.ExamRecordResult;
 import com.qmth.teachcloud.report.business.bean.result.ExamStudentResult;
 import com.qmth.teachcloud.report.business.bean.result.ExamStudentResult;
 import com.qmth.teachcloud.report.business.bean.result.SynthesisResult;
 import com.qmth.teachcloud.report.business.bean.result.SynthesisResult;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseRecord;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseRecord;
@@ -24,4 +25,13 @@ public interface TAExamCourseRecordMapper extends BaseMapper<TAExamCourseRecord>
     ExamStudentResult getStudent(@Param("schoolId") String schoolId, @Param("examId") String examId, @Param("studentCode") String studentCode, @Param("courseCode") String courseCode);
     ExamStudentResult getStudent(@Param("schoolId") String schoolId, @Param("examId") String examId, @Param("studentCode") String studentCode, @Param("courseCode") String courseCode);
 
 
     SynthesisResult getSynthesisResult(@Param("schoolId") String schoolId, @Param("examId") String examId, @Param("studentCode") String studentCode, @Param("courseCode") String courseCode);
     SynthesisResult getSynthesisResult(@Param("schoolId") String schoolId, @Param("examId") String examId, @Param("studentCode") String studentCode, @Param("courseCode") String courseCode);
+
+    /**
+     * 查询考生信息
+     *
+     * @param examId
+     * @param courseCode
+     * @return
+     */
+    List<ExamRecordResult> findExamRecordByExamIdAndCourseCode(@Param("examId") Long examId, @Param("courseCode") String courseCode);
 }
 }

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

@@ -20,4 +20,14 @@ public interface ReportCommonService {
      * @return
      * @return
      */
      */
     CourseInfoResult findCourseInfo(Long examId, String courseCode, Long collegeId);
     CourseInfoResult findCourseInfo(Long examId, String courseCode, Long collegeId);
+
+    /**
+     * 学院学科报表科目描述
+     *
+     * @param examId
+     * @param courseCode
+     * @param collegeId
+     * @return
+     */
+    Object findCourseDistribution(Long examId, String courseCode, Long collegeId);
 }
 }

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

@@ -1,8 +1,11 @@
 package com.qmth.teachcloud.report.business.service;
 package com.qmth.teachcloud.report.business.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.teachcloud.report.business.bean.result.ExamRecordResult;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseRecord;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseRecord;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 参考课程考生成绩维度表 服务类
  * 参考课程考生成绩维度表 服务类
@@ -13,4 +16,12 @@ import com.qmth.teachcloud.report.business.entity.TAExamCourseRecord;
  */
  */
 public interface TAExamCourseRecordService extends IService<TAExamCourseRecord> {
 public interface TAExamCourseRecordService extends IService<TAExamCourseRecord> {
 
 
+    /**
+     * 查询考生信息
+     *
+     * @param examId
+     * @param courseCode
+     * @return
+     */
+    List<ExamRecordResult> findExamRecordByExamIdAndCourseCode(Long examId, String courseCode);
 }
 }

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

@@ -85,4 +85,17 @@ public class ReportCommonServiceImpl implements ReportCommonService {
         DescriptiveStatisticsResult descriptiveStatisticsResult = new DescriptiveStatisticsResult(collegeDescriptiveStatistics, schoolDescriptiveStatistics);
         DescriptiveStatisticsResult descriptiveStatisticsResult = new DescriptiveStatisticsResult(collegeDescriptiveStatistics, schoolDescriptiveStatistics);
         return new CourseInfoResult(TBPaperInfoResult, descriptiveStatisticsResult);
         return new CourseInfoResult(TBPaperInfoResult, descriptiveStatisticsResult);
     }
     }
+
+    /**
+     * 学院学科报表科目描述
+     *
+     * @param examId
+     * @param courseCode
+     * @param collegeId
+     * @return
+     */
+    @Override
+    public Object findCourseDistribution(Long examId, String courseCode, Long collegeId) {
+        return null;
+    }
 }
 }

+ 18 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseRecordServiceImpl.java

@@ -1,11 +1,15 @@
 package com.qmth.teachcloud.report.business.service.impl;
 package com.qmth.teachcloud.report.business.service.impl;
 
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.teachcloud.report.business.bean.result.ExamRecordResult;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseRecord;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseRecord;
 import com.qmth.teachcloud.report.business.mapper.TAExamCourseRecordMapper;
 import com.qmth.teachcloud.report.business.mapper.TAExamCourseRecordMapper;
 import com.qmth.teachcloud.report.business.service.TAExamCourseRecordService;
 import com.qmth.teachcloud.report.business.service.TAExamCourseRecordService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import javax.annotation.Resource;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 参考课程考生成绩维度表 服务实现类
  * 参考课程考生成绩维度表 服务实现类
@@ -17,4 +21,18 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class TAExamCourseRecordServiceImpl extends ServiceImpl<TAExamCourseRecordMapper, TAExamCourseRecord> implements TAExamCourseRecordService {
 public class TAExamCourseRecordServiceImpl extends ServiceImpl<TAExamCourseRecordMapper, TAExamCourseRecord> implements TAExamCourseRecordService {
 
 
+    @Resource
+    TAExamCourseRecordMapper taExamCourseRecordMapper;
+
+    /**
+     * 查询考生信息
+     *
+     * @param examId
+     * @param courseCode
+     * @return
+     */
+    @Override
+    public List<ExamRecordResult> findExamRecordByExamIdAndCourseCode(Long examId, String courseCode) {
+        return taExamCourseRecordMapper.findExamRecordByExamIdAndCourseCode(examId, courseCode);
+    }
 }
 }

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

@@ -63,6 +63,9 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
     @Resource
     @Resource
     ReportCommonService reportCommonService;
     ReportCommonService reportCommonService;
 
 
+    @Resource
+    TAExamCourseRecordService taExamCourseRecordService;
+
     /**
     /**
      * 开课课程考试总览列表接口
      * 开课课程考试总览列表接口
      *
      *

+ 79 - 54
teachcloud-report-business/src/main/resources/mapper/TAExamCourseRecordMapper.xml

@@ -5,20 +5,20 @@
     <select id="listExamCourseRecord"
     <select id="listExamCourseRecord"
             resultType="com.qmth.teachcloud.report.business.entity.TAExamCourseRecord">
             resultType="com.qmth.teachcloud.report.business.entity.TAExamCourseRecord">
         SELECT
         SELECT
-            a.assigned_score assignedScore,
-            a.student_code studentCode,
-            a.current
+        a.assigned_score assignedScore,
+        a.student_code studentCode,
+        a.current
         FROM
         FROM
-            t_a_exam_course_record a
-                LEFT JOIN
-            t_b_exam b ON a.exam_id = b.id
+        t_a_exam_course_record a
+        LEFT JOIN
+        t_b_exam b ON a.exam_id = b.id
         WHERE
         WHERE
         <where>
         <where>
             and b.school_id = #{schoolId}
             and b.school_id = #{schoolId}
             <if test="semester != null and semester != ''">
             <if test="semester != null and semester != ''">
                 AND b.semester = #{semester}
                 AND b.semester = #{semester}
             </if>
             </if>
-            <if test="examId != null">
+            <if test="examId != null and examId != ''">
                 AND a.exam_id = #{examId}
                 AND a.exam_id = #{examId}
             </if>
             </if>
             <if test="courseCode != null and courseCode != ''">
             <if test="courseCode != null and courseCode != ''">
@@ -26,29 +26,30 @@
             </if>
             </if>
         </where>
         </where>
     </select>
     </select>
+
     <select id="getStudent" resultType="com.qmth.teachcloud.report.business.bean.result.ExamStudentResult">
     <select id="getStudent" resultType="com.qmth.teachcloud.report.business.bean.result.ExamStudentResult">
         SELECT
         SELECT
-            a.rank_level level,
-            c.name collegeName,
-            d.name courseName,
-            b.exam_name examName,
-            e.name examStudentName,
-            a.student_code studentCode,
-            b.exam_time time,
-            f.clazz_name className
+        a.rank_level level,
+        c.name collegeName,
+        d.name courseName,
+        b.exam_name examName,
+        e.name examStudentName,
+        a.student_code studentCode,
+        b.exam_time time,
+        f.clazz_name className
         FROM
         FROM
-            t_a_exam_course_record a
-                LEFT JOIN
-            t_b_exam b ON a.exam_id = b.id
-                LEFT JOIN
-            sys_org c ON a.inspect_college_id = c.id
-                LEFT JOIN
-            basic_course d ON a.school_id = d.school_id
-                AND a.course_code = d.code
-                LEFT JOIN
-            t_b_student e ON a.student_id = e.id
-                LEFT JOIN
-            t_b_school_clazz f ON a.clazz_id = f.id
+        t_a_exam_course_record a
+        LEFT JOIN
+        t_b_exam b ON a.exam_id = b.id
+        LEFT JOIN
+        sys_org c ON a.inspect_college_id = c.id
+        LEFT JOIN
+        basic_course d ON a.school_id = d.school_id
+        AND a.course_code = d.code
+        LEFT JOIN
+        t_b_student e ON a.student_id = e.id
+        LEFT JOIN
+        t_b_school_clazz f ON a.clazz_id = f.id
         <where>
         <where>
             and a.school_id = #{schoolId}
             and a.school_id = #{schoolId}
             and a.exam_id = #{examId}
             and a.exam_id = #{examId}
@@ -56,37 +57,38 @@
             and a.course_code = #{courseCode}
             and a.course_code = #{courseCode}
         </where>
         </where>
     </select>
     </select>
+
     <select id="getSynthesisResult"
     <select id="getSynthesisResult"
             resultType="com.qmth.teachcloud.report.business.bean.result.SynthesisResult">
             resultType="com.qmth.teachcloud.report.business.bean.result.SynthesisResult">
         SELECT
         SELECT
-            ROUND(a.assigned_score, 1) myScore,
-            b.reality_count actualCount,
-            ROUND(a.over_college_rate, 1) overRate,
-            ROUND(b.min_score, 1) collegeMinScore,
-            ROUND(b.avg_score, 1) collegeAvgScore,
-            ROUND(b.max_score, 1) collegeMaxScore,
-            ROUND(c.min_score, 1) clazzMinScore,
-            ROUND(c.avg_score, 1) clazzAvgScore,
-            ROUND(c.max_score, 1) clazzMaxScore,
-            ROUND(d.total_score, 1) fullScore,
-            ROUND(d.current_score_rate, 1) difficult,
-            d.difficulty difficultInfo
+        ROUND(a.assigned_score, 1) myScore,
+        b.reality_count actualCount,
+        ROUND(a.over_college_rate, 1) overRate,
+        ROUND(b.min_score, 1) collegeMinScore,
+        ROUND(b.avg_score, 1) collegeAvgScore,
+        ROUND(b.max_score, 1) collegeMaxScore,
+        ROUND(c.min_score, 1) clazzMinScore,
+        ROUND(c.avg_score, 1) clazzAvgScore,
+        ROUND(c.max_score, 1) clazzMaxScore,
+        ROUND(d.total_score, 1) fullScore,
+        ROUND(d.current_score_rate, 1) difficult,
+        d.difficulty difficultInfo
         FROM
         FROM
-            t_a_exam_course_record a
-                LEFT JOIN
-            t_a_exam_course_college_inspect b ON a.school_id = b.school_id
-                AND a.exam_id = b.exam_id
-                AND a.course_code = b.course_code
-                AND a.inspect_college_id = b.college_id
-                LEFT JOIN
-            t_a_exam_course_clazz c ON a.school_id = c.school_id
-                AND a.exam_id = c.exam_id
-                AND a.course_code = c.course_code
-                AND a.clazz_id = c.clazz_id
-                LEFT JOIN
-            t_a_exam_course d ON a.school_id = d.school_id
-                AND a.exam_id = d.exam_id
-                AND a.course_code = d.course_code
+        t_a_exam_course_record a
+        LEFT JOIN
+        t_a_exam_course_college_inspect b ON a.school_id = b.school_id
+        AND a.exam_id = b.exam_id
+        AND a.course_code = b.course_code
+        AND a.inspect_college_id = b.college_id
+        LEFT JOIN
+        t_a_exam_course_clazz c ON a.school_id = c.school_id
+        AND a.exam_id = c.exam_id
+        AND a.course_code = c.course_code
+        AND a.clazz_id = c.clazz_id
+        LEFT JOIN
+        t_a_exam_course d ON a.school_id = d.school_id
+        AND a.exam_id = d.exam_id
+        AND a.course_code = d.course_code
         <where>
         <where>
             and a.school_id = #{schoolId}
             and a.school_id = #{schoolId}
             and a.exam_id = #{examId}
             and a.exam_id = #{examId}
@@ -94,4 +96,27 @@
             and a.course_code = #{courseCode}
             and a.course_code = #{courseCode}
         </where>
         </where>
     </select>
     </select>
+
+    <select id="findExamRecordByExamIdAndCourseCode" resultType="com.qmth.teachcloud.report.business.bean.result.ExamRecordResult">
+        SELECT
+            tbes.ticket_number AS ticketNumber,
+            (select so.name from sys_org so where so.id = taecr.inspect_college_id) AS collegeName,
+            assigned_score AS assignedScore,
+            percent_grade AS percentGrade
+        FROM
+            t_a_exam_course_record taecr
+            join t_b_exam_record tber
+            on tber.id = taecr.exam_record_id
+            join t_b_exam_student tbes
+            on tber.exam_student_id = tbes.id
+           <where>
+               <if test="examId != null">
+                   AND taecr.exam_id = #{examId}
+               </if>
+               <if test="courseCode != null and courseCode != ''">
+                   AND taecr.course_code = #{courseCode}
+               </if>
+               and taecr.absent = 0
+           </where>
+    </select>
 </mapper>
 </mapper>