updates
This commit is contained in:
parent
22e67ac4d7
commit
4085bae747
|
|
@ -63,7 +63,7 @@ public class YxConstant {
|
||||||
public static List<String> defaultRulesEnrollProbabilityList =Arrays.asList("文过专排","专过文排");
|
public static List<String> defaultRulesEnrollProbabilityList =Arrays.asList("文过专排","专过文排");
|
||||||
|
|
||||||
//当天最多修改成绩次数
|
//当天最多修改成绩次数
|
||||||
public static final Integer todayMaxEditScoreCount =5;
|
public static final Integer todayMaxEditScoreCount =10;
|
||||||
public static BigDecimal bigDecimal1 = new BigDecimal("1");
|
public static BigDecimal bigDecimal1 = new BigDecimal("1");
|
||||||
public static BigDecimal bigDecimal175= new BigDecimal("175");
|
public static BigDecimal bigDecimal175= new BigDecimal("175");
|
||||||
public static BigDecimal bigDecimal50=new BigDecimal("50");
|
public static BigDecimal bigDecimal50=new BigDecimal("50");
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ public class YxScoreController {
|
||||||
if ("音乐类".equals(professionalCategory)) {
|
if ("音乐类".equals(professionalCategory)) {
|
||||||
AssertUtils.notTrue(professionalScore.compareTo(YxConstant.bigDecimal300) > 0,"[主项成绩]最高分为300");
|
AssertUtils.notTrue(professionalScore.compareTo(YxConstant.bigDecimal300) > 0,"[主项成绩]最高分为300");
|
||||||
AssertUtils.notTrue(professionalScore.compareTo(YxConstant.bigDecimal0) < 0,"[主项成绩]最低分为0");
|
AssertUtils.notTrue(professionalScore.compareTo(YxConstant.bigDecimal0) < 0,"[主项成绩]最低分为0");
|
||||||
}else{
|
}else if(!"表演类".equals(professionalCategory)){
|
||||||
AssertUtils.notTrue(professionalScore.compareTo(YxConstant.bigDecimal300) > 0,"[统考成绩]最高分为300");
|
AssertUtils.notTrue(professionalScore.compareTo(YxConstant.bigDecimal300) > 0,"[统考成绩]最高分为300");
|
||||||
AssertUtils.notTrue(professionalScore.compareTo(YxConstant.bigDecimal0) < 0,"[统考成绩]最低分为0");
|
AssertUtils.notTrue(professionalScore.compareTo(YxConstant.bigDecimal0) < 0,"[统考成绩]最低分为0");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -133,14 +133,14 @@ public class BiaoyanService {
|
||||||
professionalScore2 = byMaxScoreOld;
|
professionalScore2 = byMaxScoreOld;
|
||||||
professionalScore3 = byMaxScore;
|
professionalScore3 = byMaxScore;
|
||||||
} else if ("戏剧影视表演".equals(mainSubjects)) {
|
} else if ("戏剧影视表演".equals(mainSubjects)) {
|
||||||
professionalScore2 = activeCurrentUserScore.getFzby();
|
professionalScore2 = activeCurrentUserScore.getXjysby();
|
||||||
professionalScore3 = fzby;
|
professionalScore3 = xjysby;
|
||||||
} else if ("戏剧影视导演".equals(mainSubjects)) {
|
} else if ("戏剧影视导演".equals(mainSubjects)) {
|
||||||
professionalScore2 = activeCurrentUserScore.getXjysdy();
|
professionalScore2 = activeCurrentUserScore.getXjysdy();
|
||||||
professionalScore3 = xjysdy;
|
professionalScore3 = xjysdy;
|
||||||
} else if ("服装表演".equals(mainSubjects)) {
|
} else if ("服装表演".equals(mainSubjects)) {
|
||||||
professionalScore2 = activeCurrentUserScore.getXjysby();
|
professionalScore2 = activeCurrentUserScore.getFzby();
|
||||||
professionalScore3 = xjysby;
|
professionalScore3 = fzby;
|
||||||
} else {
|
} else {
|
||||||
log.error("当前专业有问题,不清楚主考科目:" + JSONObject.toJSONString(recommendMajorDTO));
|
log.error("当前专业有问题,不清楚主考科目:" + JSONObject.toJSONString(recommendMajorDTO));
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -182,17 +182,29 @@ public class BiaoyanService {
|
||||||
if (nowYearProvincialControlLine == null) {
|
if (nowYearProvincialControlLine == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
||||||
if (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0) {
|
if(nowYearDiff.compareTo(YxConstant.bigDecimal0)==0 && (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0)) {
|
||||||
continue;
|
//当前年分差为0,并且 前年的分差也为0
|
||||||
|
enrollProbability = YxConstant.bigDecimal50;//录取率50
|
||||||
|
}else if (nowYearDiff.compareTo(YxConstant.bigDecimal0)>0 && (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0)) {
|
||||||
|
//当前年分差不为0,且历年分差为0
|
||||||
|
enrollProbability = nowYearDiff.multiply(YxConstant.bigDecimal075).multiply(YxConstant.bigDecimal100);
|
||||||
|
} else if(nowYearDiff.compareTo(YxConstant.bigDecimal0)==0 && historyThreeYearDiff.compareTo(YxConstant.bigDecimal0)>0){
|
||||||
|
//当前年分差为0,但是之前年分差大于零0
|
||||||
|
enrollProbability = YxConstant.bigDecimal1.divide(historyThreeYearDiff,4,RoundingMode.HALF_UP).multiply(YxConstant.bigDecimal100);
|
||||||
|
if (historyThreeYearDiff.compareTo(YxConstant.bigDecimal1)==0) {
|
||||||
|
//如果历年分差为1,再乘0.75
|
||||||
|
enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
enrollProbability = nowYearDiff.divide(historyThreeYearDiff, 4, RoundingMode.HALF_UP).multiply(YxConstant.bigDecimal100);
|
||||||
|
//录取率*0.75
|
||||||
|
enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075);
|
||||||
}
|
}
|
||||||
enrollProbability = nowYearDiff.divide(historyThreeYearDiff, 4, RoundingMode.HALF_UP).multiply(YxConstant.bigDecimal100);
|
|
||||||
}
|
}
|
||||||
//录取方式计算
|
|
||||||
//录取率*0.75
|
|
||||||
enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075);
|
|
||||||
if (enrollProbability.compareTo(YxConstant.bigDecimal150) > 0) {
|
if (enrollProbability.compareTo(YxConstant.bigDecimal150) > 0) {
|
||||||
enrollProbability = YxConstant.bigDecimal95x;
|
enrollProbability = YxConstant.bigDecimal95x;
|
||||||
} else if (enrollProbability.compareTo(YxConstant.bigDecimal100) > 0) {
|
} else if (enrollProbability.compareTo(YxConstant.bigDecimal100) > 0) {
|
||||||
|
|
|
||||||
|
|
@ -264,26 +264,28 @@ public class YxSchoolMajorServiceImpl extends ServiceImpl<YxSchoolMajorMapper, Y
|
||||||
String paneName = queryRecommendMajorVO.getPaneName();
|
String paneName = queryRecommendMajorVO.getPaneName();
|
||||||
|
|
||||||
////计算录取概率
|
////计算录取概率
|
||||||
if ("高职高专".equals(queryRecommendMajorVO.getBatch())) {
|
if (YxConstant.betaMajorTypeList.contains(professionalCategory)) {
|
||||||
zhuanService.zhuanRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
//如果当前专业是(美术设计类,书法类,体育类)
|
||||||
|
//不需要换算为往年分数
|
||||||
|
betaRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
||||||
} else {
|
} else {
|
||||||
if (YxConstant.betaMajorTypeList.contains(professionalCategory)) {
|
if ("音乐类".equals(professionalCategory)) {
|
||||||
//如果当前专业是(美术设计类,书法类,体育类)
|
//音乐类的
|
||||||
//不需要换算为往年分数
|
musicService.musicRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
||||||
betaRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
} else if ("表演类".equals(professionalCategory)) {
|
||||||
} else {
|
biaoyanService.biaoyanRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
||||||
if ("音乐类".equals(professionalCategory)) {
|
} else if ("舞蹈类".equals(professionalCategory)) {
|
||||||
//音乐类的
|
wuDaoService.wudaoRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
||||||
musicService.musicRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
} else if ("播音与主持类".equals(professionalCategory)) {
|
||||||
} else if ("表演类".equals(professionalCategory)) {
|
boYinService.boYinRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
||||||
biaoyanService.biaoyanRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
|
||||||
} else if ("舞蹈类".equals(professionalCategory)) {
|
|
||||||
wuDaoService.wudaoRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
|
||||||
} else if ("播音与主持类".equals(professionalCategory)) {
|
|
||||||
boYinService.boYinRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*if ("高职高专".equals(queryRecommendMajorVO.getBatch())) {
|
||||||
|
zhuanService.zhuanRecommendMajorListSetEnrollProbability(recommendMajorList, activeCurrentUserScore);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}*/
|
||||||
//统计各录取率的数量
|
//统计各录取率的数量
|
||||||
for (RecommendMajorDTO recommendMajorDTO : recommendMajorList) {
|
for (RecommendMajorDTO recommendMajorDTO : recommendMajorList) {
|
||||||
number++;
|
number++;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue