This commit is contained in:
zhouwentao 2025-05-11 13:10:00 +08:00
parent 02a1116af9
commit db764c0356
1 changed files with 22 additions and 7 deletions

View File

@ -199,14 +199,19 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
.collect(Collectors.toList());
YxHistoryScoreControlLine yxHistoryScoreControlLine = null;
BigDecimal bigDecimal = null;
for (RecommendMajorDTO recommendMajorDTO : recommendMajorDTOList) {
yxHistoryScoreControlLine = historyScoreControlLineMap.get(recommendMajorDTO.getBatch());
if (yxHistoryScoreControlLine!=null) {
if (recommendMajorDTO.getStudentScore()!=null) {
recommendMajorDTO.setScoreLineDifference(recommendMajorDTO.getStudentScore().subtract(ScoreUtil.covertIntoControlLine(recommendMajorDTO.getRulesEnrollProbability(),
bigDecimal = ScoreUtil.covertIntoControlLine(recommendMajorDTO.getRulesEnrollProbability(),
yxHistoryScoreControlLine.getCulturalScore(),
yxHistoryScoreControlLine.getSpecialScore(),
recommendMajorDTO.getFirstLevelDiscipline(), recommendMajorDTO.getProbabilityOperator())));
recommendMajorDTO.getFirstLevelDiscipline(), recommendMajorDTO.getProbabilityOperator());
if("体育类".equals(recommendMajorDTO.getMajorType()) && !"专过文排".equals(recommendMajorDTO.getRulesEnrollProbability())){
bigDecimal = bigDecimal.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP);
}
recommendMajorDTO.setScoreLineDifference(recommendMajorDTO.getStudentScore().subtract(bigDecimal));
}
}
}
@ -556,19 +561,24 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
}
}
if("文3专7".equals(rulesEnrollProbability)){
System.out.println("qvq");
}
//算分用
// 当前学生的分数折合
studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
if (professionalCategory.equals("体育类") && "专过文排".equals(rulesEnrollProbability)) {
studentScore = studentScore.divide(YxConstant.bigDecimal7p5);
// 体育非专过文排 / 7.5
if (professionalCategory.equals("体育类") && !"专过文排".equals(rulesEnrollProbability)) {
studentScore = studentScore.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP);
}
recommendMajorDTO.setPrivateStudentScore(studentScore);
if (StringUtils.isNotBlank(recommendMajorDTO.getRulesEnrollProbability())) {
//recommendMajorDTO.setStudentConvertedScore(studentScore);
//计算展示用分数
recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(recommendMajorDTO.getRulesEnrollProbability(),
activeCurrentUserScore.getCulturalScore(),
activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), recommendMajorDTO.getProbabilityOperator()));
recommendMajorDTO.setStudentScore(studentScore);
// recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(recommendMajorDTO.getRulesEnrollProbability(),
// activeCurrentUserScore.getCulturalScore(),
// activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), recommendMajorDTO.getProbabilityOperator()));
}
//没有往年录取分数线信息
@ -597,6 +607,11 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
if (nowYearProvincialControlLine == null) {
continue;
}
// 体育非专过文排 / 7.5
if (professionalCategory.equals("体育类") && !"专过文排".equals(rulesEnrollProbability)) {
nowYearProvincialControlLine = nowYearProvincialControlLine.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP);
}
//历年分差
differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList);
historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference");