Prechádzať zdrojové kódy

修改一致性为题目满分*30%并四舍五入;

yin 11 mesiacov pred
rodič
commit
eaac37ace0

+ 11 - 13
src/main/java/cn/com/qmth/am/controller/AdminController.java

@@ -5,13 +5,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 import javax.servlet.http.HttpServletResponse;
 
@@ -91,9 +85,9 @@ public class AdminController {
 							.doubleValue();
 					double avg2 = new BigDecimal(Calculator.mean(b)).setScale(2, BigDecimal.ROUND_HALF_UP)
 							.doubleValue();
-					sb.append(q.getSubjectCode() + "|" + q.getMainNumber() + "|" + q.getSubNumber() + "| 相关系数:" + ret
-							+ "| 人评均分:" + avg2 + "| 机评均分:" + avg1 + "| 题数:" + scores.size() + " \r\n");
-					fill(scores, sb);
+					sb.append(q.getSubjectCode() + "|" + q.getMainNumber() + "|" + q.getSubNumber()+ "| 题目满分:" + q.getFullScore()
+							+ "| 相关系数:" + ret+ "| 人评均分:" + avg2 + "| 机评均分:" + avg1 + "| 题数:" + scores.size() + " \r\n");
+					fill(scores, sb,q.getFullScore(),score);
 				} catch (Exception e) {
 					sb.append(
 							q.getSubjectCode() + "|" + q.getMainNumber() + "|" + q.getSubNumber() + "| 相关系数出错:- \r\n");
@@ -103,7 +97,7 @@ public class AdminController {
 		returnJson(sb.toString(), response);
 	}
 
-	private void fill(List<StudentScoreEntity> scores, StringBuilder sb) {
+	private void fill(List<StudentScoreEntity> scores, StringBuilder sb,Double questionScore,Integer score) {
 		int total = scores.size();
 		int st = 0;
 		Map<DataKey, Integer> ret = new HashMap<>();
@@ -130,14 +124,18 @@ public class AdminController {
 				}
 			}
 		});
+		double roundedValue = Math.round(questionScore*0.3);
+		if(score!=null){
+			roundedValue =score;
+		}
 		for (DataKey k : ks) {
 			Integer c = ret.get(k);
-			if (k.getIndex() <= 2) {
+			if (k.getIndex() < roundedValue) {
 				st = st + c;
 			}
 			sb.append("      " + k.getKey() + "  " + c + "  " + Calculator.percentage(c, total, 2) + " \r\n");
 		}
-		sb.append("      3分差值:" + st + "  " + Calculator.percentage(st, total, 2) + " \r\n");
+		sb.append("      "+roundedValue+"分差值:" + st + "  " + Calculator.percentage(st, total, 2) + " \r\n");
 	}
 
 	private static DataKey getKey(double s) {