parent
0fb045b629
commit
ea41cd0a12
|
|
@ -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));
|
||||
}
|
||||
}*/
|
||||
//==============================================
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
//==============================================
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
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));
|
||||
}
|
||||
//==============================================
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
//==============================================
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
//==============================================
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);//开始 高分
|
||||
nextOldScoreSegment = oldLastYearScoreSegmentList.get(nextI);//下一位 低分
|
||||
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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue