Browse Source

【task-8757】首页报错
修改数据转换模式

xiexh 3 weeks ago
parent
commit
9c0df0570b

+ 18 - 6
ibps-provider-root/modules/provider-platform-default/src/main/java/com/lc/ibps/platform/service/DesktopFacadeService.java

@@ -284,14 +284,14 @@ public class DesktopFacadeService {
 			}
 			double totalScore = Double.parseDouble(record.get("totalScore").toString());
 			double qualifiedRadio = Double.parseDouble(record.get("qualifiedRadio").toString());
-			String scoringType = (String) record.get("scoringType");
-			Number curScore = null;
+			String scoringType = record.get("scoringType") != null ? record.get("scoringType").toString() : null;
+			Double curScore = null;
 			if ("平均分".equals(scoringType)) {
-				curScore = (Number) record.get("averageScore");
+				curScore = parseScore(record.get("averageScore"));
 			} else if ("最高分".equals(scoringType)) {
-				curScore = (Number) record.get("maxScore");
+				curScore = parseScore(record.get("maxScore"));
 			} else if ("最近得分".equals(scoringType)) {
-				curScore = (Number) record.get("recentScore");
+				curScore = parseScore(record.get("recentScore"));
 			}
 			if (curScore != null) {
 				double passScore = totalScore * qualifiedRadio / 100.0;
@@ -300,7 +300,19 @@ public class DesktopFacadeService {
 		}
 		return flag;
 	}
-
+	private Double parseScore(Object value) {
+		if (value == null) {
+			return null;
+		}
+		if (value instanceof Number) {
+			return ((Number) value).doubleValue();
+		}
+		try {
+			return Double.parseDouble(value.toString());
+		} catch (NumberFormatException e) {
+			return null;
+		}
+	}
 	public Map<String, String> chargeExamPassingFlag(Map<String, Map<String, Object>> records) {
 		Map<String, String> examStatusMap = new HashMap<>();
 		if (records == null || records.isEmpty()) {