wangliang 1 рік тому
батько
коміт
1d972c2cd3

+ 14 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TCFinalScoreServiceImpl.java

@@ -26,7 +26,6 @@ import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.mark.bean.archivescore.MarkStudentScoreVo;
 import com.qmth.teachcloud.mark.dto.mark.ScoreItem;
 import com.qmth.teachcloud.mark.entity.MarkPaper;
-import com.qmth.teachcloud.mark.service.MarkPaperService;
 import com.qmth.teachcloud.mark.service.MarkStudentService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.slf4j.Logger;
@@ -131,10 +130,21 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
                                 } else if (Objects.equals(columnNames[j].trim(), "姓名")) {
                                     tcFinalScore.setName(strs[j]);
                                 } else if (Objects.equals(columnNames[j].trim(), "成绩")) {
-                                    tcFinalScore.setScore(Double.valueOf(SystemConstant.df.format(Double.valueOf(strs[j]))));
+                                    if (SystemConstant.isDouble(strs[j])) {
+                                        Double scoreTemp = Double.valueOf(SystemConstant.df.format(Double.valueOf(strs[j])));
+                                        tcFinalScore.setScore(scoreTemp);
+                                    } else {
+                                        errorData.add("excel第").add((i + 1) + "").add("行[").add(columnNames[j]).add("]请输入数字").add("\r\n");
+                                        error = true;
+                                    }
                                 } else {
-                                    score = score.add(new BigDecimal(strs[j]));
-                                    tcFinalScoreDtoList.add(new TCFinalScoreDto(strs[j], columnNames[j]));
+                                    if (SystemConstant.isDouble(strs[j])) {
+                                        score = score.add(new BigDecimal(strs[j]));
+                                        tcFinalScoreDtoList.add(new TCFinalScoreDto(strs[j], columnNames[j]));
+                                    } else {
+                                        errorData.add("excel第").add((i + 1) + "").add("行[").add(columnNames[j]).add("]请输入数字").add("\r\n");
+                                        error = true;
+                                    }
                                 }
                             }
                         }

+ 10 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TCUsualScoreServiceImpl.java

@@ -112,12 +112,17 @@ public class TCUsualScoreServiceImpl extends ServiceImpl<TCUsualScoreMapper, TCU
                                 } else if (Objects.equals(columnNames[j].trim(), "姓名")) {
                                     tcUsualScore.setName(strs[j]);
                                 } else {
-                                    Double score = Double.parseDouble(strs[j]);
-                                    if (score.doubleValue() > totalScore.doubleValue()) {
-                                        errorData.add("excel第").add((i + 1) + "").add("行[").add(columnNames[j]).add("总分大于试卷总分]").add("\r\n");
-                                        error = true;
+                                    if (SystemConstant.isDouble(strs[j])) {
+                                        Double score = Double.valueOf(SystemConstant.df.format(Double.valueOf(strs[j])));
+                                        if (score.doubleValue() > totalScore.doubleValue()) {
+                                            errorData.add("excel第").add((i + 1) + "").add("行[").add(columnNames[j]).add("]总分大于试卷总分").add("\r\n");
+                                            error = true;
+                                        } else {
+                                            tcUsualScoreDtoList.add(new TCUsualScoreDto(strs[j], columnNames[j]));
+                                        }
                                     } else {
-                                        tcUsualScoreDtoList.add(new TCUsualScoreDto(strs[j], columnNames[j]));
+                                        errorData.add("excel第").add((i + 1) + "").add("行[").add(columnNames[j]).add("]请输入数字").add("\r\n");
+                                        error = true;
                                     }
                                 }
                             }

+ 1 - 1
distributed-print-business/src/main/resources/mapper/TCFinalScoreMapper.xml

@@ -65,7 +65,7 @@
             es.clazz_name as administrativeClass
         from t_c_final_score tcfs
         join t_c_usual_score tcus on tcfs.exam_id = tcus.exam_id and tcfs.course_code = tcus.course_code and tcfs.paper_number = tcus.paper_number and tcfs.student_code = tcus.student_code
-        join exam_student es on es.exam_id = tcfs.exam_id and es.paper_number = tcfs.paper_number and es.student_code = tcfs.student_code
+        left join exam_student es on es.exam_id = tcfs.exam_id and es.paper_number = tcfs.paper_number and es.student_code = tcfs.student_code
         <where>
             <if test="examId != null and examId != ''">
                 and tcfs.exam_id = #{examId}

+ 24 - 5
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -232,7 +232,7 @@ public class SystemConstant {
     public static final String TASK = "task";
     public static final String ORG_PREFIX = "code";
     public static final String TB_TASK_ID = "tbTaskId";
-//    public static final String TB_SYNC_TASK = "tbSyncTask";
+    //    public static final String TB_SYNC_TASK = "tbSyncTask";
 //    public static final String TB_SYNC_TASK_ID = "tbSyncTaskId";
     public static final String USER = "account";
     public static final String USER_ID = "userId";
@@ -326,9 +326,9 @@ public class SystemConstant {
     public static final String ZIP_ENCRYPT_PWD = "qmthzip";
     public static final String GET = "get";
     public static final String POST = "post";
-//    public static final String PARAMS = "params";
+    //    public static final String PARAMS = "params";
     public static final String RETURN_URL = "returnUrl";
-//    public static final String SIGNATURE = "signature";
+    //    public static final String SIGNATURE = "signature";
     public static final String GET_UNKNOWN = "?";
     public static final String GET_SYMBOL = "&";
     public static final String GET_EQUAL = "=";
@@ -365,7 +365,7 @@ public class SystemConstant {
     public static final String SCHOOL_ROLE_CACHE = "school:role:cache";
     public static final String CUSTOM_PRIVILEGE_CACHE = "custom:privilege:cache";
     public static final String CUSTOM_ROLE_CACHE = "custom:role:cache";
-//    public static final String NUMBER_CACHE = "school:number:cache:";
+    //    public static final String NUMBER_CACHE = "school:number:cache:";
     public static final String ORG_COLLEGE_LEVEL_CACHE = "org:college:level:cache";
     public static final String ORG_CODE_CACHE = "org:code:cache";
 
@@ -1232,7 +1232,7 @@ public class SystemConstant {
         Random rand = new Random();
 
         for (int i = 0; i < n; i++) {
-            char digit = (char)(rand.nextInt('9' - '0') + '0');
+            char digit = (char) (rand.nextInt('9' - '0') + '0');
             sb.append(digit);
         }
 
@@ -1257,4 +1257,23 @@ public class SystemConstant {
 //        return version;
 //    }
 
+    /**
+     * 判断是否是数字
+     *
+     * @param str
+     * @return
+     */
+    public static boolean isDouble(String str) {
+        Double scoreTemp = null;
+        try {
+            scoreTemp = Double.valueOf(SystemConstant.df.format(Double.valueOf(str)));
+        } catch (Exception e) {
+        } finally {
+            if (Objects.nonNull(scoreTemp)) {
+                return true;
+            } else {
+                return false;
+            }
+        }
+    }
 }