Browse Source

修改总分计算方式

zengxj 6 năm trước cách đây
mục cha
commit
c4ea697be5

+ 0 - 1
src/main/java/edu/math/diagnosis/controller/ExcelController.java

@@ -9,7 +9,6 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import java.io.File;
 import java.util.List;
 
 @Api(tags = "上传报告能力、知识点、问题、分数段数据")

+ 1 - 1
src/main/java/edu/math/diagnosis/controller/OpenController.java

@@ -1,8 +1,8 @@
 package edu.math.diagnosis.controller;
 
 import edu.math.diagnosis.entity.UserInfo;
-import edu.math.diagnosis.service.UserService;
 import edu.math.diagnosis.model.Constants;
+import edu.math.diagnosis.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;

+ 0 - 1
src/main/java/edu/math/diagnosis/controller/PaperResultController.java

@@ -8,7 +8,6 @@ import edu.math.diagnosis.service.PaperResultService;
 import edu.math.diagnosis.service.PaperService;
 import io.swagger.annotations.Api;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 

+ 1 - 1
src/main/java/edu/math/diagnosis/controller/UserManagerController.java

@@ -1,8 +1,8 @@
 package edu.math.diagnosis.controller;
 
 import edu.math.diagnosis.entity.UserInfo;
-import edu.math.diagnosis.service.UserService;
 import edu.math.diagnosis.model.Constants;
+import edu.math.diagnosis.service.UserService;
 import io.swagger.annotations.Api;
 import org.springframework.web.bind.annotation.*;
 

+ 0 - 1
src/main/java/edu/math/diagnosis/entity/PaperResult.java

@@ -5,7 +5,6 @@ import org.hibernate.annotations.CreationTimestamp;
 
 import javax.persistence.*;
 import java.util.Date;
-import java.util.List;
 
 /**
  * @AUTHOR: DaiFengWen

+ 0 - 3
src/main/java/edu/math/diagnosis/service/AbilityScoreService.java

@@ -1,13 +1,10 @@
 package edu.math.diagnosis.service;
 
 import edu.math.diagnosis.dao.AbilityScoreRepo;
-import edu.math.diagnosis.dao.SubjectAbilityRepo;
 import edu.math.diagnosis.entity.AbilityScore;
-import edu.math.diagnosis.entity.SubjectAbility;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.List;
 
 @Service
 public class AbilityScoreService {

+ 19 - 17
src/main/java/edu/math/diagnosis/service/PaperResultService.java

@@ -41,35 +41,37 @@ public class PaperResultService {
 //        result.setJsonScore("");
 //        result.setCollectQuestion("");
         //TODO 需要修改强转
-        Map<String,Double> pData = ObjectUtil.json2Object(paper.getJsonScore(),Map.class);
+        Map<String, Double> pData = ObjectUtil.json2Object(paper.getJsonScore(), Map.class);
         //清空value为0
-        pData.keySet().forEach(d->pData.put(d,0d));
+        pData.keySet().forEach(d -> pData.put(d, 0d));
         final Double[] score = {0d};
-        for (Question q:questions){
+        for (Question q : questions) {
             String ans = q.getAnswer();
-            if(StringUtils.isBlank(ans)){
+            if (StringUtils.isBlank(ans)) {
                 continue;
             }
             Answer a = answers.stream().filter(answer -> answer.getNumber() == q.getNumber())
                     .findFirst().orElse(null);
-            if(a == null || StringUtils.isBlank(a.getOptions())){
+            if (a == null || StringUtils.isBlank(a.getOptions())) {
                 continue;
             }
-            if(ans.equalsIgnoreCase(a.getOptions())){
+            if (ans.equalsIgnoreCase(a.getOptions())) {
                 collectQuestion.add(q.getNumber());
                 String jsonScore = q.getJsonScore();
-                Map<String,Double> qData = ObjectUtil.json2Object(jsonScore,Map.class);
-                pData.keySet().forEach(d->{
-                    Double pData0 = qData.getOrDefault(d,0d) + pData.get(d);
-                    score[0] +=qData.getOrDefault(d,0d);
-                    pData.put(d,pData0);
+                Map<String, Double> qData = ObjectUtil.json2Object(jsonScore, Map.class);
+                pData.keySet().forEach(d -> {
+                    Double pData0 = qData.getOrDefault(d, 0d) + pData.get(d);
+                    score[0] += qData.getOrDefault(d, 0d);
+                    pData.put(d, pData0);
                 });
             }
         }
-        result.setCollectQuestion(StringUtils.join(collectQuestion,","));
+        result.setCollectQuestion(StringUtils.join(collectQuestion, ","));
         result.setJsonScore(ObjectUtil.object2Json(pData));
-        result.setScore(score[0]);
-        result.setTotalScore(Double.valueOf(paper.getTotalScore()));
+        //转换分数为百分制
+        double totalScore = paper.getTotalScore();
+        result.setScore(totalScore == 0 ? score[0] : score[0] / totalScore);
+        result.setTotalScore(totalScore);
         paperResultRepo.save(result);
         logger.info("答案分析保存成功");
         return Result.ok(result);
@@ -79,11 +81,11 @@ public class PaperResultService {
         return paperResultRepo.save(result);
     }
 
-    public PaperResult get(Long resultId){
+    public PaperResult get(Long resultId) {
         return paperResultRepo.getOne(resultId);
     }
 
-    public List<PaperResult> findByUidAndPid(String pid,String uid){
-        return paperResultRepo.findByPidAndUid(pid,uid);
+    public List<PaperResult> findByUidAndPid(String pid, String uid) {
+        return paperResultRepo.findByPidAndUid(pid, uid);
     }
 }

+ 3 - 3
src/main/java/edu/math/diagnosis/service/PaperService.java

@@ -4,12 +4,12 @@ import edu.math.diagnosis.dao.OptionRepo;
 import edu.math.diagnosis.dao.PaperRepo;
 import edu.math.diagnosis.dao.QuestionRepo;
 import edu.math.diagnosis.entity.*;
-import edu.math.diagnosis.util.ObjectUtil;
-import edu.math.diagnosis.word.WordService;
+import edu.math.diagnosis.model.Constants;
 import edu.math.diagnosis.model.PaperVo;
 import edu.math.diagnosis.model.Result;
 import edu.math.diagnosis.util.CommonUtil;
-import edu.math.diagnosis.model.Constants;
+import edu.math.diagnosis.util.ObjectUtil;
+import edu.math.diagnosis.word.WordService;
 import edu.math.diagnosis.word.WordUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;

+ 1 - 1
src/main/java/edu/math/diagnosis/service/PaperTemplateService.java

@@ -2,8 +2,8 @@ package edu.math.diagnosis.service;
 
 import edu.math.diagnosis.dao.PaperTemplateRepo;
 import edu.math.diagnosis.entity.PaperTemplate;
-import edu.math.diagnosis.util.CommonUtil;
 import edu.math.diagnosis.model.Constants;
+import edu.math.diagnosis.util.CommonUtil;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;

+ 1 - 1
src/main/java/edu/math/diagnosis/service/QuestionService.java

@@ -4,9 +4,9 @@ import edu.math.diagnosis.dao.QuestionRepo;
 import edu.math.diagnosis.entity.Paper;
 import edu.math.diagnosis.entity.Question;
 import edu.math.diagnosis.entity.QuestionOption;
-import edu.math.diagnosis.word.WordService;
 import edu.math.diagnosis.model.Result;
 import edu.math.diagnosis.util.CommonUtil;
+import edu.math.diagnosis.word.WordService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 

+ 0 - 2
src/main/java/edu/math/diagnosis/service/UserService.java

@@ -6,8 +6,6 @@ import edu.math.diagnosis.dao.UserRepo;
 import edu.math.diagnosis.entity.UserInfo;
 import edu.math.diagnosis.util.MD5Util;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.domain.Example;
-import org.springframework.data.domain.ExampleMatcher;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 

+ 0 - 2
src/main/java/edu/math/diagnosis/word/KnowledgeUtil.java

@@ -5,10 +5,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.springframework.stereotype.Component;
 
 import java.io.ByteArrayInputStream;
-import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 

+ 5 - 2
src/main/java/edu/math/diagnosis/word/WordService.java

@@ -1,10 +1,13 @@
 package edu.math.diagnosis.word;
 
-import edu.math.diagnosis.entity.*;
+import edu.math.diagnosis.entity.AbilityScore;
+import edu.math.diagnosis.entity.PaperTemplate;
+import edu.math.diagnosis.entity.Question;
+import edu.math.diagnosis.entity.QuestionOption;
+import edu.math.diagnosis.model.Constants;
 import edu.math.diagnosis.service.FileService;
 import edu.math.diagnosis.service.LocalFileService;
 import edu.math.diagnosis.util.CommonUtil;
-import edu.math.diagnosis.model.Constants;
 import edu.math.diagnosis.util.ObjectUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.xwpf.usermodel.*;