Explorar o código

3.3.0提供公共取分方法

ting.yin hai 1 ano
pai
achega
97c928cc05

+ 3 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/ScoreItem.java

@@ -12,7 +12,7 @@ public class ScoreItem {
 
     private int mainNumber;
 
-    private String subNumber;
+    private Integer subNumber;
 
     private String title;
 
@@ -41,11 +41,11 @@ public class ScoreItem {
         this.mainNumber = mainNumber;
     }
 
-    public String getSubNumber() {
+    public Integer getSubNumber() {
         return subNumber;
     }
 
-    public void setSubNumber(String subNumber) {
+    public void setSubNumber(Integer subNumber) {
         this.subNumber = subNumber;
     }
 

+ 41 - 8
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkStudent.java

@@ -1,22 +1,25 @@
 package com.qmth.teachcloud.mark.entity;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.commons.lang.math.RandomUtils;
+import org.apache.commons.lang3.StringUtils;
+
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.entity.MarkQuestion;
 import com.qmth.teachcloud.common.enums.ScanStatus;
 import com.qmth.teachcloud.common.enums.mark.SubjectiveStatus;
 import com.qmth.teachcloud.mark.dto.mark.ScoreItem;
 import com.qmth.teachcloud.mark.utils.BigDecimalUtils;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang.math.RandomUtils;
-import org.apache.commons.lang3.StringUtils;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
 
 /**
  * <p>
@@ -31,6 +34,8 @@ import java.util.List;
 public class MarkStudent implements Serializable {
 
     public static final String SPLIT = ";";
+    
+    public static final String ANSWER_SPLIT = ",";
 
     public static final int SECRET_NUMBER_START = 10000000;
 
@@ -540,7 +545,7 @@ public class MarkStudent implements Serializable {
     }
 
     public List<String> getAnswerList() {
-        String[] values = StringUtils.split(StringUtils.trimToNull(answers), SPLIT);
+        String[] values = StringUtils.split(StringUtils.trimToNull(answers), ANSWER_SPLIT);
         List<String> list = new ArrayList<String>();
         if (values != null && values.length > 0) {
             for (String answer : values) {
@@ -576,6 +581,33 @@ public class MarkStudent implements Serializable {
         return scoreList;
     }
 
+    public List<ScoreItem> getScoreList(boolean objective,List<MarkQuestion> questionList) {
+        List<ScoreItem> scoreList = new LinkedList<ScoreItem>();
+        try {
+            String[] values = StringUtils.split(objective ? objectiveScoreList : subjectiveScoreList, SPLIT);
+            int i = 0;
+            for (String value : values) {
+            	i++;
+            	if (questionList.size() < i) {
+            		break;
+            	}
+            	MarkQuestion question = questionList.get(i - 1);
+            	if (question.getTotalScore() == null || question.getTotalScore() == 0) {
+            		continue;
+            	}
+                ScoreItem item = ScoreItem.parse(value, objective);
+                item.setObjective(objective);
+                item.setMainNumber(question.getMainNumber());
+                item.setTitle(question.getMainTitle());
+                item.setSubNumber(question.getSubNumber());
+                if (item != null) {
+                    scoreList.add(item);
+                }
+            }
+        } catch (Exception e) {
+        }
+        return scoreList;
+    }
 
     public Boolean getAssignConfirmed() {
         return assignConfirmed;
@@ -629,4 +661,5 @@ public class MarkStudent implements Serializable {
                 ", coursePaperId=" + coursePaperId +
                 "}";
     }
+    
 }

+ 3 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkSubjectiveScore.java

@@ -32,7 +32,7 @@ public class MarkSubjectiveScore implements Serializable {
     private Integer mainNumber;
 
     @ApiModelProperty(value = "小题号")
-    private String subNumber;
+    private Integer subNumber;
 
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
@@ -70,11 +70,11 @@ public class MarkSubjectiveScore implements Serializable {
     public void setMainNumber(Integer mainNumber) {
         this.mainNumber = mainNumber;
     }
-    public String getSubNumber() {
+    public Integer getSubNumber() {
         return subNumber;
     }
 
-    public void setSubNumber(String subNumber) {
+    public void setSubNumber(Integer subNumber) {
         this.subNumber = subNumber;
     }
     public Long getExamId() {