Browse Source

3.4.5 update-20250410,新功能开发

xiaofei 2 months ago
parent
commit
fcba7900d8

+ 17 - 0
distributed-print/install/mysql/upgrade/3.4.5.sql

@@ -1,3 +1,20 @@
 USE teachcloud_db;
 USE teachcloud_db;
 
 
 ALTER TABLE `mark_paper` ADD COLUMN `ai_mark` VARCHAR(12) NULL DEFAULT 'NONE' COMMENT 'AI评卷(NONE:不开启,AI_ONLY:仅AI评卷,MAN_MACHINE:人机双评)' AFTER `archive`;
 ALTER TABLE `mark_paper` ADD COLUMN `ai_mark` VARCHAR(12) NULL DEFAULT 'NONE' COMMENT 'AI评卷(NONE:不开启,AI_ONLY:仅AI评卷,MAN_MACHINE:人机双评)' AFTER `archive`;
+
+ALTER TABLE `mark_question` ADD COLUMN `ai_mark` VARCHAR(12) NULL DEFAULT 'NONE' COMMENT 'AI评卷(NONE:不开启,AI_ONLY:仅AI评卷,MAN_MACHINE:人机双评)' AFTER `left_count`;
+
+ALTER TABLE `mark_task` ADD COLUMN `ai_marked` TINYINT(1) NULL DEFAULT 0 COMMENT '是否AI评卷' AFTER `reject_reason`;
+
+CREATE TABLE `mark_ocr_student_question` (
+    `id` BIGINT(20) NOT NULL,
+    `exam_id` BIGINT(20) NULL COMMENT '考试ID',
+    `paper_number` VARCHAR(100) NULL COMMENT '试卷编号',
+    `student_id` BIGINT(20) NULL COMMENT '考生ID',
+    `question_id` BIGINT(20) NULL COMMENT '题目ID',
+    `number` INT(1) NULL COMMENT '图片序号',
+    `md5` VARCHAR(45) NULL COMMENT '图片md5',
+    `ocr_content` MEDIUMTEXT NULL COMMENT 'ocr识别内容',
+    `create_time` BIGINT(20) NULL COMMENT '识别时间',
+    PRIMARY KEY (`id`))
+    COMMENT = '考生主观题小题OCR识别结果';

+ 12 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/MarkQuestion.java

@@ -11,6 +11,7 @@ import com.qmth.teachcloud.common.bean.dto.mark.PictureConfig;
 import com.qmth.teachcloud.common.bean.marking.MarkConfigItem;
 import com.qmth.teachcloud.common.bean.marking.MarkConfigItem;
 import com.qmth.teachcloud.common.enums.ObjectivePolicy;
 import com.qmth.teachcloud.common.enums.ObjectivePolicy;
 import com.qmth.teachcloud.common.enums.ScorePolicy;
 import com.qmth.teachcloud.common.enums.ScorePolicy;
+import com.qmth.teachcloud.common.enums.mark.MarkPaperAiMark;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 
 
@@ -116,6 +117,9 @@ public class MarkQuestion extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "剩余数量")
     @ApiModelProperty(value = "剩余数量")
     private Integer leftCount;
     private Integer leftCount;
 
 
+    @ApiModelProperty(value = "AI评卷")
+    private MarkPaperAiMark aiMark;
+
     @TableField(exist = false)
     @TableField(exist = false)
     private double markScore;
     private double markScore;
 
 
@@ -321,6 +325,14 @@ public class MarkQuestion extends BaseEntity implements Serializable {
         this.leftCount = leftCount;
         this.leftCount = leftCount;
     }
     }
 
 
+    public MarkPaperAiMark getAiMark() {
+        return aiMark;
+    }
+
+    public void setAiMark(MarkPaperAiMark aiMark) {
+        this.aiMark = aiMark;
+    }
+
     public double getMarkScore() {
     public double getMarkScore() {
         return markScore;
         return markScore;
     }
     }

+ 11 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkTask.java

@@ -131,6 +131,9 @@ public class MarkTask implements Serializable {
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String rejectReason;
     private String rejectReason;
 
 
+    @ApiModelProperty(value = "是否AI评卷")
+    private Boolean aiMarked;
+
     public Long getId() {
     public Long getId() {
         return id;
         return id;
     }
     }
@@ -347,6 +350,14 @@ public class MarkTask implements Serializable {
         this.headerTagList = headerTagList;
         this.headerTagList = headerTagList;
     }
     }
 
 
+    public Boolean getAiMarked() {
+        return aiMarked;
+    }
+
+    public void setAiMarked(Boolean aiMarked) {
+        this.aiMarked = aiMarked;
+    }
+
     public List<TrackDTO> listMarkerTrack() {
     public List<TrackDTO> listMarkerTrack() {
         List<TrackDTO> markTrackList = new ArrayList<>();
         List<TrackDTO> markTrackList = new ArrayList<>();
         if (StringUtils.isNotBlank(markerTrackList)) {
         if (StringUtils.isNotBlank(markerTrackList)) {

+ 1 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkQuestionServiceImpl.java

@@ -17,6 +17,7 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.MarkQuestion;
 import com.qmth.teachcloud.common.entity.MarkQuestion;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.*;
 import com.qmth.teachcloud.common.enums.*;
+import com.qmth.teachcloud.common.enums.mark.MarkPaperAiMark;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.ConvertUtil;
 import com.qmth.teachcloud.common.util.ConvertUtil;
 import com.qmth.teachcloud.common.util.ExcelUtil;
 import com.qmth.teachcloud.common.util.ExcelUtil;