xiatian 11 mesiacov pred
rodič
commit
2e2e3b4b4a

+ 68 - 0
src/main/java/cn/com/qmth/am/controller/AdminController.java

@@ -88,6 +88,8 @@ public class AdminController {
 					sb.append(q.getSubjectCode() + "|" + q.getMainNumber() + "|" + q.getSubNumber()+ "| 题目满分:" + q.getFullScore()
 					sb.append(q.getSubjectCode() + "|" + q.getMainNumber() + "|" + q.getSubNumber()+ "| 题目满分:" + q.getFullScore()
 							+ "| 相关系数:" + ret+ "| 人评均分:" + avg2 + "| 机评均分:" + avg1 + "| 题数:" + scores.size() + " \r\n");
 							+ "| 相关系数:" + ret+ "| 人评均分:" + avg2 + "| 机评均分:" + avg1 + "| 题数:" + scores.size() + " \r\n");
 					fill(scores, sb,q.getFullScore(),score);
 					fill(scores, sb,q.getFullScore(),score);
+					fillMarkingCount(scores, sb);
+					fillAiCount(scores, sb);
 				} catch (Exception e) {
 				} catch (Exception e) {
 					sb.append(
 					sb.append(
 							q.getSubjectCode() + "|" + q.getMainNumber() + "|" + q.getSubNumber() + "| 相关系数出错:- \r\n");
 							q.getSubjectCode() + "|" + q.getMainNumber() + "|" + q.getSubNumber() + "| 相关系数出错:- \r\n");
@@ -137,6 +139,72 @@ public class AdminController {
 		}
 		}
 		sb.append("      "+roundedValue+"分差值:" + st + "  " + Calculator.percentage(st, total, 2) + " \r\n");
 		sb.append("      "+roundedValue+"分差值:" + st + "  " + Calculator.percentage(st, total, 2) + " \r\n");
 	}
 	}
+	
+	private void fillMarkingCount(List<StudentScoreEntity> scores, StringBuilder sb) {
+		int total = scores.size();
+		Map<DataKey, Integer> ret = new HashMap<>();
+		for (StudentScoreEntity s : scores) {
+			DataKey k = getKey(s.getMarkingScore());
+			Integer tem = ret.get(k);
+			if (tem == null) {
+				tem = 0;
+			}
+			ret.put(k, tem + 1);
+		}
+		List<DataKey> ks = new ArrayList<>(ret.keySet());
+		ks.sort(new Comparator<DataKey>() {
+			@Override
+			public int compare(DataKey o1, DataKey o2) {
+				int c1 = o1.getIndex();
+				int c2 = o2.getIndex();
+				if (c1 < c2) {
+					return -1;
+				} else if (c1 > c2) {
+					return 1;
+				} else {
+					return 0;
+				}
+			}
+		});
+		sb.append("      人评分档: \r\n");
+		for (DataKey k : ks) {
+			Integer c = ret.get(k);
+			sb.append("            " + k.getKey() + "  " + c + "  " + Calculator.percentage(c, total, 2) + " \r\n");
+		}
+	}
+	
+	private void fillAiCount(List<StudentScoreEntity> scores, StringBuilder sb) {
+		int total = scores.size();
+		Map<DataKey, Integer> ret = new HashMap<>();
+		for (StudentScoreEntity s : scores) {
+			DataKey k = getKey(s.getAiScore());
+			Integer tem = ret.get(k);
+			if (tem == null) {
+				tem = 0;
+			}
+			ret.put(k, tem + 1);
+		}
+		List<DataKey> ks = new ArrayList<>(ret.keySet());
+		ks.sort(new Comparator<DataKey>() {
+			@Override
+			public int compare(DataKey o1, DataKey o2) {
+				int c1 = o1.getIndex();
+				int c2 = o2.getIndex();
+				if (c1 < c2) {
+					return -1;
+				} else if (c1 > c2) {
+					return 1;
+				} else {
+					return 0;
+				}
+			}
+		});
+		sb.append("      机评分档: \r\n");
+		for (DataKey k : ks) {
+			Integer c = ret.get(k);
+			sb.append("            " + k.getKey() + "  " + c + "  " + Calculator.percentage(c, total, 2) + " \r\n");
+		}
+	}
 
 
 	private static DataKey getKey(double s) {
 	private static DataKey getKey(double s) {
 		if (s < 0) {
 		if (s < 0) {