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 c8a9508..b1a54a1 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 @@ -53,7 +53,7 @@ public class BiaoyanService { BigDecimal professionalScore2 = null;//对应主考成绩 BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后 BigDecimal nowYearDiff = null;//当前年分差 - Map batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); + Map batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); BigDecimal culturalControlLine = null;//文化分省控线 BigDecimal specialControlLine = null;//专业分省控线 BigDecimal nowYearProvincialControlLine = null;//当前年省控线 @@ -106,7 +106,6 @@ public class BiaoyanService { //没有计算方式 或 没有往年录取分数线信息 ,或者没有过该批次 时跳过 if (StringUtils.isBlank(rulesEnrollProbability) || StringUtils.isBlank(probabilityOperator) - || CollectionUtils.isEmpty(historyMajorEnrollList) || !ScoreUtil.hasComputeEnrollProbabilityPermissions(nowBatch, recommendMajorDTO.getBatch())) { recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0); continue; @@ -144,14 +143,15 @@ public class BiaoyanService { continue; } if ("高职高专".equals(recommendMajorDTO.getBatch())) { - //展示分数 专业分用用 0.167 - recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore2, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator)); + studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); + recommendMajorDTO.setStudentScore(studentScore); + recommendMajorDTO.setStudentConvertedScore(studentScore); //内部算分 专业分用 0.25 - rulesEnrollProbability = "文*0.067+专*0.25"; + /*rulesEnrollProbability = "文*0.067+专*0.25"; probabilityOperator = "文*0.067+专*0.25"; //使用主考科目成绩,将当期成绩按照专业录取分数方式折算 studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore3, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); - recommendMajorDTO.setStudentConvertedScore(studentScore); + recommendMajorDTO.setStudentConvertedScore(studentScore);*/ }else{ //使用主考科目成绩,将当期成绩按照专业录取分数方式折算 studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore3, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); @@ -159,6 +159,10 @@ public class BiaoyanService { recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore2, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator)); } + if (CollectionUtils.isEmpty(historyMajorEnrollList)) { + continue; + } + if (rulesEnrollProbability.equals("文过专排主科")) { if (culturalScore.compareTo(culturalControlLine) < 0) { //小于文化分省控线 @@ -176,25 +180,31 @@ public class BiaoyanService { recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability)); recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator)); } else { + //当前年省控线 nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); if (nowYearProvincialControlLine == null) { continue; } - + //历年分差 differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList); historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference"); + //当前年线差 nowYearDiff = studentScore.subtract(nowYearProvincialControlLine); + //艺术类,高职高专 算 当前年线差率 (当前年线差/当前年省控线) + if ("高职高专".equals(recommendMajorDTO.getBatch())) { + nowYearDiff = nowYearDiff.divide(nowYearProvincialControlLine,6,RoundingMode.HALF_UP); + } enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff,historyThreeYearDiff); } enrollProbability = ScoreUtil.commonCheckEnrollProbabilityBeilv(enrollProbability); recommendMajorDTO.setEnrollProbability(enrollProbability); - if("高职高专".equals(recommendMajorDTO.getBatch())){ + /*if("高职高专".equals(recommendMajorDTO.getBatch())){ recommendMajorDTO.setRulesEnrollProbability("文*0.067+专*0.167"); recommendMajorDTO.setProbabilityOperator("文*0.067+专*0.167"); }else{ recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability)); recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator)); - } + }*/ //============================================== } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BoYinService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BoYinService.java index 698e338..4712241 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BoYinService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BoYinService.java @@ -56,7 +56,7 @@ public class BoYinService { BigDecimal professionalScore2 = null;//对应主考成绩 BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后 BigDecimal nowYearDiff = null;//当前年分差 - Map batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); + Map batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); BigDecimal culturalControlLine = null;//文化分省控线 BigDecimal specialControlLine = null;//专业分省控线 BigDecimal nowYearProvincialControlLine = null;//当前年省控线 @@ -119,13 +119,8 @@ public class BoYinService { } if ("高职高专".equals(recommendMajorDTO.getBatch())) { - //展示分数 专业分用 0.167 - recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator)); - //内部算分 专业分用 1.25 - rulesEnrollProbability = "文*0.067+专*0.125"; - probabilityOperator = "文*0.067+专*0.125"; - //使用主考科目成绩,将当期成绩按照专业录取分数方式折算 - studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), by, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); + studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); + recommendMajorDTO.setStudentScore(studentScore); recommendMajorDTO.setStudentConvertedScore(studentScore); }else{ studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(),by, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); @@ -153,26 +148,25 @@ public class BoYinService { recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability)); recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator)); } else { + //当前年省控线 nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); if (nowYearProvincialControlLine == null) { continue; } + //历年分差 differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList); historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference"); + //当前年线差 nowYearDiff = studentScore.subtract(nowYearProvincialControlLine); + //艺术类,高职高专 算 当前年线差率 (当前年线差/当前年省控线) + if ("高职高专".equals(recommendMajorDTO.getBatch())) { + nowYearDiff = nowYearDiff.divide(nowYearProvincialControlLine,6,RoundingMode.HALF_UP); + } enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff,historyThreeYearDiff); - } //录取方式计算 enrollProbability = ScoreUtil.commonCheckEnrollProbabilityBeilv(enrollProbability); recommendMajorDTO.setEnrollProbability(enrollProbability); - if("高职高专".equals(recommendMajorDTO.getBatch())){ - recommendMajorDTO.setRulesEnrollProbability("文*0.067+专*0.167"); - recommendMajorDTO.setProbabilityOperator("文*0.067+专*0.167"); - }else{ - recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability)); - recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator)); - } //============================================== } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java index 6459cf0..8435ffd 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java @@ -53,7 +53,7 @@ public class MusicService { BigDecimal professionalScore2 = null;//对应主考成绩 BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后 BigDecimal nowYearDiff = null;//当前年分差 - Map batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); + Map batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); BigDecimal culturalControlLine = null; BigDecimal specialControlLine = null; BigDecimal nowYearProvincialControlLine = null;//当前年省控线 @@ -113,9 +113,6 @@ public class MusicService { culturalControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getCulturalScore(); specialControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getSpecialScore(); - if (recommendMajorDTO.getSchoolCode().equals("6040") && recommendMajorDTO.getBatch().equals("本科A段") && recommendMajorDTO.getEnrollmentCode().contains("06")) { - System.out.println("111"); - } //没有计算方式 跳过 if (StringUtils.isBlank(rulesEnrollProbability)) { continue; @@ -202,14 +199,17 @@ public class MusicService { } if ("高职高专".equals(recommendMajorDTO.getBatch())) { - //展示分数 专业分用用 0.167 + studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); + recommendMajorDTO.setStudentScore(studentScore); + recommendMajorDTO.setStudentConvertedScore(studentScore); + /*//展示分数 专业分用用 0.167 recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore2, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator)); //内部算分 专业分用 0.25 rulesEnrollProbability = "文*0.067+专*0.25"; probabilityOperator = "文*0.067+专*0.25"; //使用主考科目成绩,将当期成绩按照专业录取分数方式折算 studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore3, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); - recommendMajorDTO.setStudentConvertedScore(studentScore); + recommendMajorDTO.setStudentConvertedScore(studentScore);*/ }else{ //使用主考科目成绩,将当期成绩按照专业录取分数方式折算 studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore3, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); @@ -236,26 +236,25 @@ public class MusicService { recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability)); recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator)); } else { + //当前年省控线 nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); if (nowYearProvincialControlLine == null) { continue; } + //历年分差 differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList); historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference"); + //当前年线差 nowYearDiff = studentScore.subtract(nowYearProvincialControlLine); - enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff, historyThreeYearDiff); - + //艺术类,高职高专 算 当前年线差率 (当前年线差/当前年省控线) + if ("高职高专".equals(recommendMajorDTO.getBatch())) { + nowYearDiff = nowYearDiff.divide(nowYearProvincialControlLine,6,RoundingMode.HALF_UP); + } + enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff,historyThreeYearDiff); } //调整录取倍率 enrollProbability = ScoreUtil.commonCheckEnrollProbabilityBeilv(enrollProbability); recommendMajorDTO.setEnrollProbability(enrollProbability); - if("高职高专".equals(recommendMajorDTO.getBatch())){ - recommendMajorDTO.setRulesEnrollProbability("文*0.067+专*0.167"); - recommendMajorDTO.setProbabilityOperator("文*0.067+专*0.167"); - }else{ - recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability)); - recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator)); - } //============================================== } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/WuDaoService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/WuDaoService.java index 735456c..08295a5 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/WuDaoService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/WuDaoService.java @@ -53,8 +53,8 @@ public class WuDaoService { BigDecimal professionalScore = activeCurrentUserScore.getProfessionalScore();//学生的文化分 BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后 BigDecimal nowYearDiff = null;//当前年分差 - Map yswdHistoryScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), "艺术舞蹈类", activeCurrentUserScore.getCognitioPolyclinic()); - Map gjbzwHistoryScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), "国际标准舞类", activeCurrentUserScore.getCognitioPolyclinic()); + Map yswdHistoryScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), "舞蹈类", activeCurrentUserScore.getCognitioPolyclinic()); + Map gjbzwHistoryScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), "舞蹈类", activeCurrentUserScore.getCognitioPolyclinic()); BigDecimal culturalControlLine = null;//文化分省控线 BigDecimal specialControlLine = null;//专业分省控线 BigDecimal nowYearProvincialControlLine = null;//当前年省控线 @@ -131,13 +131,8 @@ public class WuDaoService { } if ("高职高专".equals(recommendMajorDTO.getBatch())) { - //展示分数 专业分用用 0.167 - recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator)); - //内部算分 专业分用 0.25 - rulesEnrollProbability = "文*0.067+专*0.25"; - probabilityOperator = "文*0.067+专*0.25"; - //使用主考科目成绩,将当期成绩按照专业录取分数方式折算 - studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore3, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); + studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); + recommendMajorDTO.setStudentScore(studentScore); recommendMajorDTO.setStudentConvertedScore(studentScore); }else{ //使用主考科目成绩,将当期成绩按照专业录取分数方式折算 @@ -166,27 +161,24 @@ public class WuDaoService { enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075); } else { + //当前年省控线 nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); if (nowYearProvincialControlLine == null) { continue; } - if (index == 51) { - System.out.println("111"); - } + //历年分差 differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList); historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference"); + //当前年线差 nowYearDiff = studentScore.subtract(nowYearProvincialControlLine); + //艺术类,高职高专 算 当前年线差率 (当前年线差/当前年省控线) + if ("高职高专".equals(recommendMajorDTO.getBatch())) { + nowYearDiff = nowYearDiff.divide(nowYearProvincialControlLine,6,RoundingMode.HALF_UP); + } enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff,historyThreeYearDiff); } enrollProbability = ScoreUtil.commonCheckEnrollProbabilityBeilv(enrollProbability); recommendMajorDTO.setEnrollProbability(enrollProbability); - if("高职高专".equals(recommendMajorDTO.getBatch())){ - recommendMajorDTO.setRulesEnrollProbability("文*0.067+专*0.167"); - recommendMajorDTO.setProbabilityOperator("文*0.067+专*0.167"); - }else{ - recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability)); - recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator)); - } //============================================== } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java index 4074b77..6314138 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java @@ -462,7 +462,7 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl historyScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); + Map historyScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); BigDecimal culturalControlLine = null;//文化分省控线 BigDecimal specialControlLine = null;//专业分省控线 BigDecimal nowYearProvincialControlLine = null;//当前年省控线 @@ -544,18 +544,20 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl=oldLastYearScoreSegmentList.size()) { + nextOldScoreSegment = oldLastYearScoreSegmentList.get(oldLastYearScoreSegmentList.size()-1);//下一位 低分 + return nextOldScoreSegment; + }else{ + nextOldScoreSegment = oldLastYearScoreSegmentList.get(nextI);//下一位 低分 + } + //判断占比是否在 这二位成绩之间的占比。 nowOld <= nowRate >= nextOld if (nextOldScoreSegment.getRate().compareTo(nowRate) < 1 && nowOldScoreSegment.getRate().compareTo(nowRate) < 0) { return nowOldScoreSegment; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/util/ScoreUtil.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/util/ScoreUtil.java index db690da..1863047 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/util/ScoreUtil.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/util/ScoreUtil.java @@ -70,29 +70,29 @@ public class ScoreUtil { int yearNum=0; BigDecimal controlLine = null;//文科-省控线 BigDecimal admissionLine = null;//文科-录取线 + YxHistoryMajorEnroll yxHistoryMajorEnroll1 = historyMajorEnrollList.get(0); for (YxHistoryMajorEnroll yxHistoryMajorEnroll : historyMajorEnrollList) { - if (yearNum>=1&& !yxHistoryMajorEnroll.getRulesEnrollProbability().equals(rulesEnrollProbability)) { - //如果仅两年的录取原则一样,后面的不一样,不使用较旧的分数 111 - continue; - } controlLine = yxHistoryMajorEnroll.getControlLine(); admissionLine = yxHistoryMajorEnroll.getAdmissionLine(); if (admissionLine.compareTo(YxConstant.bigDecimal0) <=0) { continue; } nowSum = admissionLine.subtract(controlLine); - - if (!sum.equals(BigDecimal.ZERO)) { - // 判断 两年分差 - double v = sum.subtract(nowSum).doubleValue(); - if (v <=2 || v>=2) { - //历年分差 在 2 至上时,将用户当前年分差-2 - data.put("flag",true); + if (!"高职高专".equals(yxHistoryMajorEnroll.getBatch()) || "体育类".equals(yxHistoryMajorEnroll.getMajorType())) { + if (yearNum>=1&& !yxHistoryMajorEnroll.getRulesEnrollProbability().equals(rulesEnrollProbability)) { + //如果仅两年的录取原则一样,后面的不一样,不使用较旧的分数 + continue; } + }else{ + //体育之外的,如果是高职高专 + //将 分差/省控线 + nowSum = nowSum.divide(yxHistoryMajorEnroll.getControlLine(),6,RoundingMode.HALF_UP); } + /*if (!sum.equals(BigDecimal.ZERO)) { + // 判断 两年分差double v = sum.subtract(nowSum).doubleValue();if (v <=2 || v>=2) { //历年分差 在 2 至上时,将用户当前年分差-2 data.put("flag",true);} + }*/ sum=sum.add(nowSum);//录取线-省控线 yearNum++; - } if (yearNum!=0) { BigDecimal divide = sum.divide(new BigDecimal(yearNum), 4, RoundingMode.HALF_UP);