From eb1787b257c75237b2f29eb2e81b8f5500f6417e Mon Sep 17 00:00:00 2001 From: xbx <1827135378@qq.com> Date: Wed, 27 Mar 2024 17:18:41 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=9B=9B=E5=85=AD=E7=BA=A7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CenterServiceImpl.java | 59 ++++--------------- 1 file changed, 13 insertions(+), 46 deletions(-) diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java index 0fba524c..4323d6b1 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java @@ -165,11 +165,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"}; JSONObject result = new JSONObject(); LambdaQueryWrapper Cet_4CollegeQW = new LambdaQueryWrapper<>(); - LambdaQueryWrapper Cet_6CollegeQW = new LambdaQueryWrapper<>(); double[] passNumber4 = new double[10]; //四级新通过人数 double[] attendNumber4 = new double[10]; - double[] passNumber6 = new double[10]; - double[] attendNumber6 = new double[10]; Map entryDataMap = new HashMap<>(); entryDataMap.put("2019", 0); entryDataMap.put("2020", 2); @@ -177,58 +174,39 @@ public class CenterServiceImpl implements CenterService { entryDataMap.put("2022", 6); entryDataMap.put("2023", 8); Map attendMap4 = new HashMap<>(); - Map attendMap6 = new HashMap<>(); long[] mapSize4 = new long[10]; - long[] mapSize6 = new long[10]; + int index4 = 0; for (int i = entryDataMap.get(entryDate); i < batchs.length; i++) { 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_6CollegeQW.eq(Cet_6::getCollege, college).eq(Cet_6::getEntrydate, entryDate).eq(Cet_6::getBatch, batchs[i]); List> Cet_4eEntrydate = cet4Mapper.selectMaps(Cet_4CollegeQW); - List> Cet_6eEntrydate = cet6Mapper.selectMaps(Cet_6CollegeQW); if (!Cet_4eEntrydate.isEmpty()) { for (Map map : Cet_4eEntrydate) { - if ((int) map.get("result") >= 425) { - attendMap4.put((String) map.get("id"), 1); - } else { - attendMap4.put((String) map.get("id"), 0); + String str = (String) map.get("id"); + if (!map.containsKey(str)) { + if ((int) map.get("result") >= 425) { + 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(); - passNumber4[i] = i == entryDataMap.get(entryDate) ? mapSize4[i] : mapSize4[i] - mapSize4[i - 1]; - System.out.println("参加人数:" + attendMap4.size() + ",总通过人数:" + mapSize4[i] + ",新通过人数:" + passNumber4[i]); + passNumber4[i] = i == entryDataMap.get(entryDate) ? mapSize4[index4] : mapSize4[index4] - mapSize4[index4 - 1]; + System.out.println("四级参加人数:" + attendMap4.size() + ",总通过人数:" + mapSize4[index4] + ",新通过人数:" + passNumber4[i]); + index4++; } else { // 数据为空,设置为0 attendNumber4[i] = 0; passNumber4[i] = 0; } - if (!Cet_6eEntrydate.isEmpty()) { - for (Map 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 list6 = new JSONArray(); JSONObject ans = new JSONObject(); String[] grade = {"大一", "大二", "大三", "大四"}; int temp = 0; double passSum4 = 0; - double passSum6 = 0; DecimalFormat df = new DecimalFormat("#.###"); for (int i = entryDataMap.get(entryDate); i < batchs.length - 1; i += 2) { if ((attendNumber4[i] != 0 || attendNumber4[i + 1] != 0) && temp < 4) { @@ -242,21 +220,10 @@ public class CenterServiceImpl implements CenterService { json.put("passRate", df.format(passSum4 / (double) attendMap4.size()));//累计通过人数/四年参加人数 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++; } ans.put("cet4", list4); - ans.put("cet6", list6); + ans.put("total",(double) attendMap4.size()); result.put("data", ans); return Result.ok(result); }