Bläddra i källkod

修改一部分专项诊断思维过程的计算,未完成

zengxj 5 år sedan
förälder
incheckning
ff5b092437
2 ändrade filer med 14 tillägg och 15 borttagningar
  1. 2 2
      deploy.sh
  2. 12 13
      src/main/java/com/yaoxiang/diagnosis/service/SpecialReportService.java

+ 2 - 2
deploy.sh

@@ -4,6 +4,6 @@ docker build -t feick/diagnosis:$date .
 echo "current tag is $date"
 sed -i "s/\${date}/$(echo $date)/g" deployment.yaml
 kubectl apply -f deployment.yaml
-sed -i "s/\${date}/$(echo $date)/g" deployment-prod.yaml
-kubectl apply -f deployment-prod.yaml
+#sed -i "s/\${date}/$(echo $date)/g" deployment-prod.yaml
+#kubectl apply -f deployment-prod.yaml
 echo "build finish."

+ 12 - 13
src/main/java/com/yaoxiang/diagnosis/service/SpecialReportService.java

@@ -3,22 +3,18 @@ package com.yaoxiang.diagnosis.service;
 import com.google.gson.reflect.TypeToken;
 import com.yaoxiang.diagnosis.config.Constants;
 import com.yaoxiang.diagnosis.entity.*;
-import com.yaoxiang.diagnosis.model.Answer;
 import com.yaoxiang.diagnosis.model.AnswerContrast;
 import com.yaoxiang.diagnosis.model.SpecialMindVo;
 import com.yaoxiang.diagnosis.util.CommonUtil;
 import com.yaoxiang.diagnosis.util.NumberUtil;
 import com.yaoxiang.diagnosis.util.ObjectUtil;
-import io.swagger.models.auth.In;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import javax.transaction.Transactional;
 import java.util.*;
-import java.util.function.Function;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
@@ -190,6 +186,9 @@ public class SpecialReportService {
         Map<Integer, String> map = contrasts.stream().collect(Collectors.toMap(AnswerContrast::getNumber, AnswerContrast::getOptions));
         //答对的选项
         Pattern pattern = Pattern.compile("(\\d+)");
+
+        Map<String, Set<Integer>> stepNumbers = new HashMap<>();
+
         for (SpecialMind mind : list) {
             String qids = mind.getQids();
             if (StringUtils.isBlank(qids)) {
@@ -197,9 +196,9 @@ public class SpecialReportService {
                 continue;
             }
             String[] qidss = qids.split(",");
-            mind.setCollectNum(qidss.length);
-            mind.setQuestionNum(qidss.length);
-
+            mind.setCollectNum(0);
+//            mind.setQuestionNum(qidss.length);
+            Set<Integer> numbers = new HashSet<>();
             for (String s : qidss) {
                 int number = 0;
                 if (s.matches("\\d+[A-E]")) {
@@ -213,16 +212,15 @@ public class SpecialReportService {
                 } else {
                     number = Integer.parseInt(s);
                 }
-                if (map.containsKey(number) && StringUtils.isBlank(map.get(number))) {
-                    //没做题
-                    mind.setCollectNum(mind.getCollectNum() - 1);
-                } else if (map.containsKey(number)) {
+                numbers.add(number);
+                if (map.containsKey(number) && StringUtils.isNotBlank(s)) {
                     String options = map.get(number);
                     if (s.contains(options)) {
-                        mind.setCollectNum(mind.getCollectNum() - 1);
+                        mind.setCollectNum(mind.getCollectNum() + 1);
                     }
                 }
             }
+            stepNumbers.put(mind.getStep(), numbers);
             //设置这个问题有没有错误
             mind.setMistake(!mind.getQuestionNum().equals(mind.getCollectNum()));
         }
@@ -235,8 +233,9 @@ public class SpecialReportService {
             int questionNum = 0;
             for (SpecialMind mind : minds) {
                 collectNum += mind.getCollectNum();
-                questionNum += mind.getQuestionNum();
+//                questionNum += mind.getQuestionNum();
             }
+            questionNum = stepNumbers.getOrDefault(entry.getKey(), new HashSet<>()).size();
             if (questionNum == 0) {
                 logger.error("一整个步骤都没考");
                 continue;