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

This commit is contained in:
Cool 2024-12-12 21:55:18 +08:00
commit 9b90ffe59d
2 changed files with 29 additions and 10 deletions

View File

@ -262,7 +262,18 @@ public class CenterServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implement
Cet4_majorQW.clear();
Cet4_majorQW.select(Cet4_major::getCode).eq(Cet4_major::getEntrydate, entryDate).eq(Cet4_major::getState, "在校");
allStudent = cet4_majorMapper.selectCount(Cet4_majorQW);
} else if (college.equals("专升本")) {
}else if(college.equals("全校(不含艺体美外语)")) {
totalName = "全校";
Cet_4QW.eq(Cet_4::getEntrydate, entryDate)
.eq(Cet_4::getBatch, batchList.get(i))
.eq(Cet_4::getState, "在校");
Cet_4QW.notIn(Cet_4::getCollege, Arrays.asList("体育科学学院", "美术学院", "音乐学院"));
Cet_4QW.notIn(Cet_4::getMajorname, Arrays.asList("英语","翻译", "商务英语", "表演","广播电视编导", "录音艺术", "播音与主持艺术","动画", "摄影", "数字媒体艺术"));
Cet4_majorQW.clear();
Cet4_majorQW.select(Cet4_major::getCode).eq(Cet4_major::getEntrydate, entryDate).eq(Cet4_major::getState, "在校");
allStudent = cet4_majorMapper.selectCount(Cet4_majorQW);
}else if (college.equals("专升本")) {
totalName = "全校";
Cet_4QW.eq(Cet_4::getLevel, college).eq(Cet_4::getEntrydate, entryDate).eq(Cet_4::getBatch, batchList.get(i));
//查询该年级的专升本在籍学生

View File

@ -96,6 +96,10 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
@Override
public Result<JSONObject> getRateByBatch(String college, String 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;
@ -119,17 +123,18 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
//根据批次查人数
queryWrapper.ge(Cet_4::getResult, 425);
List<Cet_4> result = cet4Mapper.selectList(queryWrapper);
collect = result.stream().collect(Collectors.groupingBy(Cet_4::getCollege));
List<Cet_4> passedList = cet4Mapper.selectList(queryWrapper);
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{
//TODOmajorname为空时存在异常
collect = passedList.stream().collect(Collectors.groupingBy(Cet_4::getMajorname));
}
// 过滤除去错误的数据
allStudentList = allStudentList.stream().filter(e -> trueEntryDate.contains(e.getEntrydate())).collect(Collectors.toList());
long allStudent = allStudentList.size();
//获取通过人数
LambdaQueryWrapper<Cet_4> passWrapper = new LambdaQueryWrapper<>();
passWrapper.eq(Cet_4::getBatch, batch).ge(Cet_4::getResult, 425).eq(!college.equals("全校"), Cet_4::getCollege, college);
List<Cet_4> passedList = list(passWrapper);
passedList = passedList.stream().filter(e -> trueEntryDate.contains(e.getEntrydate())).collect(Collectors.toList());
long passStudent = passedList.size();
double passRateSum = (passStudent / (double) allStudent) * 100;
@ -176,6 +181,7 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
resultData.put("data", jsonObject);
resultData.put("gradeData", gradeByBatch);
System.out.println(resultData);
redisTemplate.opsForValue().set("getRateByBatch" + college + batchStr, resultData);
return Result.OK(resultData);
}
@ -560,7 +566,7 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
public Result<JSONObject> getRateByMajorAndLastestBatch(getRateByMajorAndLastestBatchDto getRateByMajorAndLastestBatchParam) {
Date batch = cet4Mapper.lastestDate();
JSONObject json = new JSONObject();
json.put("data",getGradeByBatch(batch,getRateByMajorAndLastestBatchParam.getCollege(),getRateByMajorAndLastestBatchParam.getMajor()));
json.put("data", getGradeByBatch(batch, getRateByMajorAndLastestBatchParam.getCollege(), getRateByMajorAndLastestBatchParam.getMajor()));
return Result.ok(json);
}
@ -586,7 +592,9 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
if (getRateByEntryDateDtoParams.getMajor() != null && !getRateByEntryDateDtoParams.getMajor().isEmpty()) {
cet4StudentCount.eq(Cet_4::getMajorname, getRateByEntryDateDtoParams.getMajor());
}
long allStudentCount = cet4Mapper.selectCount(cet4StudentCount);
cet4StudentCount.groupBy(Cet_4::getCode);
List<Object> allStudentList = cet4Mapper.selectObjs(cet4StudentCount);
long allStudentCount = allStudentList.size();
// 统计当前 entryDate 下的通过人数
//所有参加过四级考试的学生
Map<String, Integer> attendMap4 = new HashMap<>();