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