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