Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
hh 2024-03-27 17:50:56 +08:00
commit 437f242a7a
1 changed files with 13 additions and 46 deletions

View File

@ -143,11 +143,8 @@ public class CenterServiceImpl implements CenterService {
String[] batchs = {"2019-12-01", "2020-09-01", "2020-12-01", "2021-06-01", "2021-12-01", "2022-09-01", "2023-03-01", "2023-06-01", "2023-12-01", "2024-06-01"}; String[] batchs = {"2019-12-01", "2020-09-01", "2020-12-01", "2021-06-01", "2021-12-01", "2022-09-01", "2023-03-01", "2023-06-01", "2023-12-01", "2024-06-01"};
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
LambdaQueryWrapper<Cet_4> Cet_4CollegeQW = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Cet_4> Cet_4CollegeQW = new LambdaQueryWrapper<>();
LambdaQueryWrapper<Cet_6> Cet_6CollegeQW = new LambdaQueryWrapper<>();
double[] passNumber4 = new double[10]; //四级新通过人数 double[] passNumber4 = new double[10]; //四级新通过人数
double[] attendNumber4 = new double[10]; double[] attendNumber4 = new double[10];
double[] passNumber6 = new double[10];
double[] attendNumber6 = new double[10];
Map<String, Integer> entryDataMap = new HashMap<>(); Map<String, Integer> entryDataMap = new HashMap<>();
entryDataMap.put("2019", 0); entryDataMap.put("2019", 0);
entryDataMap.put("2020", 2); entryDataMap.put("2020", 2);
@ -155,58 +152,39 @@ public class CenterServiceImpl implements CenterService {
entryDataMap.put("2022", 6); entryDataMap.put("2022", 6);
entryDataMap.put("2023", 8); entryDataMap.put("2023", 8);
Map<String, Integer> attendMap4 = new HashMap<>(); Map<String, Integer> attendMap4 = new HashMap<>();
Map<String, Integer> attendMap6 = new HashMap<>();
long[] mapSize4 = new long[10]; long[] mapSize4 = new long[10];
long[] mapSize6 = new long[10]; int index4 = 0;
for (int i = entryDataMap.get(entryDate); i < batchs.length; i++) { for (int i = entryDataMap.get(entryDate); i < batchs.length; i++) {
Cet_4CollegeQW.clear(); // 清空查询条件以便重新设置 Cet_4CollegeQW.clear(); // 清空查询条件以便重新设置
Cet_6CollegeQW.clear(); // 清空查询条件以便重新设置
Cet_4CollegeQW.eq(Cet_4::getCollege, college).eq(Cet_4::getEntrydate, entryDate).eq(Cet_4::getBatch, batchs[i]); Cet_4CollegeQW.eq(Cet_4::getCollege, college).eq(Cet_4::getEntrydate, entryDate).eq(Cet_4::getBatch, batchs[i]);
Cet_6CollegeQW.eq(Cet_6::getCollege, college).eq(Cet_6::getEntrydate, entryDate).eq(Cet_6::getBatch, batchs[i]);
List<Map<String, Object>> Cet_4eEntrydate = cet4Mapper.selectMaps(Cet_4CollegeQW); List<Map<String, Object>> Cet_4eEntrydate = cet4Mapper.selectMaps(Cet_4CollegeQW);
List<Map<String, Object>> Cet_6eEntrydate = cet6Mapper.selectMaps(Cet_6CollegeQW);
if (!Cet_4eEntrydate.isEmpty()) { if (!Cet_4eEntrydate.isEmpty()) {
for (Map<String, Object> map : Cet_4eEntrydate) { for (Map<String, Object> map : Cet_4eEntrydate) {
if ((int) map.get("result") >= 425) { String str = (String) map.get("id");
attendMap4.put((String) map.get("id"), 1); if (!map.containsKey(str)) {
} else { if ((int) map.get("result") >= 425) {
attendMap4.put((String) map.get("id"), 0); attendMap4.put(str, 1);
} else {
attendMap4.put(str, 0);
}
} }
} }
mapSize4[i] = attendMap4.values().stream().filter(value -> value == 1).count(); mapSize4[index4] = attendMap4.values().stream().filter(value -> value == 1).count();
attendNumber4[i] = Cet_4eEntrydate.size(); attendNumber4[i] = Cet_4eEntrydate.size();
passNumber4[i] = i == entryDataMap.get(entryDate) ? mapSize4[i] : mapSize4[i] - mapSize4[i - 1]; passNumber4[i] = i == entryDataMap.get(entryDate) ? mapSize4[index4] : mapSize4[index4] - mapSize4[index4 - 1];
System.out.println("参加人数:" + attendMap4.size() + ",总通过人数:" + mapSize4[i] + ",新通过人数:" + passNumber4[i]); System.out.println("四级参加人数:" + attendMap4.size() + ",总通过人数:" + mapSize4[index4] + ",新通过人数:" + passNumber4[i]);
index4++;
} else { } else {
// 数据为空设置为0 // 数据为空设置为0
attendNumber4[i] = 0; attendNumber4[i] = 0;
passNumber4[i] = 0; passNumber4[i] = 0;
} }
if (!Cet_6eEntrydate.isEmpty()) {
for (Map<String, Object> map : Cet_6eEntrydate) {
if ((int) map.get("result") >= 425) {
attendMap6.put((String) map.get("id"), 1);
} else {
attendMap6.put((String) map.get("id"), 0);
}
}
mapSize6[i] = attendMap6.values().stream().filter(value -> value == 1).count();
attendNumber6[i] = Cet_6eEntrydate.size();
passNumber6[i] = i == entryDataMap.get(entryDate) ? mapSize6[i] : mapSize6[i] - mapSize6[i - 1];
System.out.println("参加人数:" + attendMap6.size() + ",总通过人数:" + mapSize6[i] + ",新通过人数:" + passNumber6[i]);
} else {
// 数据为空设置为0
attendNumber6[i] = 0;
passNumber6[i] = 0;
}
} }
JSONArray list4 = new JSONArray(); JSONArray list4 = new JSONArray();
JSONArray list6 = new JSONArray();
JSONObject ans = new JSONObject(); JSONObject ans = new JSONObject();
String[] grade = {"大一", "大二", "大三", "大四"}; String[] grade = {"大一", "大二", "大三", "大四"};
int temp = 0; int temp = 0;
double passSum4 = 0; double passSum4 = 0;
double passSum6 = 0;
DecimalFormat df = new DecimalFormat("#.###"); DecimalFormat df = new DecimalFormat("#.###");
for (int i = entryDataMap.get(entryDate); i < batchs.length - 1; i += 2) { for (int i = entryDataMap.get(entryDate); i < batchs.length - 1; i += 2) {
if ((attendNumber4[i] != 0 || attendNumber4[i + 1] != 0) && temp < 4) { if ((attendNumber4[i] != 0 || attendNumber4[i + 1] != 0) && temp < 4) {
@ -220,21 +198,10 @@ public class CenterServiceImpl implements CenterService {
json.put("passRate", df.format(passSum4 / (double) attendMap4.size()));//累计通过人数/四年参加人数 json.put("passRate", df.format(passSum4 / (double) attendMap4.size()));//累计通过人数/四年参加人数
list4.add(json); list4.add(json);
} }
if ((attendNumber6[i] != 0 || attendNumber6[i + 1] != 0) && temp < 4) {
JSONObject json = new JSONObject();
double attendNumbers = attendNumber6[i] + attendNumber6[i + 1];
double passNumbers = passNumber6[i] + passNumber6[i + 1];
passSum6 += passNumbers;
json.put("grade", grade[temp]);
json.put("attendNumber", attendNumbers);
json.put("passNumber", passNumbers);
json.put("passRate", df.format(passSum6 / (double) attendMap6.size()));
list6.add(json);
}
temp++; temp++;
} }
ans.put("cet4", list4); ans.put("cet4", list4);
ans.put("cet6", list6); ans.put("total",(double) attendMap4.size());
result.put("data", ans); result.put("data", ans);
return Result.ok(result); return Result.ok(result);
} }