Explorar o código

修改外部电子题卡导入时的处理逻辑,增加强制遮盖模式处理

luoshi %!s(int64=2) %!d(string=hai) anos
pai
achega
3b9ced3014

+ 12 - 11
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/common/domain/card/CardFile.java

@@ -1,20 +1,17 @@
 package cn.com.qmth.stmms.biz.common.domain.card;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.commons.lang3.StringUtils;
-
 import cn.com.qmth.stmms.biz.mark.model.MarkConfigItem;
-
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.commons.lang3.StringUtils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.DecimalFormat;
+import java.util.Collections;
+import java.util.List;
 
 /**
  * 卡格式文件内容结构
@@ -65,8 +62,12 @@ public class CardFile {
             int pageNumber = 0;
             for (CardPageWrapper pageWrapper : pages) {
                 pageNumber++;
-                // 默认使用遮盖模式
+                // 强制使用遮盖模式
                 sliceConfig.addConfig(pageNumber, 0, 0, 0, 0);
+                // 如果没有infoArea则补一个
+                if (pageWrapper.getExchange().getInfoArea().isEmpty()) {
+                    pageWrapper.getExchange().getInfoArea().add(new double[] { 0, 0, 0.001, 0.001 });
+                }
             }
         }
         // 解析卡格式文件中的大题评卷坐标,用于云阅卷评卷分组设置

+ 2 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/common/domain/card/CardPage.java

@@ -162,5 +162,7 @@ public class CardPage {
         }
         //图片内容留空
         pageImage = "";
+        //主观题答题区清空,避免影响遮盖模式
+        answerArea.clear();
     }
 }