当前位置:网站首页>code....
code....
2022-06-10 01:51:00 【march of Time】
public IntegrateScoreDto getIntegrateScoreDto(User user, Integer commonLesson) throws JsonProcessingException {
IntegrateScoreDto integrateScoreDto = new IntegrateScoreDto();
Double grade = getOneStudentAllSemesterAverageGrade(user.getUsername(), user.getMajor(), user.getGrade(), commonLesson);
Double averageGpa = getOneStudentAllSemesterAverageGpa(user.getUsername(), user.getMajor(), user.getGrade(), commonLesson);
DecimalFormat df = new DecimalFormat("##.##");
BigDecimal b = new BigDecimal(averageGpa);
double f1 = b.setScale(2, RoundingMode.HALF_UP).doubleValue();
integrateScoreDto.setAverageGpa(df.format(f1));
integrateScoreDto.setTheStuAverage(df.format(grade));
integrateScoreDto.setAverageScoreInMajor(df.format(getAllSemesterAverageInMajor(user.getMajor(), user.getGrade(), commonLesson)));
List<Double> allStuAverageScore = new ArrayList<>();
//getStuJpaAndScoreRankAllSemesterInMajor
List<Grade> gradeList = new ArrayList<>();
if (commonLesson == 1) {
gradeList = gradeService.list(new LambdaQueryWrapper<Grade>().eq(Grade::getMajor, user.getMajor()).eq(Grade::getYear, user.getGrade()).eq(Grade::getCommonLesson, commonLesson));// The grades of all subjects of this major in this grade
} else {
gradeList = gradeService.list(new LambdaQueryWrapper<Grade>().eq(Grade::getMajor, user.getMajor()).eq(Grade::getYear, user.getGrade()));
}
List<String> userNames = new ArrayList<>();
List<String> semesters = new ArrayList<>();
for (Grade grade1 : gradeList) {
if (!semesters.contains(grade1.getSemester())) {
semesters.add(grade1.getSemester());
}
}
for (Grade grade1 : gradeList) {
if (!userNames.contains(grade1.getUsername())) {
userNames.add(grade1.getUsername());
}
}
for (String userName : userNames) {
allStuAverageScore.add(getOneStudentAllSemesterAverageGrade(userName, user.getMajor(), user.getGrade(), commonLesson));
}
Collections.sort(allStuAverageScore, new Comparator<Double>() {
@Override
public int compare(Double o1, Double o2) {
if (o1 < o2) {
return 1;
} else if (o1 > o2) {
return -1;
}
return 0;
}
});
integrateScoreDto.setTotal(allStuAverageScore.size());
integrateScoreDto.setTopScore(df.format(allStuAverageScore.get(0)));
for (int i = 0; i < allStuAverageScore.size(); i++) {
integrateScoreDto.setTopTenScore(df.format(allStuAverageScore.get(i)));
if (allStuAverageScore.get(i).equals(grade)) {
integrateScoreDto.setScoreRank(i + 1);
}
}
Integer total =1+ getTotalTopTenInMajor(user.getMajor(),user.getGrade());
if (allStuAverageScore.size() >= total) {
integrateScoreDto.setTopTenScore(df.format(allStuAverageScore.get(total-1)));
}
HashMap<String, JpaAndScore> scoreMap = new HashMap<>();
HashMap<String, List<GradeAndDetailRank>> detailRank = new HashMap<>();
List<JpaAndScore> semesterJpaAndScoreRank = new ArrayList<>();
List<SemesterGradeAndDetail> gradeRankList = new ArrayList<>();
for (String semester : semesters) {
SemesterGradeAndDetail semesterGradeAndDetail = new SemesterGradeAndDetail();
JpaAndScore jpaAndScore = new JpaAndScore();
jpaAndScore.setSemester(semester);
semesterGradeAndDetail.setSemester(semester);
List<String> subjectsName = new ArrayList<>();
List<Grade> theSemesterGradeList = new ArrayList<>();
if (commonLesson == 1) {
theSemesterGradeList = gradeService.list(new LambdaQueryWrapper<Grade>()
.eq(Grade::getSemester, semester).eq(Grade::getMajor, user.getMajor()).eq(Grade::getYear, user.getGrade()).eq(Grade::getCommonLesson, commonLesson));
} else {
theSemesterGradeList = gradeService.list(new LambdaQueryWrapper<Grade>()
.eq(Grade::getSemester, semester).eq(Grade::getMajor, user.getMajor()).eq(Grade::getYear, user.getGrade()));
}
for (Grade grade1 : theSemesterGradeList) {
subjectsName.add(grade1.getName());
}
jpaAndScore = getStuJpaAndScoreRankInMajor(user.getUsername(), semester, user.getMajor(), user.getGrade(), commonLesson);
semesterJpaAndScoreRank.add(jpaAndScore);
List<GradeAndDetailRank> gradeDetailRankInSemester = new ArrayList<>();
for (int i = 0; i < subjectsName.size(); i++) {
GradeAndDetailRank gradeAndDetailRank = new GradeAndDetailRank();
gradeAndDetailRank.setSubjectName(subjectsName.get(i));
gradeAndDetailRank.setGradeRankList(getDetailGrades(user, user.getMajor(), subjectsName.get(i), semester));
gradeDetailRankInSemester.add(gradeAndDetailRank);
semesterGradeAndDetail.setGradeAndDetailRank(gradeAndDetailRank);
}
gradeRankList.add(semesterGradeAndDetail);
// detailRank.put(semester,gradeDetailRankInSemester);
}
//integrateScoreDto.setGradeRankList(gradeRankList);
integrateScoreDto.setSemesterJpaAndScoreRank(semesterJpaAndScoreRank);
return integrateScoreDto;
}
@ApiOperation(" All score information integration interfaces ")
@GetMapping("/getOneStuIntegrateScore")
public Result getIntegrateScore(@RequestParam("ticket") String ticket,
@RequestParam("username") String username,
@RequestParam("commonLesson")
@ApiParam(" Whether the ranking of public elective courses is included ,0 The representative contains ,1 Does not include ")Integer commonLesson
) throws JsonProcessingException {
JSONObject json = JSON.parseObject(commonClient.getInfo(ticket));
JSONObject info = json.getJSONArray("cultivateTypeList").getJSONObject(0);
String requestUserName = info.getString("code");
if (!requestUserName.equals(username)) {
return Result.fail(402, " Please log in to your account again !", null);
}
User user = userServiceImpl.getOne(new LambdaQueryWrapper<User>().eq(User::getUsername, username));
IntegrateScoreDto integrateScoreDto = rankService.getIntegrateScoreDto(user,commonLesson);
return Result.success(integrateScoreDto);
}
边栏推荐
- D mapping instructions in memory and executing
- 牛客网——华为题库(1~10)
- Random talk on test coverage
- 剑指 Offer 10- II. 青蛙跳台阶问题
- Innftnews | l'avenir de NFT dans l'économie web3
- 虚幻引擎UE4.26源码剖析之环境配置与初编译
- iNFTnews | NFT在Web3經濟裏的未來
- Use primecache to speed up your computer!
- Industrial practice example of industrial defect detection based on openvino deployment
- TRichView and ScaleRichView 设置默认中文
猜你喜欢

Why does chip design also need "Craftsmanship"?
![[FPGA] Day17 introduction to single bus protocol DS18B20](/img/6b/27482caec5b1aadfd32e93e2349988.png)
[FPGA] Day17 introduction to single bus protocol DS18B20

Full score after 5 years of "research" and 3 years of "actual combat"

What are the good techniques for domestic spot silver: simple usage of common indicators

Innftnews | l'avenir de NFT dans l'économie web3

Introduction à la définition et au calcul de la variance Allan
window.open(url)多次打开下载链接被浏览器拦截问题解决方案,js实现循环访问多个下载链接

Allan方差定義與計算方法簡介
[email protected] 项目实训"/>[email protected] 项目实训

NACK of webrtc's audio weak network countermeasure
随机推荐
【LeetCode】114. 二叉树展开为链表
IDEA 版 Postman问世,亲测好用
【ICLR 2022】Towards Continual Knowledge Learning of Language Models
[email protected] 项目实训
【LeetCode】461. Hamming distance
Introduction to cross platform multimedia rendering engine OPR
为什么芯片设计也需要「匠人精神」?
服务器停止响应是什么意思,该如何排查?
【LeetCode】221.最大正方形
Thingsboard tutorial (18): overview of TB rule engine
[leetcode] sword finger offer II 016 Longest substring without duplicate characters
[email protected]和[email protected]装载5-Fu(5-氟尿
Hoo虎符研究院 | 币圈后浪-类宝可梦的GameFi:EvoVerses
Free batch import software for generating sitemap maps
WebRTC 的音频弱网对抗之 NACK
Full score after 5 years of "research" and 3 years of "actual combat"
The transfer of production lines to Vietnam may not be a good choice. Samsung mobile phones have been affected and plan to return to South Korea
免费批量导入生成sitemap地图的软件
在keras中使用gpu加速训练模型;安装cuda;cudnn;cudnn_cnn_infer64_8.dll 不在path中;device_lib.list_local_devices无gpu;挂掉
【LeetCode】437. Path sum III