From 2275a2a0659e0ebc25b707a6a576ccdf7b6b6d9c Mon Sep 17 00:00:00 2001 From: Cool <747682928@qq.com> Date: Tue, 2 Apr 2024 19:49:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/controller/CenterController.java | 26 ++---- .../jeecg/modules/service/ICet_4Service.java | 7 +- .../service/impl/Cet_4ServiceImpl.java | 91 +++++++++++-------- 3 files changed, 64 insertions(+), 60 deletions(-) diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CenterController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CenterController.java index 0d134e6b..3861cd66 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CenterController.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CenterController.java @@ -42,6 +42,7 @@ public class CenterController { public Result getCollege() { return Result.ok(centerService.getCollege()); } + /** * 获取学院专业级联数据 */ @@ -49,6 +50,7 @@ public class CenterController { public Result getCollegeMajor() { return centerService.getCollegeMajor(); } + /** * 统计四级表和六级表中存在的批次 */ @@ -62,27 +64,20 @@ public class CenterController { */ @GetMapping(value = "/getData") // @Cacheable(value = "getData", key = "'getData'+#college+#grade") - public Result getData(@RequestParam("college") String college, @RequestParam("major") String major,@RequestParam("entrydate") String entrydate) { - return centerService.getData(college,major,entrydate); + public Result getData(@RequestParam("college") String college, @RequestParam("major") String major, @RequestParam("entrydate") String entrydate) { + return centerService.getData(college, major, entrydate); } @GetMapping("/getRateByBatch") public Result getRateByBatch(@RequestParam("batch") String batch, @RequestParam("level") String level) { //四六级分开查询 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - Date date; - try { - date= dateFormat.parse(batch); - } catch (ParseException e) { - throw new RuntimeException(e); - } + if (level.equals("cet4")) { - Cet_4 cet = new Cet_4(); - cet.setBatch(date); - return cet4Service.getRate(cet); + + return cet4Service.getRateByBatch(batch); } else if (level.equals("cet6")) { Cet_6 cet = new Cet_6(); - cet.setBatch(date); +// cet.setBatch(date); return cet6Service.getRate(cet); } else { return null; @@ -94,9 +89,8 @@ public class CenterController { public Result getRateByCollege(@RequestParam("college") String college, @RequestParam("level") String level) { System.out.println(college + " " + level); if (level.equals("cet4")) { - Cet_4 cet = new Cet_4(); - cet.setCollege(college); - return cet4Service.getRate(cet); + + return cet4Service.getRateByCollege(college); } else if (level.equals("cet6")) { Cet_6 cet = new Cet_6(); cet.setCollege(college); diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java index b0575095..5d6e26ce 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java @@ -1,14 +1,10 @@ package org.jeecg.modules.service; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.Cet_4; import com.baomidou.mybatisplus.extension.service.IService; -import org.jeecg.modules.entity.Cet_6; - -import java.util.Date; /** * @Description: cet_4 @@ -17,6 +13,7 @@ import java.util.Date; * @Version: V1.0 */ public interface ICet_4Service extends IService { - Result getRate(Cet_4 cet); + Result getRateByCollege(String college); + Result getRateByBatch(String batchStr); } 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 984520d2..00e25c34 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 @@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.text.DecimalFormat; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -29,25 +30,25 @@ public class Cet_4ServiceImpl extends ServiceImpl implements @Autowired Cet_4Mapper cet4Mapper; - public Result getRate(Cet_4 cet) { + public Result getRateByCollege(String college) { JSONObject jsonObject = new JSONObject(new LinkedHashMap<>()); //select count(*) from cet_4 where college ='?' and result>=425 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); //构造查询条件 - if (cet.getBatch() == null) { + //根据学院查人数 - queryWrapper.eq(Cet_4::getCollege, cet.getCollege()).ge(Cet_4::getResult, 425); + queryWrapper.eq(Cet_4::getCollege, college).ge(Cet_4::getResult, 425); List result = cet4Mapper.selectList(queryWrapper); // System.out.println(result); Map> collect = result.stream().collect(Collectors.groupingBy(Cet_4::getBatch)); for (Map.Entry> entry : collect.entrySet()) { - double sum = (double) getNumByCollege(cet, entry.getKey()); + double sum = (double) getNum(college, entry.getKey()); double size = entry.getValue().size(); double passRate = size / sum; DecimalFormat decimalFormat = new DecimalFormat("#.####"); String rate = decimalFormat.format(passRate); double res = Double.parseDouble(rate); - System.out.println(res); +// System.out.println(res); Date key = entry.getKey(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String format = sdf.format(key); @@ -56,54 +57,66 @@ public class Cet_4ServiceImpl extends ServiceImpl implements return Result.OK(jsonObject); - } else if (cet.getCollege() == null) { - //根据批次查人数 - queryWrapper.eq(Cet_4::getBatch, cet.getBatch()).ge(Cet_4::getResult, 425); - List result = cet4Mapper.selectList(queryWrapper); - //通过批次 - Map> collect = result.stream().collect(Collectors.groupingBy(Cet_4::getCollege)); - for (Map.Entry> entry : collect.entrySet()) { - double sum = (double) getNumByBatch(cet, entry.getKey()); - double size = entry.getValue().size(); + } + public Result getRateByBatch(String batchStr){ + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date batch; + try { + batch= dateFormat.parse(batchStr); + } catch (ParseException e) { + throw new RuntimeException(e); + } + JSONObject jsonObject = new JSONObject(new LinkedHashMap<>()); + //select count(*) from cet_4 where batch ='?' and result>=425 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + //构造查询条件 - double passRate = size / sum; - // 定义格式化规则,保留四位小数 - DecimalFormat decimalFormat = new DecimalFormat("#.####"); - String rate = decimalFormat.format(passRate); - double res = Double.parseDouble(rate); + //根据批次查人数 + queryWrapper.eq(Cet_4::getBatch, batch).ge(Cet_4::getResult, 425); + List result = cet4Mapper.selectList(queryWrapper); + //通过批次 + Map> collect = result.stream().collect(Collectors.groupingBy(Cet_4::getCollege)); + for (Map.Entry> entry : collect.entrySet()) { + double sum = (double) getNum(entry.getKey(),batch); - jsonObject.put(String.valueOf(entry.getKey()), res); + double size = entry.getValue().size(); + + double passRate = size / sum; + // 定义格式化规则,保留四位小数 + DecimalFormat decimalFormat = new DecimalFormat("#.####"); + String rate = decimalFormat.format(passRate); + double res = Double.parseDouble(rate); + + jsonObject.put(String.valueOf(entry.getKey()), res); - } - //对jsonObject的值进行排序 - List> list = new ArrayList<>(jsonObject.entrySet()); - Collections.sort(list, (o1, o2) -> (double) o1.getValue() > (double) o2.getValue() ? -1 : 1); - jsonObject.clear(); + } + //对jsonObject的值进行排序 + List> list = new ArrayList<>(jsonObject.entrySet()); + Collections.sort(list, (o1, o2) -> (double) o1.getValue() > (double) o2.getValue() ? -1 : 1); + jsonObject.clear(); - for (Map.Entry stringObjectEntry : list) { - jsonObject.put(stringObjectEntry.getKey(), stringObjectEntry.getValue()); + for (Map.Entry stringObjectEntry : list) { + jsonObject.put(stringObjectEntry.getKey(), stringObjectEntry.getValue()); - } + } - System.out.println(jsonObject); - return Result.OK(jsonObject); - } else return null; +// System.out.println(jsonObject); + return Result.OK(jsonObject); } - - private long getNumByCollege(Cet_4 cet, Date batch) { + private long getNum(String college, Date batch) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Cet_4::getCollege, cet.getCollege()).eq(Cet_4::getBatch, batch); + queryWrapper.eq(Cet_4::getCollege, college).eq(Cet_4::getBatch, batch); return cet4Mapper.selectCount(queryWrapper); } - private long getNumByBatch(Cet_4 cet, String college) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Cet_4::getBatch, cet.getBatch()).eq(Cet_4::getCollege, college); - return cet4Mapper.selectCount(queryWrapper); - } +// private long getNumByBatch(String college,Date batch) { +// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); +// queryWrapper.eq(Cet_4::getBatch,batch).eq(Cet_4::getCollege, college); +// return cet4Mapper.selectCount(queryWrapper); +// } }