调整高职高专 分差率
This commit is contained in:
zhouwentao 2024-03-31 16:52:23 +08:00
parent 0fb045b629
commit ea41cd0a12
7 changed files with 81 additions and 78 deletions

View File

@ -53,7 +53,7 @@ public class BiaoyanService {
BigDecimal professionalScore2 = null;//对应主考成绩
BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后
BigDecimal nowYearDiff = null;//当前年分差
Map<String, YxHistoryScoreControlLine> batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic());
Map<String, YxHistoryScoreControlLine> 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));
}
}*/
//==============================================
}
}

View File

@ -56,7 +56,7 @@ public class BoYinService {
BigDecimal professionalScore2 = null;//对应主考成绩
BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后
BigDecimal nowYearDiff = null;//当前年分差
Map<String, YxHistoryScoreControlLine> batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic());
Map<String, YxHistoryScoreControlLine> 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));
}
//==============================================
}
}

View File

@ -53,7 +53,7 @@ public class MusicService {
BigDecimal professionalScore2 = null;//对应主考成绩
BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后
BigDecimal nowYearDiff = null;//当前年分差
Map<String, YxHistoryScoreControlLine> batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic());
Map<String, YxHistoryScoreControlLine> 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);
//艺术类高职高专 当前年线差率 (当前年线差/当前年省控线)
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));
}
//==============================================
}
}

View File

@ -53,8 +53,8 @@ public class WuDaoService {
BigDecimal professionalScore = activeCurrentUserScore.getProfessionalScore();//学生的文化分
BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后
BigDecimal nowYearDiff = null;//当前年分差
Map<String, YxHistoryScoreControlLine> yswdHistoryScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), "艺术舞蹈类", activeCurrentUserScore.getCognitioPolyclinic());
Map<String, YxHistoryScoreControlLine> gjbzwHistoryScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), "国际标准舞类", activeCurrentUserScore.getCognitioPolyclinic());
Map<String, YxHistoryScoreControlLine> yswdHistoryScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), "舞蹈类", activeCurrentUserScore.getCognitioPolyclinic());
Map<String, YxHistoryScoreControlLine> 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));
}
//==============================================
}
}

View File

@ -462,7 +462,7 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
BigDecimal professionalScore = activeCurrentUserScore.getProfessionalScore();//学生的专业分
BigDecimal professionalScore2 = null;
BigDecimal nowYearDiff = null;//当前年分差
Map<String, YxHistoryScoreControlLine> historyScoreControlLineMap = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.historyControlLineYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic());
Map<String, YxHistoryScoreControlLine> 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<YxCalculationMajo
}
//历年分差
differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList);
//
historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference");
//historyThreeYearDiff = sum.divide(new BigDecimal(size), 4, RoundingMode.HALF_UP);
//当前年线差
nowYearDiff = studentScore.subtract(nowYearProvincialControlLine);
//艺术类高职高专 当前年线差率 (当前年线差/当前年省控线)
if ("高职高专".equals(recommendMajorDTO.getBatch()) && !"体育类".equals(recommendMajorDTO.getMajorType())) {
nowYearDiff = nowYearDiff.divide(nowYearProvincialControlLine,6,RoundingMode.HALF_UP);
}
enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff,historyThreeYearDiff);
}
enrollProbability = ScoreUtil.commonCheckEnrollProbabilityBeilv(enrollProbability);
recommendMajorDTO.setEnrollProbability(enrollProbability);
recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability));
recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator));
// recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability));
// recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator));
//==============================================
}
}

View File

@ -138,7 +138,13 @@ public class YxScoreSegmentServiceImpl extends ServiceImpl<YxScoreSegmentMapper,
for (int i = 0; i < oldLastYearScoreSegmentList.size(); i++) {
nextI = (i+1);
nowOldScoreSegment = oldLastYearScoreSegmentList.get(i);//开始 高分
if (nextI>=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;

View File

@ -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);