xiaofei 1 tahun lalu
induk
melakukan
a7f30c5cbf

+ 2 - 2
distributed-print-business/src/main/resources/mapper/ExamStudentMapper.xml

@@ -23,11 +23,11 @@
         select id,school_id, exam_detail_course_id, student_name, student_code, ticket_number, site_number, print_paper, print_card, required_fields, extend_fields, paper_type from exam_student
     </sql>
     <insert id="insertBatch">
-        insert into exam_student (id, school_id, org_id, exam_id, exam_detail_course_id, student_name, student_code,paper_number,
+        insert into exam_student (id, school_id, org_id, exam_id, exam_detail_course_id, student_name, student_code,paper_number,course_paper_id,
         ticket_number, site_number, extend_fields, college_name, major_name, clazz_id, clazz_name, teach_clazz_id, teach_clazz_name, student_clazz_type, campus_name, create_id) values
         <foreach collection="examStudents" separator="," item="item">
             (#{item.id}, #{item.schoolId}, #{item.orgId}, #{item.examId}, #{item.examDetailCourseId}, #{item.studentName},
-            #{item.studentCode},#{item.paperNumber}, #{item.ticketNumber}, #{item.siteNumber}, #{item.extendFields}, #{item.collegeName}, #{item.majorName}, #{item.clazzId},
+            #{item.studentCode},#{item.paperNumber},#{item.coursePaperId}, #{item.ticketNumber}, #{item.siteNumber}, #{item.extendFields}, #{item.collegeName}, #{item.majorName}, #{item.clazzId},
             #{item.clazzName},#{item.teachClazzId},#{item.teachClazzName},#{item.studentClazzType},#{item.campusName}, #{item.createId})
         </foreach>
     </insert>

+ 45 - 36
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkPaper.java

@@ -1,9 +1,6 @@
 package com.qmth.teachcloud.mark.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.io.Serializable;
-
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.enums.mark.MarkMode;
@@ -11,6 +8,8 @@ import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.io.Serializable;
+
 /**
  * <p>
  * 考试科目表
@@ -20,7 +19,7 @@ import io.swagger.annotations.ApiModelProperty;
  * @since 2023-09-22
  */
 @TableName("mark_paper")
-@ApiModel(value="MarkPaper对象", description="考试科目表")
+@ApiModel(value = "MarkPaper对象", description = "考试科目表")
 public class MarkPaper implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -37,13 +36,13 @@ public class MarkPaper implements Serializable {
 
     @ApiModelProperty(value = "试卷编号(显示)")
     private String paperNumber;
-    
+
     @ApiModelProperty(value = "试卷编号(交互)")
     private String coursePaperId;
 
     @ApiModelProperty(value = "签到表编号")
     private String packageCode;
-    
+
     @ApiModelProperty(value = "客观题满分")
     private Double objectiveScore;
 
@@ -116,22 +115,23 @@ public class MarkPaper implements Serializable {
     public MarkPaper() {
     }
 
-    public MarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String packageCode, Long userId, String paperType) {
+    public MarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String packageCode, Long userId, String paperType) {
         this.examId = examId;
         this.courseCode = courseCode;
         this.courseName = courseName;
         this.paperNumber = paperNumber;
+        this.coursePaperId = coursePaperId;
         this.packageCode = packageCode;
         this.userId = userId;
         this.paperType = paperType;
         this.markMode = MarkMode.TRACK;
         this.objectiveScore = 0D;
         this.subjectiveScore = 0D;
-        this.totalScore =0D;
+        this.totalScore = 0D;
         this.studentCount = 0;
         this.uploadCount = 0;
         this.absentCount = 0;
-        this.groupStatus =false;
+        this.groupStatus = false;
         this.openMarkClass = false;
         this.status = MarkPaperStatus.FORMAL;
     }
@@ -143,6 +143,7 @@ public class MarkPaper implements Serializable {
     public void setExamId(Long examId) {
         this.examId = examId;
     }
+
     public String getCourseCode() {
         return courseCode;
     }
@@ -150,6 +151,7 @@ public class MarkPaper implements Serializable {
     public void setCourseCode(String courseCode) {
         this.courseCode = courseCode;
     }
+
     public String getCourseName() {
         return courseName;
     }
@@ -157,6 +159,7 @@ public class MarkPaper implements Serializable {
     public void setCourseName(String courseName) {
         this.courseName = courseName;
     }
+
     public String getPaperNumber() {
         return paperNumber;
     }
@@ -188,6 +191,7 @@ public class MarkPaper implements Serializable {
     public void setObjectiveScore(Double objectiveScore) {
         this.objectiveScore = objectiveScore;
     }
+
     public Double getSubjectiveScore() {
         return subjectiveScore;
     }
@@ -195,6 +199,7 @@ public class MarkPaper implements Serializable {
     public void setSubjectiveScore(Double subjectiveScore) {
         this.subjectiveScore = subjectiveScore;
     }
+
     public Double getTotalScore() {
         return totalScore;
     }
@@ -234,6 +239,7 @@ public class MarkPaper implements Serializable {
     public void setRemark(String remark) {
         this.remark = remark;
     }
+
     public String getSheetConfig() {
         return sheetConfig;
     }
@@ -241,6 +247,7 @@ public class MarkPaper implements Serializable {
     public void setSheetConfig(String sheetConfig) {
         this.sheetConfig = sheetConfig;
     }
+
     public Double getPassScore() {
         return passScore;
     }
@@ -248,6 +255,7 @@ public class MarkPaper implements Serializable {
     public void setPassScore(Double passScore) {
         this.passScore = passScore;
     }
+
     public Double getExcellentScore() {
         return excellentScore;
     }
@@ -255,6 +263,7 @@ public class MarkPaper implements Serializable {
     public void setExcellentScore(Double excellentScore) {
         this.excellentScore = excellentScore;
     }
+
     public String getCardType() {
         return cardType;
     }
@@ -370,32 +379,32 @@ public class MarkPaper implements Serializable {
     @Override
     public String toString() {
         return "MarkPaper{" +
-            "examId=" + examId +
-            ", courseCode=" + courseCode +
-            ", courseName=" + courseName +
-            ", paperNumber=" + paperNumber +
-            ", objectiveScore=" + objectiveScore +
-            ", subjectiveScore=" + subjectiveScore +
-            ", totalScore=" + totalScore +
-            ", studentCount=" + studentCount +
-            ", uploadCount=" + uploadCount +
-            ", absentCount=" + absentCount +
-            ", remark=" + remark +
-            ", sheetConfig=" + sheetConfig +
-            ", passScore=" + passScore +
-            ", excellentScore=" + excellentScore +
-            ", cardType=" + cardType +
-            ", paperFilePath=" + paperFilePath +
-            ", answerFilePath=" + answerFilePath +
-            ", autoScroll=" + autoScroll +
-            ", markMode=" + markMode +
-            ", markStartTime=" + markStartTime +
-            ", markEndTime=" + markEndTime +
-            ", sheetView=" + sheetView +
-            ", showObjectScore=" + showObjectScore +
-            ", groupStatus=" + groupStatus +
-            ", openMarkClass=" + openMarkClass +
-            ", status=" + status +
-        "}";
+                "examId=" + examId +
+                ", courseCode=" + courseCode +
+                ", courseName=" + courseName +
+                ", paperNumber=" + paperNumber +
+                ", objectiveScore=" + objectiveScore +
+                ", subjectiveScore=" + subjectiveScore +
+                ", totalScore=" + totalScore +
+                ", studentCount=" + studentCount +
+                ", uploadCount=" + uploadCount +
+                ", absentCount=" + absentCount +
+                ", remark=" + remark +
+                ", sheetConfig=" + sheetConfig +
+                ", passScore=" + passScore +
+                ", excellentScore=" + excellentScore +
+                ", cardType=" + cardType +
+                ", paperFilePath=" + paperFilePath +
+                ", answerFilePath=" + answerFilePath +
+                ", autoScroll=" + autoScroll +
+                ", markMode=" + markMode +
+                ", markStartTime=" + markStartTime +
+                ", markEndTime=" + markEndTime +
+                ", sheetView=" + sheetView +
+                ", showObjectScore=" + showObjectScore +
+                ", groupStatus=" + groupStatus +
+                ", openMarkClass=" + openMarkClass +
+                ", status=" + status +
+                "}";
     }
 }

+ 24 - 23
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkStudent.java

@@ -52,7 +52,7 @@ public class MarkStudent implements Serializable {
 
     @ApiModelProperty(value = "科目名称")
     private String courseName;
-    
+
     @ApiModelProperty(value = "试卷编号(交互)")
     private String coursePaperId;
 
@@ -165,12 +165,13 @@ public class MarkStudent implements Serializable {
     public MarkStudent() {
     }
 
-    public MarkStudent(Long id, Long examId, String courseCode, String courseName, String paperNumber, String paperType, String studentCode, String studentName, String packageCode, String examPlace, String examRoom, String college, String className) {
+    public MarkStudent(Long id, Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String paperType, String studentCode, String studentName, String packageCode, String examPlace, String examRoom, String college, String className) {
         this.id = id;
         this.examId = examId;
         this.courseCode = courseCode;
         this.courseName = courseName;
         this.paperNumber = paperNumber;
+        this.coursePaperId = coursePaperId;
         this.paperType = paperType;
         this.studentCode = studentCode;
         this.studentName = studentName;
@@ -184,7 +185,7 @@ public class MarkStudent implements Serializable {
         this.isAbsent = false;
         this.isManualAbsent = false;
         this.isBreach = false;
-        this.subjectiveStatus= SubjectiveStatus.UNMARK;
+        this.subjectiveStatus = SubjectiveStatus.UNMARK;
     }
 
     public Long getId() {
@@ -512,20 +513,20 @@ public class MarkStudent implements Serializable {
     }
 
     public Boolean getOmrAbsentChecked() {
-		return omrAbsentChecked;
-	}
+        return omrAbsentChecked;
+    }
 
-	public void setOmrAbsentChecked(Boolean omrAbsentChecked) {
-		this.omrAbsentChecked = omrAbsentChecked;
-	}
+    public void setOmrAbsentChecked(Boolean omrAbsentChecked) {
+        this.omrAbsentChecked = omrAbsentChecked;
+    }
 
-	public String getCoursePaperId() {
-		return coursePaperId;
-	}
+    public String getCoursePaperId() {
+        return coursePaperId;
+    }
 
-	public void setCoursePaperId(String coursePaperId) {
-		this.coursePaperId = coursePaperId;
-	}
+    public void setCoursePaperId(String coursePaperId) {
+        this.coursePaperId = coursePaperId;
+    }
 
     public double getTotalScore() {
         double score = 0;
@@ -548,6 +549,7 @@ public class MarkStudent implements Serializable {
         }
         return list;
     }
+
     public void setScoreList(List<ScoreItem> scoreList, boolean objective) {
         if (scoreList != null) {
             if (objective) {
@@ -573,18 +575,17 @@ public class MarkStudent implements Serializable {
         }
         return scoreList;
     }
-    
-    
 
-	public Boolean getAssignConfirmed() {
-		return assignConfirmed;
-	}
 
-	public void setAssignConfirmed(Boolean assignConfirmed) {
-		this.assignConfirmed = assignConfirmed;
-	}
+    public Boolean getAssignConfirmed() {
+        return assignConfirmed;
+    }
+
+    public void setAssignConfirmed(Boolean assignConfirmed) {
+        this.assignConfirmed = assignConfirmed;
+    }
 
-	@Override
+    @Override
     public String toString() {
         return "MarkStudent{" +
                 "id=" + id +

+ 3 - 3
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java

@@ -149,16 +149,16 @@ public class JobServiceImpl implements JobService {
 
     @Override
     public void initMarkData() {
-        log.info("开始同步数据:"+ DateDisposeUtils.dateTime(new Date()));
+        log.info("开始同步数据:" + DateDisposeUtils.dateTime(new Date()));
         // 结束阅卷的课程,不同步,3.3.0版本更新前的历史数据,统一不同步
         long startTime = DateDisposeUtils.parseDate("2023-10-01 00:00:00").getTime();
         List<ExamDetailCourseInitMarkDto> examDetailCourseInitMarkDtoList = examDetailService.listPrintFinishExamDetailCourse(ExamDetailStatusEnum.FINISH.name(), startTime, MarkPaperStatus.FINISH.name());
         for (ExamDetailCourseInitMarkDto dto : examDetailCourseInitMarkDtoList) {
-            printFinishService.insertMarkPaper(dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getPackageCode(), dto.getCreateId(), dto.getPaperType());
+            printFinishService.insertMarkPaper(dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getCoursePaperId(), dto.getPackageCode(), dto.getCreateId(), dto.getPaperType());
             printFinishService.insertMarkStudent(dto);
             printFinishService.insertScanAnswerCard(dto);
         }
-        log.info("结束同步数据:"+ DateDisposeUtils.dateTime(new Date()));
+        log.info("结束同步数据:" + DateDisposeUtils.dateTime(new Date()));
     }
 
     /**

+ 1 - 1
teachcloud-task/src/main/java/com/qmth/teachcloud/task/service/PrintFinishService.java

@@ -7,7 +7,7 @@ import com.qmth.distributed.print.business.bean.dto.initMarkData.ExamDetailCours
  */
 public interface PrintFinishService {
 
-    void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String packageCode, Long userId, String paperType);
+    void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String packageCode, Long userId, String paperType);
 
     void insertMarkStudent(ExamDetailCourseInitMarkDto examDetail);
 

+ 3 - 3
teachcloud-task/src/main/java/com/qmth/teachcloud/task/service/impl/PrintFinishServiceImpl.java

@@ -76,13 +76,13 @@ public class PrintFinishServiceImpl implements PrintFinishService {
      * @param packageCode
      */
     @Override
-    public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String packageCode, Long userId, String paperType) {
+    public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String packageCode, Long userId, String paperType) {
         try {
             MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
             if (markPaper != null) {
                 return;
             }
-            MarkPaper insertMarkPaper = new MarkPaper(examId, courseCode, courseName, paperNumber, packageCode, userId, paperType);
+            MarkPaper insertMarkPaper = new MarkPaper(examId, courseCode, courseName, paperNumber, coursePaperId, packageCode, userId, paperType);
             markPaperService.save(insertMarkPaper);
         } catch (Exception e) {
             log.info("同步考试课程失败");
@@ -101,7 +101,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
                 if (markStudent != null) {
                     continue;
                 }
-                MarkStudent student = new MarkStudent(examStudent.getId(), dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getPaperType(), examStudent.getStudentCode(), examStudent.getStudentName(), dto.getPackageCode(), dto.getExamPlace(), dto.getExamRoom(), examStudent.getCollegeName(), examStudent.getStudentName());
+                MarkStudent student = new MarkStudent(examStudent.getId(), dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getCoursePaperId(), dto.getPaperType(), examStudent.getStudentCode(), examStudent.getStudentName(), dto.getPackageCode(), dto.getExamPlace(), dto.getExamRoom(), examStudent.getCollegeName(), examStudent.getStudentName());
                 if (student.getSecretNumber() == null) {
                     student.randomSecretNumber();
                     while (secretNumberSet.contains(student.getSecretNumber())