updates省控线24年调整

This commit is contained in:
zhouwentao 2024-06-25 10:13:56 +08:00
parent 5b7dc7446b
commit 04123f2fdc
3 changed files with 85 additions and 17 deletions

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.yx.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
@ -19,6 +20,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -53,7 +55,18 @@ public class BiaoyanService {
BigDecimal professionalScore2 = null;//对应主考成绩
BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后
BigDecimal nowYearDiff = null;//当前年分差
Map<String, YxHistoryScoreControlLine> batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic());
Map<String, YxHistoryScoreControlLine> batchControlLineMaps = new LinkedHashMap<>();
// batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic());
LambdaQueryWrapper<YxHistoryScoreControlLine> yhsclWrapper = new LambdaQueryWrapper<>();
yhsclWrapper.eq(YxHistoryScoreControlLine::getCategory,activeCurrentUserScore.getCognitioPolyclinic());
yhsclWrapper.in(YxHistoryScoreControlLine::getBatch,"本科","高职高专");
yhsclWrapper.like(YxHistoryScoreControlLine::getProfessionalCategory,"表演类-");
List<YxHistoryScoreControlLine> yhsclList = yxHistoryScoreControlLineService.list(yhsclWrapper);
for (YxHistoryScoreControlLine yhscl : yhsclList) {
String key = yhscl.getCategory()+"-"+ yhscl.getBatch()+"-"+yhscl.getProfessionalCategory();
batchControlLineMaps.put(key,yhscl);
}
BigDecimal culturalControlLine = null;//文化分省控线
BigDecimal specialControlLine = null;//专业分省控线
BigDecimal nowYearProvincialControlLine = null;//当前年省控线
@ -95,14 +108,35 @@ public class BiaoyanService {
int index = 0;
if (CollectionUtils.isNotEmpty(recommendMajorList)) {
String batchControlLineKey = "";
String majorChild_mainSubjects = "";
YxHistoryScoreControlLine yxHistoryScoreControlLine = null;
//遍历专业列表
for (RecommendMajorDTO recommendMajorDTO : recommendMajorList) {
//取出往年的分数信息, 算出 三年平均差值
historyMajorEnrollList = recommendMajorDTO.getHistoryMajorEnrollList();
rulesEnrollProbability = recommendMajorDTO.getPrivateRulesEnrollProbability();
probabilityOperator = recommendMajorDTO.getPrivateProbabilityOperator();
culturalControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getCulturalScore();
specialControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getSpecialScore();
mainSubjects = recommendMajorDTO.getMainSubjects();
if ("戏剧影视表演".equals(mainSubjects)) {
majorChild_mainSubjects="戏剧影视表演";
} else if ("戏剧影视导演".equals(mainSubjects)) {
majorChild_mainSubjects="戏剧影视导演";
} else if ("服装表演".equals(mainSubjects)) {
majorChild_mainSubjects="服装表演";
}
batchControlLineKey = recommendMajorDTO.getCategory()+"-" +
(recommendMajorDTO.getBatch().contains("本科")?"本科":"高职高专")+"-表演类-"+
majorChild_mainSubjects;
yxHistoryScoreControlLine = batchControlLineMaps.get(batchControlLineKey);
if (yxHistoryScoreControlLine==null) {
continue;
}
culturalControlLine = yxHistoryScoreControlLine.getCulturalScore();
specialControlLine = yxHistoryScoreControlLine.getSpecialScore();
//没有计算方式 没有往年录取分数线信息 或者没有过该批次 时跳过
if (StringUtils.isBlank(rulesEnrollProbability)
|| StringUtils.isBlank(probabilityOperator)
@ -114,7 +148,7 @@ public class BiaoyanService {
historyMajorEnrollList = historyMajorEnrollList.stream().filter(h -> YxConstant.cankaoYearList.contains(h.getYear())).collect(Collectors.toList());
//将当期成绩按照专业录取分数方式折算
//majorTypeChild = recommendMajorDTO.getMajorTypeChild();
mainSubjects = recommendMajorDTO.getMainSubjects();
//判断 使用什么成绩
if ("高职高专".equals(recommendMajorDTO.getBatch()) || "兼报".equals(mainSubjects)) {

View File

@ -1,5 +1,6 @@
package org.jeecg.modules.yx.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.jeecg.modules.web.dto.ArtTestCulturalDTO;
@ -17,6 +18,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -51,7 +53,18 @@ public class MusicService {
BigDecimal professionalScore2 = null;//对应主考成绩
BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后
BigDecimal nowYearDiff = null;//当前年分差
Map<String, YxHistoryScoreControlLine> batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic());
Map<String, YxHistoryScoreControlLine> batchControlLineMaps = new LinkedHashMap<>();
// batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic())
LambdaQueryWrapper<YxHistoryScoreControlLine> yhsclWrapper = new LambdaQueryWrapper<>();
yhsclWrapper.eq(YxHistoryScoreControlLine::getCategory,activeCurrentUserScore.getCognitioPolyclinic());
yhsclWrapper.in(YxHistoryScoreControlLine::getBatch,"本科","高职高专");
yhsclWrapper.like(YxHistoryScoreControlLine::getProfessionalCategory,"音乐类-");
List<YxHistoryScoreControlLine> yhsclList = yxHistoryScoreControlLineService.list(yhsclWrapper);
for (YxHistoryScoreControlLine yhscl : yhsclList) {
String key = yhscl.getCategory()+"-"+ yhscl.getBatch()+"-"+yhscl.getProfessionalCategory();
batchControlLineMaps.put(key,yhscl);
}
BigDecimal culturalControlLine = null;
BigDecimal specialControlLine = null;
BigDecimal nowYearProvincialControlLine = null;//当前年省控线
@ -102,13 +115,38 @@ public class MusicService {
BigDecimal yyScoreNow = yybysy.max(yybyqy).max(yyjy);
int index = 0;
if (CollectionUtils.isNotEmpty(recommendMajorList)) {
String majorChild_mainSubjects = "";
String batchControlLineKey = "";
YxHistoryScoreControlLine yxHistoryScoreControlLine = null;
String userProfessionalCategoryChildren = activeCurrentUserScore.getProfessionalCategoryChildren();
//遍历专业列表
for (RecommendMajorDTO recommendMajorDTO : recommendMajorList) {
rulesEnrollProbability = recommendMajorDTO.getPrivateRulesEnrollProbability();
probabilityOperator = recommendMajorDTO.getPrivateProbabilityOperator();
//将当期成绩按照专业录取分数方式折算
majorTypeChild = recommendMajorDTO.getMajorTypeChild();
mainSubjects = recommendMajorDTO.getMainSubjects();
culturalControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getCulturalScore();
specialControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getSpecialScore();
if(majorTypeChild.contains("音乐表演")){
majorChild_mainSubjects="音乐表演";
}else if(majorTypeChild.contains("音乐教育")){
majorChild_mainSubjects="音乐教育";
}
if(StringUtils.isNotBlank(userProfessionalCategoryChildren) && userProfessionalCategoryChildren.contains("声乐")){
majorChild_mainSubjects+="声乐";
}else if(StringUtils.isNotBlank(userProfessionalCategoryChildren) && userProfessionalCategoryChildren.contains("器乐")){
majorChild_mainSubjects+="器乐";
}
batchControlLineKey = recommendMajorDTO.getCategory()+"-" +
(recommendMajorDTO.getBatch().contains("本科")?"本科":"高职高专")+"-音乐类-"+
majorChild_mainSubjects;
yxHistoryScoreControlLine = batchControlLineMaps.get(batchControlLineKey);
if (yxHistoryScoreControlLine==null) {
continue;
}
culturalControlLine = yxHistoryScoreControlLine.getCulturalScore();
specialControlLine = yxHistoryScoreControlLine.getSpecialScore();
//没有计算方式 跳过
if (StringUtils.isBlank(rulesEnrollProbability)) {
continue;
@ -128,10 +166,6 @@ public class MusicService {
continue;
}
//将当期成绩按照专业录取分数方式折算
majorTypeChild = recommendMajorDTO.getMajorTypeChild();
mainSubjects = recommendMajorDTO.getMainSubjects();
if (!"高职高专".equals(recommendMajorDTO.getBatch())) {
if (recommendMajorDTO.getRulesEnrollProbability().equals("文过专排主科")) {
professionalScore2 = activeCurrentUserScore.getProfessionalScore();

View File

@ -409,12 +409,12 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
//专业类别
queryRecommendMajorVO.setProfessionalCategory(activeCurrentUserScore.getProfessionalCategory());
//有子级专业
if (StringUtils.isNotBlank(activeCurrentUserScore.getProfessionalCategoryChildren()) && !"高职高专".equals(queryRecommendMajorVO.getBatch())) {
queryRecommendMajorVO.setPCategoryChildrenList(new ArrayList<>(Arrays.asList(activeCurrentUserScore.getProfessionalCategoryChildren().split(","))));
if("表演类".equals(activeCurrentUserScore.getProfessionalCategory())){
queryRecommendMajorVO.getPCategoryChildrenList().add("兼报");
}
}
// if (StringUtils.isNotBlank(activeCurrentUserScore.getProfessionalCategoryChildren()) && !"高职高专".equals(queryRecommendMajorVO.getBatch())) {
// queryRecommendMajorVO.setPCategoryChildrenList(new ArrayList<>(Arrays.asList(activeCurrentUserScore.getProfessionalCategoryChildren().split(","))));
// if("表演类".equals(activeCurrentUserScore.getProfessionalCategory())){
// queryRecommendMajorVO.getPCategoryChildrenList().add("兼报");
// }
// }
//标签类别
if (StringUtils.isNotBlank(queryRecommendMajorVO.getTagsStrs())) {
queryRecommendMajorVO.setTagsList(Arrays.asList(queryRecommendMajorVO.getTagsStrs().split(",")));