diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java index df6c4cc..d2ac8ed 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java @@ -63,7 +63,7 @@ public class YxConstant { public static List 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 bigDecimal175= new BigDecimal("175"); public static BigDecimal bigDecimal50=new BigDecimal("50"); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreController.java index 53ad6bd..a8ed78b 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreController.java @@ -101,7 +101,7 @@ public class YxScoreController { if ("音乐类".equals(professionalCategory)) { AssertUtils.notTrue(professionalScore.compareTo(YxConstant.bigDecimal300) > 0,"[主项成绩]最高分为300"); 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.bigDecimal0) < 0,"[统考成绩]最低分为0"); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BiaoyanService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BiaoyanService.java index effd3b5..1362684 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BiaoyanService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BiaoyanService.java @@ -133,14 +133,14 @@ public class BiaoyanService { professionalScore2 = byMaxScoreOld; professionalScore3 = byMaxScore; } else if ("戏剧影视表演".equals(mainSubjects)) { - professionalScore2 = activeCurrentUserScore.getFzby(); - professionalScore3 = fzby; + professionalScore2 = activeCurrentUserScore.getXjysby(); + professionalScore3 = xjysby; } else if ("戏剧影视导演".equals(mainSubjects)) { professionalScore2 = activeCurrentUserScore.getXjysdy(); professionalScore3 = xjysdy; } else if ("服装表演".equals(mainSubjects)) { - professionalScore2 = activeCurrentUserScore.getXjysby(); - professionalScore3 = xjysby; + professionalScore2 = activeCurrentUserScore.getFzby(); + professionalScore3 = fzby; } else { log.error("当前专业有问题,不清楚主考科目:" + JSONObject.toJSONString(recommendMajorDTO)); continue; @@ -182,17 +182,29 @@ public class BiaoyanService { if (nowYearProvincialControlLine == null) { continue; } + differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList); historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference"); nowYearDiff = studentScore.subtract(nowYearProvincialControlLine); - if (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0) { - continue; + if(nowYearDiff.compareTo(YxConstant.bigDecimal0)==0 && (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0)) { + //当前年分差为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) { enrollProbability = YxConstant.bigDecimal95x; } else if (enrollProbability.compareTo(YxConstant.bigDecimal100) > 0) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java index d242b25..166549f 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java @@ -264,26 +264,28 @@ public class YxSchoolMajorServiceImpl extends ServiceImpl