浏览代码

3.4.0 update

xiaofei 11 月之前
父节点
当前提交
07f9c19926

+ 9 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/score/CheckScoreListDto.java

@@ -12,6 +12,7 @@ public class CheckScoreListDto {
     private String courseCode;
     private String courseName;
     private String paperNumber;
+    private String paperType;
     private Integer studentCount;
     private Integer uploadCount;
 
@@ -55,6 +56,14 @@ public class CheckScoreListDto {
         this.paperNumber = paperNumber;
     }
 
+    public String getPaperType() {
+        return paperType;
+    }
+
+    public void setPaperType(String paperType) {
+        this.paperType = paperType;
+    }
+
     public Integer getStudentCount() {
         return studentCount;
     }

+ 16 - 8
teachcloud-mark/src/main/resources/mapper/MarkPaperMapper.xml

@@ -101,11 +101,26 @@
         bc.code courseCode,
         bc.name courseName,
         mp.paper_number paperNumber,
-        mp.student_count studentCount,
+        mp.paper_type,
+        ifnull(c.student_count, 0) studentCount,
         mp.upload_count uploadCount
         FROM
         mark_paper mp
         LEFT JOIN basic_course bc ON mp.course_id = bc.id
+        LEFT JOIN (SELECT exam_id, paper_number, count(1) student_count FROM  (select exam_id, paper_number,basic_student_id from mark_student where exam_id = #{examId}
+        <if test="paperNumber != null and paperNumber != ''">
+            AND paper_number = #{paperNumber}
+        </if>
+        ) ms join (select id, teacher_id from basic_exam_student where exam_id = #{examId}
+        <if test="paperNumber != null and paperNumber != ''">
+            AND paper_number = #{paperNumber}
+        </if>
+        <if test="dpr != null">
+            <if test="dpr.requestUserId != null">
+                AND teacher_id = #{dpr.requestUserId}
+            </if>
+        </if>) bes on ms.basic_student_id = bes.id
+        group by exam_id, paper_number) c ON mp.exam_id = c.exam_id and mp.paper_number = c.paper_number
         where mp.exam_id = #{examId}
         <if test="courseId != null">
             AND mp.course_id = #{courseId}
@@ -114,13 +129,6 @@
             AND mp.paper_number = #{paperNumber}
         </if>
         <if test="dpr != null">
-            <if test="dpr.requestUserId != null">
-                AND EXISTS( SELECT 1 FROM  (select exam_id, paper_number,basic_student_id from mark_student where exam_id = #{examId}
-                            <if test="paperNumber != null and paperNumber != ''">
-                                AND paper_number = #{paperNumber}
-                            </if>
-                            ) ms join (select id from basic_exam_student where exam_id = #{examId} and teacher_id = #{dpr.requestUserId}) bes on ms.basic_student_id = bes.id WHERE mp.exam_id = ms.exam_id and mp.paper_number = ms.paper_number)
-            </if>
             <if test="dpr.courseUserId != null">
                 AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = mp.course_id)
             </if>