This commit is contained in:
zhouwentao 2025-06-25 14:26:31 +08:00
parent 4ab51fe8b2
commit 0d5569d24b
2 changed files with 48 additions and 8 deletions

View File

@ -416,6 +416,9 @@ public class MusicService {
continue;
}
if("8127".equals(recommendMajorDTO.getSchoolCode())){
System.out.println("qvq");
}
//判断其他录取要求
if(!ScoreUtil.otherScoreJudge(professionalScore,activeCurrentUserScore,recommendMajorDTO)){
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);

View File

@ -85,19 +85,53 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl<YxHistoryMajorE
hmeWrapper.isNotNull(YxHistoryMajorEnroll::getRulesEnrollProbability);
hmeWrapper.orderByDesc(YxHistoryMajorEnroll::getYear);
List<YxHistoryMajorEnroll> yxHistoryMajorEnrollList = this.list(hmeWrapper);
// 获取历年省控线
LambdaQueryWrapper<YxHistoryScoreControlLine> yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>();
yxHistoryMajorEnrollLambdaQueryWrapper.in(YxHistoryScoreControlLine::getYear, YxConstant.oldYearList);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getCategory, category);
yxHistoryMajorEnrollLambdaQueryWrapper.like(YxHistoryScoreControlLine::getProfessionalCategory, majorType);
List<YxHistoryScoreControlLine> yhsclList = yxHistoryScoreControlLineService.list(yxHistoryMajorEnrollLambdaQueryWrapper);
Map<String, YxHistoryScoreControlLine> batchControlLineMaps = new LinkedHashMap<>();
String key = null;
String key2 = null;
for (YxHistoryScoreControlLine yhscl : yhsclList) {
key2 = yhscl.getYear() +"-"+ yhscl.getCategory()+"-"+ yhscl.getBatch()+"-"+yhscl.getProfessionalCategory();
batchControlLineMaps.put(key2,yhscl);
}
//获取院校信息
String a_ = "_";
String key = null;
//将历年计划 组合成map对象
Map<String, YxHistoryMajorEnroll> majorEnrollMap = new LinkedHashMap<>();
for (YxHistoryMajorEnroll h : yxHistoryMajorEnrollList) {
key = "";
// TODO
key2 = h.getYear()+"-"+ h.getCategory() + "-";
if("提前批".equals(h.getBatch()) || "本科A段".equals(h.getBatch()) || "本科B段".equals(h.getBatch())){
key2 = key2 +"本科-";
}else{
key2 = key2 + "高职高专-";
}
key2+= h.getMajorType();
if ("表演类".equals(h.getMajorType())) {
key = h.getMajorTypeChild() + "_";
}else if ("音乐类".equals(h.getCategory())) {
key = h.getMajorTypeChild() + "_" + h.getMainSubjects();
key = key + "-" + h.getMajorTypeChild();
}else if ("音乐类".equals(h.getMajorType())) {
key = h.getMajorTypeChild();
key2 = key2 +"-"+ h.getMajorTypeChild();
if(!"音乐教育".equals(h.getMajorTypeChild())){
key = key + "_" + h.getMainSubjects();
key2 = key2 + h.getMainSubjects();
}
}
key += h.getYear() + a_ + h.getSchoolCode() + a_ + h.getMajorName() + a_ + h.getCategory() + a_ + h.getBatch();
if ("2024".equals(h.getYear()) && batchControlLineMaps.containsKey(key2)) {
// 2024年的重新计算省控线 计算分数
h.setControlLine(ScoreUtil.convertIntoScore(h.getRulesEnrollProbability(), batchControlLineMaps.get(key2).getCulturalScore(), batchControlLineMaps.get(key2).getSpecialScore(), h.getProbabilityOperator()));
}
key += a_ + h.getYear() + a_ + h.getSchoolCode() + a_ + h.getMajorName() + a_ + h.getCategory() + a_ + h.getBatch();
majorEnrollMap.put(key, h);
}
//遍历获取历年数据 添加到专业 的历年信息中
@ -113,11 +147,14 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl<YxHistoryMajorE
key = "";
if ("表演类".equals(recommendMajorDTO.getMajorType())) {
key = recommendMajorDTO.getMajorTypeChild() + "_";
}else if ("音乐类".equals(recommendMajorDTO.getCategory())) {
key = recommendMajorDTO.getMajorTypeChild() + "_" + recommendMajorDTO.getMainSubjects();
}else if ("音乐类".equals(recommendMajorDTO.getMajorType())) {
key = recommendMajorDTO.getMajorTypeChild();
if (!"音乐教育".equals(recommendMajorDTO.getMajorTypeChild())) {
key+="_" + recommendMajorDTO.getMainSubjects();
}
}
key = key + year + a_ + recommendMajorDTO.getSchoolCode() + a_ + recommendMajorDTO.getMajorName() + a_ + recommendMajorDTO.getCategory() + a_ + recommendMajorDTO.getBatch();
yxHistoryMajorEnroll = majorEnrollMap.get( key);
key = key + "_" + year + a_ + recommendMajorDTO.getSchoolCode() + a_ + recommendMajorDTO.getMajorName() + a_ + recommendMajorDTO.getCategory() + a_ + recommendMajorDTO.getBatch();
yxHistoryMajorEnroll = majorEnrollMap.get(key);
if (yxHistoryMajorEnroll != null) {
//线差
if (yxHistoryMajorEnroll.getAdmissionLine()!=null) {