This commit is contained in:
zhouwentao 2024-03-18 21:19:01 +08:00
parent e4c57c5021
commit d37227c12d
2 changed files with 38 additions and 25 deletions

View File

@ -328,7 +328,8 @@
FROM yx_school s FROM yx_school s
LEFT JOIN yx_school_child sc ON s.id = sc.school_id LEFT JOIN yx_school_child sc ON s.id = sc.school_id
LEFT JOIN yx_school_major sm ON sm.school_code = sc.school_code LEFT JOIN yx_school_major sm ON sm.school_code = sc.school_code
where 1=1 AND s.is_ys = 1 where 1=1
/*AND s.is_ys = 1*/
<if test="qvo.schoolName!=null and qvo.schoolName!=''"> <if test="qvo.schoolName!=null and qvo.schoolName!=''">
AND (s.school_name like concat('%',#{qvo.schoolName},'%') or sc.school_code like concat('%',#{qvo.schoolName},'%')) AND (s.school_name like concat('%',#{qvo.schoolName},'%') or sc.school_code like concat('%',#{qvo.schoolName},'%'))
</if> </if>

View File

@ -111,7 +111,7 @@ public class MusicService {
culturalControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getCulturalScore(); culturalControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getCulturalScore();
specialControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getSpecialScore(); specialControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getSpecialScore();
if (recommendMajorDTO.getSchoolCode().equals("9941") && recommendMajorDTO.getBatch().equals("提前批") && recommendMajorDTO.getEnrollmentCode().contains("08")) { if (recommendMajorDTO.getSchoolCode().equals("6040") && recommendMajorDTO.getBatch().equals("本科A段") && recommendMajorDTO.getEnrollmentCode().contains("06")) {
System.out.println("111"); System.out.println("111");
} }
//没有计算方式 跳过 //没有计算方式 跳过
@ -150,16 +150,16 @@ public class MusicService {
professionalScore3 = zxcj; professionalScore3 = zxcj;
} else { } else {
if ("音乐表演".equals(majorTypeChild)) { if ("音乐表演".equals(majorTypeChild)) {
if(mainSubjects.contains("器乐") && mainSubjects.contains("声乐")){ if (mainSubjects.contains("器乐") && mainSubjects.contains("声乐")) {
//如果当前专业声乐和器乐都可以报,根据当前专业是声乐/器乐 取一个成绩高的 //如果当前专业声乐和器乐都可以报,根据当前专业是声乐/器乐 取一个成绩高的
if(activeCurrentUserScore.getYybysy().compareTo(YxConstant.bigDecimal0)>0){ if (activeCurrentUserScore.getYybysy().compareTo(YxConstant.bigDecimal0) > 0) {
professionalScore2 = activeCurrentUserScore.getYybysy(); professionalScore2 = activeCurrentUserScore.getYybysy();
professionalScore3 = yybysy; professionalScore3 = yybysy;
}else{ } else {
professionalScore2 = activeCurrentUserScore.getYybyqy(); professionalScore2 = activeCurrentUserScore.getYybyqy();
professionalScore3 = yybyqy; professionalScore3 = yybyqy;
} }
}else if (mainSubjects.contains("器乐")) { } else if (mainSubjects.contains("器乐")) {
professionalScore2 = activeCurrentUserScore.getYybyqy(); professionalScore2 = activeCurrentUserScore.getYybyqy();
professionalScore3 = yybyqy; professionalScore3 = yybyqy;
} else { } else {
@ -167,17 +167,29 @@ public class MusicService {
professionalScore3 = yybysy; professionalScore3 = yybysy;
} }
} else { } else {
//音乐教育 //音乐教育,用当前成绩算 然后同时出现声乐和音教就用最高的去算
professionalScore3 = yyjy; if(mainSubjects.contains("器乐") && mainSubjects.contains("声乐")){
professionalScore2 = activeCurrentUserScore.getYyjy(); professionalScore2 = activeCurrentUserScore.getYybyqy().max(activeCurrentUserScore.getYybysy());
professionalScore3 = yybyqy.max(yybysy);
}else if (mainSubjects.contains("器乐")) {
professionalScore2 = activeCurrentUserScore.getYybyqy();
professionalScore3 = yybyqy;
} else if (mainSubjects.contains("声乐")) {
professionalScore2 = activeCurrentUserScore.getYybysy() ;
professionalScore3 = yybysy;
}
if(activeCurrentUserScore.getYyjy()!=null){
professionalScore2 = professionalScore2 == null ? activeCurrentUserScore.getYyjy() : professionalScore2.max(activeCurrentUserScore.getYyjy());
professionalScore3 = professionalScore3 == null ? yyjy : professionalScore3.max(yyjy);
}
} }
} }
}else{ } else {
professionalScore2 = yyScore; professionalScore2 = yyScore;
professionalScore3 = yyScore; professionalScore3 = yyScore;
} }
//判断其他录取要求 //判断其他录取要求
if(!ScoreUtil.otherScoreJudge(professionalScore,activeCurrentUserScore,recommendMajorDTO)){ if (!ScoreUtil.otherScoreJudge(professionalScore, activeCurrentUserScore, recommendMajorDTO)) {
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0); recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
continue; continue;
} }
@ -201,11 +213,11 @@ public class MusicService {
} }
YxHistoryMajorEnroll yxHistoryMajorEnroll = historyMajorEnrollList.get(0); YxHistoryMajorEnroll yxHistoryMajorEnroll = historyMajorEnrollList.get(0);
BigDecimal admissionLine = yxHistoryMajorEnroll.getAdmissionLine(); BigDecimal admissionLine = yxHistoryMajorEnroll.getAdmissionLine();
enrollProbability = studentScore.divide(admissionLine,4,RoundingMode.HALF_UP); enrollProbability = studentScore.divide(admissionLine, 4, RoundingMode.HALF_UP);
//当前年主科成绩跟去年的专业主科录取分 相等按照正常的概率去算 *0.75 //当前年主科成绩跟去年的专业主科录取分 相等按照正常的概率去算 *0.75
enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075).multiply(YxConstant.bigDecimal100); enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075).multiply(YxConstant.bigDecimal100);
//当前年主科成绩小于去年的专业主科录取分按照正常的概率去算 *0.75之后 每少1分少10%概率 //当前年主科成绩小于去年的专业主科录取分按照正常的概率去算 *0.75之后 每少1分少10%概率
if(studentScore.compareTo(admissionLine)<0){ if (studentScore.compareTo(admissionLine) < 0) {
enrollProbability = enrollProbability.subtract((admissionLine.subtract(studentScore)).multiply(YxConstant.bigDecimal10)); enrollProbability = enrollProbability.subtract((admissionLine.subtract(studentScore)).multiply(YxConstant.bigDecimal10));
} }
recommendMajorDTO.setEnrollProbability(enrollProbability); recommendMajorDTO.setEnrollProbability(enrollProbability);
@ -219,7 +231,7 @@ public class MusicService {
differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList); differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList);
historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference"); historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference");
nowYearDiff = studentScore.subtract(nowYearProvincialControlLine); nowYearDiff = studentScore.subtract(nowYearProvincialControlLine);
enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff,historyThreeYearDiff); enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff, historyThreeYearDiff);
} }
//调整录取倍率 //调整录取倍率
@ -300,7 +312,7 @@ public class MusicService {
BigDecimal a2 = null; BigDecimal a2 = null;
BigDecimal divide = null; BigDecimal divide = null;
for (ArtTestCulturalDTO artTestCulturalDTO : artTestCulturalDtoList) { for (ArtTestCulturalDTO artTestCulturalDTO : artTestCulturalDtoList) {
if (artTestCulturalDTO.getScore()==null) { if (artTestCulturalDTO.getScore() == null) {
continue; continue;
} }
rulesEnrollProbability = artTestCulturalDTO.getRulesEnrollProbability(); rulesEnrollProbability = artTestCulturalDTO.getRulesEnrollProbability();
@ -318,32 +330,32 @@ public class MusicService {
majorTypeChild = artTestCulturalDTO.getMajorTypeChild(); majorTypeChild = artTestCulturalDTO.getMajorTypeChild();
mainSubjects = artTestCulturalDTO.getMainSubjects(); mainSubjects = artTestCulturalDTO.getMainSubjects();
if (!"高职高专".equals(activeCurrentUserScore.getBatch())) { if (!"高职高专".equals(activeCurrentUserScore.getBatch())) {
if("文过专排主科".equals(rulesEnrollProbability)){ if ("文过专排主科".equals(rulesEnrollProbability)) {
professionalScore3 = professionalScore.multiply(YxConstant.bigDecimal05); professionalScore3 = professionalScore.multiply(YxConstant.bigDecimal05);
}else if ("音乐表演".equals(majorTypeChild)) { } else if ("音乐表演".equals(majorTypeChild)) {
if (mainSubjects.contains("器乐") && activeCurrentUserScore.getProfessionalCategoryChildren().contains("器乐") && yybyqy.compareTo(YxConstant.bigDecimal0)>0) { if (mainSubjects.contains("器乐") && activeCurrentUserScore.getProfessionalCategoryChildren().contains("器乐") && yybyqy.compareTo(YxConstant.bigDecimal0) > 0) {
professionalScore3 = yybyqy; professionalScore3 = yybyqy;
} else if(yybysy.compareTo(YxConstant.bigDecimal0)>0){ } else if (yybysy.compareTo(YxConstant.bigDecimal0) > 0) {
professionalScore3 = yybysy; professionalScore3 = yybysy;
}else{ } else {
professionalScore3 = yyjy; professionalScore3 = yyjy;
} }
} else { } else {
//音乐教育 //音乐教育
if (yyjy.compareTo(YxConstant.bigDecimal0)<=0) { if (yyjy.compareTo(YxConstant.bigDecimal0) <= 0) {
if (mainSubjects.contains("器乐") && activeCurrentUserScore.getProfessionalCategoryChildren().contains("器乐") && yybyqy.compareTo(YxConstant.bigDecimal0)>0) { if (mainSubjects.contains("器乐") && activeCurrentUserScore.getProfessionalCategoryChildren().contains("器乐") && yybyqy.compareTo(YxConstant.bigDecimal0) > 0) {
professionalScore3 = yybyqy; professionalScore3 = yybyqy;
} else { } else {
professionalScore3 = yybysy; professionalScore3 = yybysy;
} }
}else{ } else {
professionalScore3 = yyjy; professionalScore3 = yyjy;
} }
} }
} }
if(("文过专排主科".equals(artTestCulturalDTO.getRulesEnrollProbability())||"1".equals(artTestCulturalDTO.getCheckMaster()))){ if (("文过专排主科".equals(artTestCulturalDTO.getRulesEnrollProbability()) || "1".equals(artTestCulturalDTO.getCheckMaster()))) {
//artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().subtract(professionalScore3)); //artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().subtract(professionalScore3));
}else if (("文过专排".equals(rulesEnrollProbability) || !probabilityOperator.contains("")) && professionalProbabilityOperator != null && professionalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) { } else if (("文过专排".equals(rulesEnrollProbability) || !probabilityOperator.contains("")) && professionalProbabilityOperator != null && professionalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) {
//播音表演音乐舞蹈先把当前专业分转换成去年分数再用最低录取分数减去转换后的分数 文过专排 //播音表演音乐舞蹈先把当前专业分转换成去年分数再用最低录取分数减去转换后的分数 文过专排
//artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().subtract(professionalScore3)); //artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().subtract(professionalScore3));
} else if (("专过文排".equals(rulesEnrollProbability) || !probabilityOperator.contains("")) && culturalProbabilityOperator != null && culturalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) { } else if (("专过文排".equals(rulesEnrollProbability) || !probabilityOperator.contains("")) && culturalProbabilityOperator != null && culturalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) {