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 68fc6a7a..7dadc1cc 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 @@ -209,10 +209,10 @@ public class CenterServiceImpl extends ServiceImpl implement public Result getData(String college, String major, String entryDate) { //判断是否存在缓存 String key = "getData:" + college + major + entryDate; - if (Boolean.TRUE.equals(redisTemplate.hasKey(key))) { - System.out.println((JSONObject) redisTemplate.opsForValue().get(key)); - return Result.ok((JSONObject) redisTemplate.opsForValue().get(key)); - } +// if (Boolean.TRUE.equals(redisTemplate.hasKey(key))) { +// System.out.println((JSONObject) redisTemplate.opsForValue().get(key)); +// return Result.ok((JSONObject) redisTemplate.opsForValue().get(key)); +// } //获取所有batch JSONObject batch = getBatch(); JSONArray batchsArray = batch.getJSONArray("batches"); @@ -339,8 +339,8 @@ public class CenterServiceImpl extends ServiceImpl implement json.put("batch", 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)));//累计通过 / 总人数 + json.put("batchpassrate", df.format(((attendNumber4[i] == 0) ? 0 : passNew4[i] / (double) attendNumber4[i])));//每个批次新通过人数/参加人数 + json.put("gradepassrate", df.format(((allStudent == 0) ? 0 : passNumber[i] / (double) allStudent)));//累计通过 / 总人数 gradeArray.add(json); resultJson.put(grade[i / 2], gradeArray); } else { @@ -350,8 +350,8 @@ public class CenterServiceImpl extends ServiceImpl implement 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[j])));//每个批次新通过人数/参加人数 - json.put("gradepassrate", df.format((passNumber[i + 1] / (double) allStudent)));//累计通过 / 总人数 + json.put("batchpassrate", df.format(((attendNumber4[j] == 0) ? 0 : passNew4[j] / (double) attendNumber4[j])));//每个批次新通过人数/参加人数 + json.put("gradepassrate", df.format(((allStudent == 0) ? 0 : passNumber[i + 1] / (double) allStudent)));//累计通过 / 总人数 gradeArray.add(json); } resultJson.put(grade[i / 2], gradeArray); @@ -363,7 +363,8 @@ public class CenterServiceImpl extends ServiceImpl implement result.put("total", allStudent);//总人数 result.put("totalName", totalName);//总人数 result.put("passNumber", passNumber[n - 1]);//累计通过人数 - result.put("passRate", df.format((passNumber[n - 1] / (double) allStudent)));//累计通过率 + result.put("passRate", df.format(((allStudent == 0) ? 0 : passNumber[n - 1] / (double) allStudent)));//累计通过率 + // 将数据存入缓存 redisTemplate.opsForValue().set(key, result, Duration.ofDays(7)); return Result.ok(result); diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_4ServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_4ServiceImpl.java index 950619d8..419ddf14 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_4ServiceImpl.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_4ServiceImpl.java @@ -97,9 +97,9 @@ public class Cet_4ServiceImpl extends ServiceImpl implements @Override public Result getRateByBatch(String college, String batchStr) { - if (redisTemplate.opsForValue().get("getRateByBatch" + college + batchStr) != null) { - return Result.ok((JSONObject) redisTemplate.opsForValue().get("getRateByBatch" + college + batchStr)); - } +// if (redisTemplate.opsForValue().get("getRateByBatch" + college + batchStr) != null) { +// return Result.ok((JSONObject) redisTemplate.opsForValue().get("getRateByBatch" + college + batchStr)); +// } SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); DecimalFormat decimalFormat = new DecimalFormat("#.#"); Date batch; @@ -127,9 +127,10 @@ public class Cet_4ServiceImpl extends ServiceImpl implements passedList = passedList.stream().filter(e -> trueEntryDate.contains(e.getEntrydate())).collect(Collectors.toList()); if(college.equals("全校")){ collect = passedList.stream().collect(Collectors.groupingBy(Cet_4::getCollege)); - }else{ - //TODO:majorname为空时存在异常 - collect = passedList.stream().collect(Collectors.groupingBy(Cet_4::getMajorname)); + } else { + collect = passedList.stream() + .filter(cet4 -> cet4.getMajorname() != null) + .collect(Collectors.groupingBy(Cet_4::getMajorname)); } // 过滤除去错误的数据 @@ -139,7 +140,16 @@ public class Cet_4ServiceImpl extends ServiceImpl implements long passStudent = passedList.size(); double passRateSum = (passStudent / (double) allStudent) * 100; String rate = decimalFormat.format(passRateSum); - double res = Double.parseDouble(rate); + double res; + try { + res= Double.parseDouble(rate); + + }catch (NumberFormatException e){ + e.printStackTrace(); + res=0; + + } +// double res = Double.parseDouble(rate); resultData.put("sumRate", res);