基本功能完成

This commit is contained in:
xbx 2024-04-10 14:55:12 +08:00
parent f0c12f5926
commit c875139dbc
1 changed files with 23 additions and 24 deletions

View File

@ -284,38 +284,37 @@ public class CenterServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implement
//保留三位小数 //保留三位小数
DecimalFormat df = new DecimalFormat("#.###"); DecimalFormat df = new DecimalFormat("#.###");
String[] grade = {"大一", "大二", "大三", "大四"}; String[] grade = {"大一", "大二", "大三", "大四"};
JSONArray list = new JSONArray(); JSONObject resultJson = new JSONObject();
//遍历批次分年级 //遍历批次分年级
for (int i = 0; i < n; i += 2) { for (int i = 0; i < n; i += 2) {
JSONObject json = new JSONObject();
//每个年级的参加人数, 每个年级的新通过人数
double attendNumber, passNew;
//每个年级的累计通过率保留三位小数
double passRate;
//每个年级的批次
JSONArray batchsGrade = new JSONArray();
// 检查是否到达数组的最后一个元素 // 检查是否到达数组的最后一个元素
if (i == n - 1) { if (i == n - 1) {
attendNumber = attendNumber4[i]; JSONObject json = new JSONObject();
passNew = passNew4[i]; JSONArray gradeArray = new JSONArray();
passRate = passNumber[i] / (double) allStudent; json.put("batch", batchList.get(i));
batchsGrade.add(batchList.get(i)); json.put("attendNumber", attendNumber4[i]);//每个年级的参加人数,
json.put("passNumber", passNew4[i]);//每个年级的新通过人数
json.put("batchpassrate", df.format(passNew4[i] / (double) attendNumber4[i]));//每个批次新通过人数/参加人数
json.put("gradepassrate", df.format(passNumber[i] / (double) allStudent));//累计通过 / 总人数
gradeArray.add(json);
resultJson.put(grade[i / 2], gradeArray);
} else { } else {
attendNumber = attendNumber4[i] + attendNumber4[i + 1]; JSONArray gradeArray = new JSONArray();
passNew = passNew4[i] + passNew4[i + 1]; for (int j = i; j < i + 2; j++) {
passRate = passNumber[i + 1] / (double) allStudent; JSONObject json = new JSONObject();
batchsGrade.add(batchList.get(i) + " + " + batchList.get(i + 1)); json.put("batch", batchList.get(j));
json.put("attendNumber", attendNumber4[j]);//每个年级的参加人数,
json.put("passNumber", passNew4[j]);//每个年级的新通过人数
json.put("batchpassrate", df.format(passNew4[j] / (double) attendNumber4[i]));//每个批次新通过人数/参加人数
json.put("gradepassrate", df.format(passNumber[i + 1] / (double) allStudent));//累计通过 / 总人数
gradeArray.add(json);
}
resultJson.put(grade[i / 2], gradeArray);
} }
//写入json
json.put("grade", grade[i / 2]);
json.put("batch", batchsGrade);
json.put("attendNumber", attendNumber);
json.put("passNumber", passNew);
json.put("passRate", df.format(passRate));
list.add(json);
} }
System.out.println(resultJson.toJSONString());
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("cet4", list); result.put("cet4", resultJson);
result.put("total", allStudent); result.put("total", allStudent);
return Result.ok(result); return Result.ok(result);
} }