update
This commit is contained in:
parent
1953f50c5c
commit
64069bf2f2
|
|
@ -91,6 +91,8 @@ public class ArtRecommendMajorController {
|
||||||
@ApiOperation(value = "投档分测算")
|
@ApiOperation(value = "投档分测算")
|
||||||
@GetMapping("/calculateInvestment")
|
@GetMapping("/calculateInvestment")
|
||||||
public Result<?> calculateInvestment(QueryCalculateInvestmentVO queryCalculateInvestmentVO) {
|
public Result<?> calculateInvestment(QueryCalculateInvestmentVO queryCalculateInvestmentVO) {
|
||||||
|
BigDecimal culturalScore = new BigDecimal(queryCalculateInvestmentVO.getCulturalScore());
|
||||||
|
BigDecimal professionalScore = new BigDecimal(queryCalculateInvestmentVO.getProfessionalScore());
|
||||||
//获取 院校专业信息列表,录取方式notnull
|
//获取 院校专业信息列表,录取方式notnull
|
||||||
LambdaQueryWrapper<YxSchoolMajor> yxSchoolMajorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<YxSchoolMajor> yxSchoolMajorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
yxSchoolMajorLambdaQueryWrapper.isNotNull(YxSchoolMajor::getRulesEnrollProbability);
|
yxSchoolMajorLambdaQueryWrapper.isNotNull(YxSchoolMajor::getRulesEnrollProbability);
|
||||||
|
|
@ -103,12 +105,62 @@ public class ArtRecommendMajorController {
|
||||||
|
|
||||||
yxSchoolMajorLambdaQueryWrapper.eq(StringUtils.isNotBlank(queryCalculateInvestmentVO.getCategory()), YxSchoolMajor::getCategory, queryCalculateInvestmentVO.getCategory());
|
yxSchoolMajorLambdaQueryWrapper.eq(StringUtils.isNotBlank(queryCalculateInvestmentVO.getCategory()), YxSchoolMajor::getCategory, queryCalculateInvestmentVO.getCategory());
|
||||||
yxSchoolMajorLambdaQueryWrapper.eq(StringUtils.isNotBlank(queryCalculateInvestmentVO.getProfessionalCategory()), YxSchoolMajor::getMajorType, queryCalculateInvestmentVO.getProfessionalCategory());
|
yxSchoolMajorLambdaQueryWrapper.eq(StringUtils.isNotBlank(queryCalculateInvestmentVO.getProfessionalCategory()), YxSchoolMajor::getMajorType, queryCalculateInvestmentVO.getProfessionalCategory());
|
||||||
if (!"体育类".equals(queryCalculateInvestmentVO.getProfessionalCategory())) {
|
|
||||||
List<String> probabilityOperatorList = Arrays.asList("文*0.8+专*0.5","文*0.7+专*0.75","文*0.6+专*1","文*0.5+专*1.25");
|
|
||||||
yxSchoolMajorLambdaQueryWrapper.in(YxSchoolMajor::getProbabilityOperator,probabilityOperatorList);
|
|
||||||
}
|
|
||||||
List<YxSchoolMajor> schooMajorList = yxSchoolMajorService.list(yxSchoolMajorLambdaQueryWrapper);
|
|
||||||
List<ArtCalculateInvestmentDTO> calculateInvestmentDTOList = new ArrayList<>();
|
List<ArtCalculateInvestmentDTO> calculateInvestmentDTOList = new ArrayList<>();
|
||||||
|
Map<String,String> rulesEnrollProbabilityMap=new HashMap<>();
|
||||||
|
rulesEnrollProbabilityMap.put("专过文排","专过文排");
|
||||||
|
rulesEnrollProbabilityMap.put("文*0.8+专*0.5","文8专2");
|
||||||
|
rulesEnrollProbabilityMap.put("文*0.7+专*0.75","文7专3");
|
||||||
|
rulesEnrollProbabilityMap.put("文*0.6+专*1","文6专4");
|
||||||
|
rulesEnrollProbabilityMap.put("文*0.5+专*1.25","文5专5");
|
||||||
|
if (!"体育类".equals(queryCalculateInvestmentVO.getProfessionalCategory())) {
|
||||||
|
//非体育类
|
||||||
|
List<String> rulesEnrollProbabilityList = null;
|
||||||
|
if ("高职高专".equals(queryCalculateInvestmentVO.getBatch())) {
|
||||||
|
rulesEnrollProbabilityList = Arrays.asList("文*0.5+专*1.25");
|
||||||
|
}else{
|
||||||
|
rulesEnrollProbabilityList = Arrays.asList("文*0.8+专*0.5", "文*0.7+专*0.75", "文*0.6+专*1", "文*0.5+专*1.25", "专过文排");
|
||||||
|
}
|
||||||
|
|
||||||
|
yxSchoolMajorLambdaQueryWrapper.in(YxSchoolMajor::getRulesEnrollProbability, rulesEnrollProbabilityList);
|
||||||
|
List<YxSchoolMajor> schooMajorList = yxSchoolMajorService.list(yxSchoolMajorLambdaQueryWrapper);
|
||||||
|
BigDecimal wenhuaBili = null;
|
||||||
|
BigDecimal zhuanyeBili = null;
|
||||||
|
ArtCalculateInvestmentDTO artCalculateInvestmentDTO = null;
|
||||||
|
for (String probabilityOperator : rulesEnrollProbabilityList) {
|
||||||
|
artCalculateInvestmentDTO = new ArtCalculateInvestmentDTO();
|
||||||
|
if (probabilityOperator.equals("专过文排")) {
|
||||||
|
artCalculateInvestmentDTO.setRulesEnrollProbability(rulesEnrollProbabilityMap.get(probabilityOperator));
|
||||||
|
artCalculateInvestmentDTO.setProbabilityOperator("文*1");
|
||||||
|
artCalculateInvestmentDTO.setScore(culturalScore);
|
||||||
|
artCalculateInvestmentDTO.setSchoolNum((int) schooMajorList.stream().filter(s->s.getRulesEnrollProbability().equals("专过文排")).count());
|
||||||
|
calculateInvestmentDTOList.add(artCalculateInvestmentDTO);
|
||||||
|
} else {
|
||||||
|
wenhuaBili = null;
|
||||||
|
zhuanyeBili = null;
|
||||||
|
String[] operators = probabilityOperator.split("\\+");
|
||||||
|
for (String operator : operators) {
|
||||||
|
if (operator.contains("文")) {
|
||||||
|
wenhuaBili = new BigDecimal(operator.split("\\*")[1]);
|
||||||
|
}
|
||||||
|
if (operator.contains("专")) {
|
||||||
|
zhuanyeBili = new BigDecimal(operator.split("\\*")[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (wenhuaBili == null || zhuanyeBili == null) {
|
||||||
|
wenhuaBili = YxConstant.bigDecimal100;
|
||||||
|
zhuanyeBili = YxConstant.bigDecimal100;
|
||||||
|
}
|
||||||
|
artCalculateInvestmentDTO = new ArtCalculateInvestmentDTO();
|
||||||
|
artCalculateInvestmentDTO.setRulesEnrollProbability(rulesEnrollProbabilityMap.get(probabilityOperator));
|
||||||
|
artCalculateInvestmentDTO.setProbabilityOperator(probabilityOperator);
|
||||||
|
artCalculateInvestmentDTO.setScore((culturalScore.multiply(wenhuaBili)).add((professionalScore.multiply(zhuanyeBili))));
|
||||||
|
artCalculateInvestmentDTO.setSchoolNum((int) schooMajorList.stream().filter(s->s.getProbabilityOperator().contains(probabilityOperator)).count());
|
||||||
|
calculateInvestmentDTOList.add(artCalculateInvestmentDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
List<YxSchoolMajor> schooMajorList = yxSchoolMajorService.list(yxSchoolMajorLambdaQueryWrapper);
|
||||||
try {
|
try {
|
||||||
if (CollectionUtils.isEmpty(schooMajorList)) {
|
if (CollectionUtils.isEmpty(schooMajorList)) {
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
|
|
@ -127,8 +179,6 @@ public class ArtRecommendMajorController {
|
||||||
if (maps.isEmpty()) {
|
if (maps.isEmpty()) {
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
BigDecimal culturalScore = new BigDecimal(queryCalculateInvestmentVO.getCulturalScore());
|
|
||||||
BigDecimal professionalScore = new BigDecimal(queryCalculateInvestmentVO.getProfessionalScore());
|
|
||||||
//根据录取方式,计算折合分数
|
//根据录取方式,计算折合分数
|
||||||
for (String rulesEnrollProbability : maps.keySet()) {
|
for (String rulesEnrollProbability : maps.keySet()) {
|
||||||
Optional<YxSchoolMajor> any = schooMajorList.stream().filter(s -> s.getRulesEnrollProbability().equals(rulesEnrollProbability)).findAny();
|
Optional<YxSchoolMajor> any = schooMajorList.stream().filter(s -> s.getRulesEnrollProbability().equals(rulesEnrollProbability)).findAny();
|
||||||
|
|
@ -136,11 +186,8 @@ public class ArtRecommendMajorController {
|
||||||
YxSchoolMajor yxSchoolMajor = any.get();
|
YxSchoolMajor yxSchoolMajor = any.get();
|
||||||
artCalculateInvestmentDTO = new ArtCalculateInvestmentDTO();
|
artCalculateInvestmentDTO = new ArtCalculateInvestmentDTO();
|
||||||
artCalculateInvestmentDTO.setSchoolNum(maps.get(rulesEnrollProbability).size());
|
artCalculateInvestmentDTO.setSchoolNum(maps.get(rulesEnrollProbability).size());
|
||||||
artCalculateInvestmentDTO.setRulesEnrollProbability(rulesEnrollProbability);
|
artCalculateInvestmentDTO.setRulesEnrollProbability(yxSchoolMajor.getRulesEnrollProbabilitySx());
|
||||||
artCalculateInvestmentDTO.setProbabilityOperator(yxSchoolMajor.getProbabilityOperator());
|
artCalculateInvestmentDTO.setProbabilityOperator(yxSchoolMajor.getProbabilityOperator());
|
||||||
if (rulesEnrollProbability.contains("文*0.133+专*0")) {
|
|
||||||
System.out.println("111");
|
|
||||||
}
|
|
||||||
artCalculateInvestmentDTO.setScore(ScoreUtil.convertIntoScore(rulesEnrollProbability, culturalScore, professionalScore, null, yxSchoolMajor.getProbabilityOperator()));
|
artCalculateInvestmentDTO.setScore(ScoreUtil.convertIntoScore(rulesEnrollProbability, culturalScore, professionalScore, null, yxSchoolMajor.getProbabilityOperator()));
|
||||||
calculateInvestmentDTOList.add(artCalculateInvestmentDTO);
|
calculateInvestmentDTOList.add(artCalculateInvestmentDTO);
|
||||||
}
|
}
|
||||||
|
|
@ -148,6 +195,7 @@ public class ArtRecommendMajorController {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return Result.error("计算折合分出错,请联系管理员");
|
return Result.error("计算折合分出错,请联系管理员");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return Result.OK(calculateInvestmentDTOList);
|
return Result.OK(calculateInvestmentDTOList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -366,7 +366,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
yxHistoryMajorEnroll.setControlLine(multiply);
|
yxHistoryMajorEnroll.setControlLine(multiply);
|
||||||
yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排");
|
yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排");
|
||||||
} else if ("专过文排".equals(rulesEnrollProbability)) {
|
} else if ("专过文排".equals(rulesEnrollProbability)) {
|
||||||
BigDecimal multiply = specialScore.multiply(wenhuaBili);
|
BigDecimal multiply = culturalScore.multiply(wenhuaBili);
|
||||||
yxHistoryMajorEnroll.setControlLine(multiply);
|
yxHistoryMajorEnroll.setControlLine(multiply);
|
||||||
yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排");
|
yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排");
|
||||||
} else if ("其他计算办法".equals(rulesEnrollProbability)) {
|
} else if ("其他计算办法".equals(rulesEnrollProbability)) {
|
||||||
|
|
|
||||||
|
|
@ -518,6 +518,9 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
|
||||||
recommendMajorDTO.setStudentConvertedScore(studentScore);
|
recommendMajorDTO.setStudentConvertedScore(studentScore);
|
||||||
recommendMajorDTO.setStudentScore(studentScore);
|
recommendMajorDTO.setStudentScore(studentScore);
|
||||||
|
|
||||||
|
if (recommendMajorDTO.getSchoolCode().equals("6198") && "06".equals(recommendMajorDTO.getEnrollmentCode())) {
|
||||||
|
System.out.println("1111");
|
||||||
|
}
|
||||||
|
|
||||||
//录取方式计算
|
//录取方式计算
|
||||||
if (rulesEnrollProbability.equals("文过专排主科")) {
|
if (rulesEnrollProbability.equals("文过专排主科")) {
|
||||||
|
|
@ -542,9 +545,6 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
|
||||||
historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference");
|
historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference");
|
||||||
//historyThreeYearDiff = sum.divide(new BigDecimal(size), 4, RoundingMode.HALF_UP);
|
//historyThreeYearDiff = sum.divide(new BigDecimal(size), 4, RoundingMode.HALF_UP);
|
||||||
nowYearDiff = studentScore.subtract(nowYearProvincialControlLine);
|
nowYearDiff = studentScore.subtract(nowYearProvincialControlLine);
|
||||||
if (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff,historyThreeYearDiff);
|
enrollProbability = ScoreUtil.commonCheckEnrollProbability(nowYearDiff,historyThreeYearDiff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -170,8 +170,9 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl<YxHistoryMajorE
|
||||||
if (StringUtils.isNotBlank(id)) {
|
if (StringUtils.isNotBlank(id)) {
|
||||||
lambdaQueryWrapper.in(YxHistoryMajorEnroll::getId, Arrays.asList(id.split(",")));
|
lambdaQueryWrapper.in(YxHistoryMajorEnroll::getId, Arrays.asList(id.split(",")));
|
||||||
}
|
}
|
||||||
lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorType,"体育类");
|
// lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorType,"体育类");
|
||||||
lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch,"本科");
|
// lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch,"本科");
|
||||||
|
lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getRulesEnrollProbability,"专过文排");
|
||||||
//lambdaQueryWrapper.in(YxHistoryMajorEnroll::getRulesEnrollProbability,"专过文排","文过专排");
|
//lambdaQueryWrapper.in(YxHistoryMajorEnroll::getRulesEnrollProbability,"专过文排","文过专排");
|
||||||
List<YxHistoryMajorEnroll> list = list(lambdaQueryWrapper);
|
List<YxHistoryMajorEnroll> list = list(lambdaQueryWrapper);
|
||||||
if (CollectionUtils.isNotEmpty(list)) {
|
if (CollectionUtils.isNotEmpty(list)) {
|
||||||
|
|
@ -266,7 +267,7 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl<YxHistoryMajorE
|
||||||
record.setControlLine(multiply);
|
record.setControlLine(multiply);
|
||||||
record.setRulesEnrollProbability("文过专排");
|
record.setRulesEnrollProbability("文过专排");
|
||||||
} else if ("专过文排".equals(rulesEnrollProbability)) {
|
} else if ("专过文排".equals(rulesEnrollProbability)) {
|
||||||
BigDecimal multiply = specialScore.multiply(wenhuaBili);
|
BigDecimal multiply = culturalScore.multiply(wenhuaBili);
|
||||||
record.setControlLine(multiply);
|
record.setControlLine(multiply);
|
||||||
record.setRulesEnrollProbability("专过文排");
|
record.setRulesEnrollProbability("专过文排");
|
||||||
} else if ("其他计算办法".equals(rulesEnrollProbability)) {
|
} else if ("其他计算办法".equals(rulesEnrollProbability)) {
|
||||||
|
|
@ -291,7 +292,7 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl<YxHistoryMajorE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateBatchById(list,500);
|
updateBatchById(list,500);
|
||||||
log.debug("已刷新省控线");
|
log.error("已刷新省控线");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue