updates
This commit is contained in:
parent
0cdf7c6fe7
commit
40160e42ea
|
|
@ -18,6 +18,7 @@ import org.jeecg.modules.art.dto.ArtRecommendMajorBaseDTO;
|
|||
import org.jeecg.modules.art.dto.ArtTestCulturalDTO;
|
||||
import org.jeecg.modules.art.vo.QueryCalculateInvestmentVO;
|
||||
import org.jeecg.modules.art.vo.QueryRecommendMajorVO;
|
||||
import org.jeecg.modules.mini.service.MiniTestCulturalService;
|
||||
import org.jeecg.modules.yx.constant.YxConstant;
|
||||
import org.jeecg.modules.yx.entity.*;
|
||||
import org.jeecg.modules.yx.service.IYxHistoryMajorEnrollService;
|
||||
|
|
@ -47,11 +48,7 @@ public class ArtRecommendMajorController {
|
|||
@Resource
|
||||
IYxSchoolMajorService yxSchoolMajorService;
|
||||
@Resource
|
||||
IYxUserScoreService yxUserScoreService;
|
||||
@Resource
|
||||
IYxHistoryMajorEnrollService yxHistoryMajorEnrollService;
|
||||
@Resource
|
||||
IYxHistoryScoreControlLineService yxHistoryScoreControlLineService;
|
||||
MiniTestCulturalService testCulturalService;
|
||||
@Resource
|
||||
private RedisUtil redisUtil;
|
||||
|
||||
|
|
@ -208,126 +205,6 @@ public class ArtRecommendMajorController {
|
|||
String year = queryRecommendMajorVO.getYear();
|
||||
AssertUtils.notNull(loginUser, "未获取到登录信息");
|
||||
AssertUtils.notNull(year, "请选择年份");
|
||||
//========================学生的成绩 start
|
||||
YxUserScore userScore = yxUserScoreService.getActiveCurrentUserScore();
|
||||
String professionalCategory = userScore.getProfessionalCategory();
|
||||
String cognitioPolyclinic = userScore.getCognitioPolyclinic();
|
||||
BigDecimal culturalScore = userScore.getCulturalScore();
|
||||
BigDecimal professionalScore = userScore.getProfessionalScore();
|
||||
//========================end
|
||||
List<ArtTestCulturalDTO> artTestCulturalDtoList = new ArrayList<>();
|
||||
//查询条件构建对象
|
||||
LambdaQueryWrapper<YxSchoolMajor> yxSchoolMajorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
LambdaQueryWrapper<YxHistoryMajorEnroll> yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
LambdaQueryWrapper<YxHistoryScoreControlLine> yxHistoryScoreControlLineLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
if (userScore != null) {
|
||||
//根据当前用户的专业类别查询
|
||||
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getMajorType, userScore.getProfessionalCategory());
|
||||
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getCategory,cognitioPolyclinic);
|
||||
yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory, userScore.getProfessionalCategory());
|
||||
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getCategory,cognitioPolyclinic);
|
||||
}
|
||||
String a_ = "_";
|
||||
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getSchoolCode, schoolCode);
|
||||
List<YxSchoolMajor> yxSchoolMajorList = yxSchoolMajorService.list(yxSchoolMajorLambdaQueryWrapper);
|
||||
if (CollectionUtils.isEmpty(yxSchoolMajorList)) {
|
||||
return Result.OK(artTestCulturalDtoList);
|
||||
}
|
||||
yxSchoolMajorList = yxSchoolMajorList.stream().collect(Collectors.collectingAndThen(
|
||||
Collectors.toCollection(() -> new TreeSet<>(
|
||||
Comparator.comparing(p ->p.getCategory()+ p.getRulesEnrollProbability()))), ArrayList::new));
|
||||
|
||||
Set<String> majorNameSet = yxSchoolMajorList.stream().map(YxSchoolMajor::getMajorName).collect(Collectors.toSet());
|
||||
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.isNotNull(YxHistoryMajorEnroll::getRulesEnrollProbability);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.isNotNull(YxHistoryMajorEnroll::getAdmissionLine);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.orderByDesc(YxHistoryMajorEnroll::getYear);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getCategory,cognitioPolyclinic);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getSchoolCode, schoolCode);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.in(YxHistoryMajorEnroll::getMajorName, majorNameSet);
|
||||
//获取 历年分数信息
|
||||
List<YxHistoryMajorEnroll> yxHistoryMajorEnrollList = yxHistoryMajorEnrollService.list(yxHistoryMajorEnrollLambdaQueryWrapper);
|
||||
Map<String, YxHistoryMajorEnroll> historyMajorEnrollMap = new LinkedHashMap<>();
|
||||
for (YxHistoryMajorEnroll h : yxHistoryMajorEnrollList) {
|
||||
historyMajorEnrollMap.put(h.getYear() + a_ + h.getCategory() + a_ + h.getMajorName() + a_ + h.getBatch(), h);
|
||||
}
|
||||
//获取 省控线
|
||||
List<YxHistoryScoreControlLine> historyScoreControlLineList = yxHistoryScoreControlLineService.list(yxHistoryScoreControlLineLambdaQueryWrapper);
|
||||
Map<String, YxHistoryScoreControlLine> yxHistoryScoreControlLineMap = new LinkedHashMap<>();//key:文科_美术学_提前批
|
||||
String key = null;
|
||||
YxHistoryScoreControlLine yxHistoryScoreControlLine = null;
|
||||
if (CollectionUtils.isNotEmpty(historyScoreControlLineList)) {
|
||||
yxHistoryScoreControlLineMap = historyScoreControlLineList.stream().collect(Collectors.toMap(h -> h.getYear() + a_ + h.getCategory() + a_ + h.getProfessionalCategory() + a_ + h.getBatch(), h -> h));
|
||||
}
|
||||
|
||||
ArtTestCulturalDTO artTestCulturalDto = null;
|
||||
for (YxSchoolMajor yxSchoolMajor : yxSchoolMajorList) {
|
||||
artTestCulturalDto = new ArtTestCulturalDTO();
|
||||
// 获取上一年的录取信息
|
||||
key = yxSchoolMajor.getCategory() + a_ + yxSchoolMajor.getMajorName() + a_ + yxSchoolMajor.getBatch();
|
||||
YxHistoryMajorEnroll yxHistoryMajorEnroll = historyMajorEnrollMap.get(year + a_ + key);
|
||||
if (yxHistoryMajorEnroll == null) {
|
||||
yxHistoryMajorEnroll = historyMajorEnrollMap.get(Integer.parseInt(year) - 1 + a_ + key);
|
||||
if (yxHistoryMajorEnroll == null) {
|
||||
yxHistoryMajorEnroll = historyMajorEnrollMap.get(Integer.parseInt(year) - 2 + a_ + key);
|
||||
}
|
||||
}
|
||||
artTestCulturalDto.setYear(year);
|
||||
artTestCulturalDto.setMajorName(yxSchoolMajor.getMajorName());
|
||||
artTestCulturalDto.setCategory(yxSchoolMajor.getCategory());
|
||||
artTestCulturalDto.setBatch(yxSchoolMajor.getBatch());
|
||||
artTestCulturalDto.setDetail(yxSchoolMajor.getDetail());
|
||||
artTestCulturalDto.setProbabilityOperator(yxSchoolMajor.getProbabilityOperator());
|
||||
artTestCulturalDto.setRulesEnrollProbability(yxSchoolMajor.getRulesEnrollProbability());
|
||||
|
||||
artTestCulturalDto.setMajorNameAll(yxSchoolMajor.getMajorName() + "[" + yxSchoolMajor.getCategory() + "]" + "(" + yxSchoolMajor.getBatch() + ")");
|
||||
|
||||
|
||||
if (yxHistoryMajorEnroll == null) {
|
||||
//没有历年信息,跳过
|
||||
continue;
|
||||
}
|
||||
artTestCulturalDto.setScore(yxHistoryMajorEnroll.getAdmissionLine());
|
||||
//获取上一年的 省控分信息
|
||||
key = yxSchoolMajor.getCategory() + a_ + yxSchoolMajor.getMajorType() + a_ + (yxSchoolMajor.getBatch().equals("提前批") ? "本科A段" : yxSchoolMajor.getBatch());
|
||||
yxHistoryScoreControlLine = yxHistoryScoreControlLineMap.get(yxHistoryMajorEnroll.getYear() + a_ + key);
|
||||
if (yxHistoryScoreControlLine != null) {
|
||||
//文化分控线
|
||||
artTestCulturalDto.setCulturalScore(yxHistoryScoreControlLine.getCulturalScore());
|
||||
//专业分控线
|
||||
artTestCulturalDto.setSpecialScore(yxHistoryScoreControlLine.getSpecialScore());
|
||||
}
|
||||
//计算需要超过多少分可以录取
|
||||
BigDecimal schoolOldYearAdmissionLine = artTestCulturalDto.getScore();
|
||||
//录取方式
|
||||
String probabilityOperator = artTestCulturalDto.getProbabilityOperator();
|
||||
if (YxConstant.betaMajorTypeList.contains(professionalCategory) && StringUtils.isNotBlank(probabilityOperator) && probabilityOperator.contains("文")&& probabilityOperator.contains("专")) {
|
||||
String[] split = probabilityOperator.split("\\+");
|
||||
BigDecimal culturalProbabilityOperator = null;
|
||||
BigDecimal professionalProbabilityOperator = null;
|
||||
//先取出文化分和专业分的计算方式
|
||||
for (String s : split) {
|
||||
if (s.contains("专")) {
|
||||
professionalProbabilityOperator = new BigDecimal( s.split("\\*")[1]);
|
||||
}else{
|
||||
culturalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
}
|
||||
}
|
||||
//如果计算方式为空就不算了
|
||||
if (culturalProbabilityOperator!=null && professionalProbabilityOperator !=null && culturalProbabilityOperator.compareTo(YxConstant.bigDecimal0)>0 && professionalProbabilityOperator.compareTo(YxConstant.bigDecimal0)>0) {
|
||||
//当前输入分数乘以专业折合分
|
||||
BigDecimal professionalConverted = professionalScore.multiply(professionalProbabilityOperator);
|
||||
//余数,院校分数-专业折合分
|
||||
BigDecimal remainder = artTestCulturalDto.getScore().subtract(professionalConverted);
|
||||
//余数/文化课计算方式
|
||||
BigDecimal divide = remainder.divide(culturalProbabilityOperator, 0, RoundingMode.HALF_UP);
|
||||
//需要超越多少分
|
||||
artTestCulturalDto.setNeedScore(divide);
|
||||
}
|
||||
|
||||
}
|
||||
artTestCulturalDtoList.add(artTestCulturalDto);
|
||||
}
|
||||
return Result.OK(artTestCulturalDtoList);
|
||||
return Result.OK(testCulturalService.testCultural(schoolCode,year));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,14 +19,23 @@ public class ArtTestCulturalDTO implements Serializable {
|
|||
private String year;
|
||||
@ApiModelProperty("专业名称")
|
||||
private String majorName;
|
||||
@ApiModelProperty("专业类别")
|
||||
private String majorType;
|
||||
@ApiModelProperty("专业类别子级")
|
||||
private String majorTypeChild;
|
||||
@ApiModelProperty("主考科目")
|
||||
private String mainSubjects;
|
||||
@ApiModelProperty("专业名称+文理+批次")
|
||||
private String majorNameAll;
|
||||
@ApiModelProperty("文理分科")
|
||||
private String category;
|
||||
@ApiModelProperty("批次")
|
||||
private String batch;
|
||||
@ApiModelProperty("院校限制")
|
||||
@ApiModelProperty("院校备注")
|
||||
private String detail;
|
||||
@ApiModelProperty("院校限制")
|
||||
private String limitation;
|
||||
private String checkMaster;
|
||||
@ApiModelProperty(value = "类型")
|
||||
private String rulesEnrollProbability;
|
||||
@ApiModelProperty(value = "分数运算符")
|
||||
|
|
|
|||
|
|
@ -58,6 +58,8 @@ public class RecommendMajorDTO implements Serializable {
|
|||
@JsonIgnore
|
||||
@ApiModelProperty(value = "是否使用主项成绩")
|
||||
private String checkMaster;
|
||||
@ApiModelProperty(value = "院校限制")
|
||||
private String limitation;
|
||||
@ApiModelProperty(value = "招生备注")
|
||||
private String majorDetail;
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,46 @@ public class MiniArticleController {
|
|||
@ApiOperation(value = "文章列表")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<?> articlePage(QueryArticleVO queryArticleVO) {
|
||||
if (false) {
|
||||
String strs = "专业主科、器乐类只招、只招、不招、要求、语文成绩、英语成绩、高考文化课成绩、外语单科成绩、建议、只录取、无色盲、色弱者、体育、色弱、色盲、体检、体育专项统一测试成绩、身体无残疾、不予录取、男生身高、女生身高";
|
||||
String[] tiquList = strs.split("、");
|
||||
LambdaQueryWrapper<YxSchoolMajor> yxSchoolMajorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
yxSchoolMajorLambdaQueryWrapper.isNull(YxSchoolMajor::getLimitation);
|
||||
// yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getId,"1763788787643392003");
|
||||
//yxSchoolMajorLambdaQueryWrapper.last("limit 1,100");
|
||||
List<YxSchoolMajor> list = yxSchoolMajorService.list(yxSchoolMajorLambdaQueryWrapper);
|
||||
String detail = null;
|
||||
String limitation = null;
|
||||
int i = 0;
|
||||
int i1 = 0;
|
||||
for (YxSchoolMajor yxSchoolMajor : list) {
|
||||
detail = yxSchoolMajor.getDetail();
|
||||
detail = detail.replace(";", ",").replace(",", ",").replace("。",",");
|
||||
//过滤
|
||||
detail = detail.replace(" ","").replace("录取要求详见学校招生章程及艺术类招生简章", "").replace("要求可获得本校本科文凭的同时,还可获法国 RNCP6级证书(等同于法国普通大学学士学位)(不以出国为前提)。", "");
|
||||
limitation = null;
|
||||
for (String s : tiquList) {
|
||||
if (detail.contains(s)) {
|
||||
i = detail.indexOf(s);
|
||||
limitation = detail.substring(i, detail.length() - 1);
|
||||
System.out.println(limitation);
|
||||
break;
|
||||
}
|
||||
}
|
||||
//去除最后一位,符号
|
||||
if (StringUtils.isNotBlank(limitation)) {
|
||||
i1 = limitation.lastIndexOf(",");
|
||||
if (limitation.length()-1 ==i1) {
|
||||
limitation = limitation.substring(0,i1);
|
||||
}
|
||||
yxSchoolMajor.setLimitation(limitation);
|
||||
}
|
||||
}
|
||||
yxSchoolMajorService.updateBatchById(list,100);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
//分页
|
||||
Integer pageNum = queryArticleVO.getPageNum();
|
||||
Integer pageSize = queryArticleVO.getPageSize();
|
||||
|
|
@ -85,15 +125,16 @@ public class MiniArticleController {
|
|||
//redis中存在
|
||||
json = (String) redisUtil.get(key);
|
||||
Gson gson = new Gson();
|
||||
pageList = gson.fromJson(json,new TypeToken<IPage<YxArticle>>(){}.getType());
|
||||
pageList = gson.fromJson(json, new TypeToken<IPage<YxArticle>>() {
|
||||
}.getType());
|
||||
} else {
|
||||
//redis不存在,从数据库获取
|
||||
LambdaQueryWrapper<YxArticle> yxArticleLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
yxArticleLambdaQueryWrapper.eq(YxArticle::getType, type);
|
||||
if (StringUtils.isNotBlank(title)) {
|
||||
yxArticleLambdaQueryWrapper.like(YxArticle::getTitle,title);
|
||||
yxArticleLambdaQueryWrapper.like(YxArticle::getTitle, title);
|
||||
}
|
||||
yxArticleLambdaQueryWrapper.eq(StringUtils.isNotBlank(schoolId),YxArticle::getSchoolId,schoolId);
|
||||
yxArticleLambdaQueryWrapper.eq(StringUtils.isNotBlank(schoolId), YxArticle::getSchoolId, schoolId);
|
||||
yxArticleLambdaQueryWrapper.orderByDesc(YxArticle::getCreateTime, YxArticle::getUpdateTime);
|
||||
pageList = yxArticleService.page(new Page<>(pageNum, pageSize), yxArticleLambdaQueryWrapper);
|
||||
//json = JSONArray.toJSONString(pageList);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,201 @@
|
|||
package org.jeecg.modules.mini.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.common.util.RedisUtil;
|
||||
import org.jeecg.modules.art.dto.ArtTestCulturalDTO;
|
||||
import org.jeecg.modules.yx.constant.YxConstant;
|
||||
import org.jeecg.modules.yx.entity.YxHistoryMajorEnroll;
|
||||
import org.jeecg.modules.yx.entity.YxHistoryScoreControlLine;
|
||||
import org.jeecg.modules.yx.entity.YxSchoolMajor;
|
||||
import org.jeecg.modules.yx.entity.YxUserScore;
|
||||
import org.jeecg.modules.yx.service.IYxHistoryMajorEnrollService;
|
||||
import org.jeecg.modules.yx.service.IYxHistoryScoreControlLineService;
|
||||
import org.jeecg.modules.yx.service.IYxSchoolMajorService;
|
||||
import org.jeecg.modules.yx.service.IYxUserScoreService;
|
||||
import org.jeecg.modules.yx.service.impl.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description 测文化service
|
||||
* @Author ZhouWenTao
|
||||
* @Date 2024/3/9 18:40
|
||||
*/
|
||||
@Service
|
||||
public class MiniTestCulturalService {
|
||||
@Resource
|
||||
private IYxUserScoreService yxUserScoreService;
|
||||
@Resource
|
||||
private IYxSchoolMajorService yxSchoolMajorService;
|
||||
@Resource
|
||||
private IYxHistoryMajorEnrollService yxHistoryMajorEnrollService;
|
||||
@Resource
|
||||
private IYxHistoryScoreControlLineService yxHistoryScoreControlLineService;
|
||||
@Resource
|
||||
private TiyuService tiyuService;
|
||||
@Resource
|
||||
private MusicService musicService;
|
||||
@Resource
|
||||
private WuDaoService wuDaoService;
|
||||
@Resource
|
||||
private BoYinService boYinService;
|
||||
@Resource
|
||||
private BiaoyanService biaoyanService;
|
||||
|
||||
public List<ArtTestCulturalDTO> testCultural(String schoolCode,String year){
|
||||
//========================学生的成绩 start
|
||||
YxUserScore userScore = yxUserScoreService.getActiveCurrentUserScore();
|
||||
String professionalCategory = userScore.getProfessionalCategory();
|
||||
String cognitioPolyclinic = userScore.getCognitioPolyclinic();
|
||||
BigDecimal culturalScore = userScore.getCulturalScore();
|
||||
BigDecimal professionalScore = userScore.getProfessionalScore();
|
||||
//========================end
|
||||
List<ArtTestCulturalDTO> artTestCulturalDtoList = new ArrayList<>();
|
||||
//查询条件构建对象
|
||||
LambdaQueryWrapper<YxSchoolMajor> yxSchoolMajorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
LambdaQueryWrapper<YxHistoryMajorEnroll> yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
LambdaQueryWrapper<YxHistoryScoreControlLine> yxHistoryScoreControlLineLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
//根据当前用户的专业类别查询
|
||||
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getMajorType, userScore.getProfessionalCategory());
|
||||
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getCategory,cognitioPolyclinic);
|
||||
yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory, userScore.getProfessionalCategory());
|
||||
yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getCategory,cognitioPolyclinic);
|
||||
String a_ = "_";
|
||||
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getSchoolCode, schoolCode);
|
||||
List<YxSchoolMajor> yxSchoolMajorList = yxSchoolMajorService.list(yxSchoolMajorLambdaQueryWrapper);
|
||||
if (CollectionUtils.isEmpty(yxSchoolMajorList)) {
|
||||
return artTestCulturalDtoList;
|
||||
}
|
||||
yxSchoolMajorList = yxSchoolMajorList.stream().collect(Collectors.collectingAndThen(
|
||||
Collectors.toCollection(() -> new TreeSet<>(
|
||||
Comparator.comparing(p ->p.getCategory()+p.getMajorName()+ p.getRulesEnrollProbability()))), ArrayList::new));
|
||||
|
||||
Set<String> majorNameSet = yxSchoolMajorList.stream().map(YxSchoolMajor::getMajorName).collect(Collectors.toSet());
|
||||
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.isNotNull(YxHistoryMajorEnroll::getRulesEnrollProbability);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.isNotNull(YxHistoryMajorEnroll::getAdmissionLine);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.orderByDesc(YxHistoryMajorEnroll::getYear);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getCategory,cognitioPolyclinic);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getSchoolCode, schoolCode);
|
||||
yxHistoryMajorEnrollLambdaQueryWrapper.in(YxHistoryMajorEnroll::getMajorName, majorNameSet);
|
||||
//获取 历年分数信息
|
||||
List<YxHistoryMajorEnroll> yxHistoryMajorEnrollList = yxHistoryMajorEnrollService.list(yxHistoryMajorEnrollLambdaQueryWrapper);
|
||||
Map<String, YxHistoryMajorEnroll> historyMajorEnrollMap = new LinkedHashMap<>();
|
||||
for (YxHistoryMajorEnroll h : yxHistoryMajorEnrollList) {
|
||||
historyMajorEnrollMap.put(h.getYear() + a_ + h.getCategory() + a_ + h.getMajorName() + a_ + h.getBatch(), h);
|
||||
}
|
||||
//获取 省控线
|
||||
List<YxHistoryScoreControlLine> historyScoreControlLineList = yxHistoryScoreControlLineService.list(yxHistoryScoreControlLineLambdaQueryWrapper);
|
||||
Map<String, YxHistoryScoreControlLine> yxHistoryScoreControlLineMap = new LinkedHashMap<>();//key:文科_美术学_提前批
|
||||
String key = null;
|
||||
YxHistoryScoreControlLine yxHistoryScoreControlLine = null;
|
||||
if (CollectionUtils.isNotEmpty(historyScoreControlLineList)) {
|
||||
yxHistoryScoreControlLineMap = historyScoreControlLineList.stream().collect(Collectors.toMap(h -> h.getYear() + a_ + h.getCategory() + a_ + h.getProfessionalCategory() + a_ + h.getBatch(), h -> h));
|
||||
}
|
||||
|
||||
ArtTestCulturalDTO artTestCulturalDto = null;
|
||||
for (YxSchoolMajor yxSchoolMajor : yxSchoolMajorList) {
|
||||
artTestCulturalDto = new ArtTestCulturalDTO();
|
||||
// 获取上一年的录取信息
|
||||
key = yxSchoolMajor.getCategory() + a_ + yxSchoolMajor.getMajorName() + a_ + yxSchoolMajor.getBatch();
|
||||
YxHistoryMajorEnroll yxHistoryMajorEnroll = historyMajorEnrollMap.get(year + a_ + key);
|
||||
if (yxHistoryMajorEnroll == null || yxHistoryMajorEnroll.getAdmissionLine()==null|| yxHistoryMajorEnroll.getAdmissionLine().compareTo(YxConstant.bigDecimal0)==0) {
|
||||
yxHistoryMajorEnroll = historyMajorEnrollMap.get(Integer.parseInt(year) - 1 + a_ + key);
|
||||
if (yxHistoryMajorEnroll == null || yxHistoryMajorEnroll.getAdmissionLine()==null|| yxHistoryMajorEnroll.getAdmissionLine().compareTo(YxConstant.bigDecimal0)==0) {
|
||||
yxHistoryMajorEnroll = historyMajorEnrollMap.get(Integer.parseInt(year) - 2 + a_ + key);
|
||||
if (yxHistoryMajorEnroll == null || yxHistoryMajorEnroll.getAdmissionLine()==null|| yxHistoryMajorEnroll.getAdmissionLine().compareTo(YxConstant.bigDecimal0)==0) {
|
||||
yxHistoryMajorEnroll = historyMajorEnrollMap.get(Integer.parseInt(year) - 3 + a_ + key);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (yxHistoryMajorEnroll == null) {
|
||||
continue;
|
||||
}
|
||||
artTestCulturalDto.setMajorType(yxSchoolMajor.getMajorType());
|
||||
artTestCulturalDto.setMajorTypeChild(yxSchoolMajor.getMajorTypeChild());
|
||||
artTestCulturalDto.setMainSubjects(yxSchoolMajor.getMainSubjects());
|
||||
artTestCulturalDto.setYear(yxHistoryMajorEnroll.getYear());
|
||||
artTestCulturalDto.setMajorName(yxSchoolMajor.getMajorName());
|
||||
artTestCulturalDto.setCategory(yxSchoolMajor.getCategory());
|
||||
artTestCulturalDto.setBatch(yxSchoolMajor.getBatch());
|
||||
artTestCulturalDto.setLimitation(yxSchoolMajor.getLimitation());
|
||||
artTestCulturalDto.setDetail(yxSchoolMajor.getDetail());
|
||||
artTestCulturalDto.setProbabilityOperator(yxSchoolMajor.getProbabilityOperator());
|
||||
artTestCulturalDto.setRulesEnrollProbability(yxSchoolMajor.getRulesEnrollProbability());
|
||||
artTestCulturalDto.setMajorNameAll(yxSchoolMajor.getMajorName() + "[" + yxSchoolMajor.getCategory() + "]" + "(" + yxSchoolMajor.getBatch() + ")");
|
||||
|
||||
|
||||
if (yxHistoryMajorEnroll == null) {
|
||||
//没有历年信息,跳过
|
||||
continue;
|
||||
}
|
||||
artTestCulturalDto.setScore(yxHistoryMajorEnroll.getAdmissionLine());
|
||||
//获取上一年的 省控分信息
|
||||
key = yxSchoolMajor.getCategory() + a_ + yxSchoolMajor.getMajorType() + a_ + (yxSchoolMajor.getBatch().equals("提前批") ? "本科A段" : yxSchoolMajor.getBatch());
|
||||
yxHistoryScoreControlLine = yxHistoryScoreControlLineMap.get(yxHistoryMajorEnroll.getYear() + a_ + key);
|
||||
if (yxHistoryScoreControlLine != null) {
|
||||
//文化分控线
|
||||
artTestCulturalDto.setCulturalScore(yxHistoryScoreControlLine.getCulturalScore());
|
||||
//专业分控线
|
||||
artTestCulturalDto.setSpecialScore(yxHistoryScoreControlLine.getSpecialScore());
|
||||
}
|
||||
|
||||
//美术与设计类,书法类,体育类
|
||||
artTestCulturalDtoList.add(artTestCulturalDto);
|
||||
}
|
||||
//录取方式运算符
|
||||
String probabilityOperator = null;
|
||||
if (CollectionUtils.isNotEmpty(artTestCulturalDtoList)) {
|
||||
//转换测算文化分
|
||||
if ("体育类".equals(professionalCategory)) {
|
||||
tiyuService.testCultural(artTestCulturalDtoList,userScore);
|
||||
}else if("音乐类".equals(professionalCategory)){
|
||||
musicService.testCultural(artTestCulturalDtoList,userScore);
|
||||
}else if("舞蹈类".equals(professionalCategory)){
|
||||
wuDaoService.testCultural(artTestCulturalDtoList,userScore);
|
||||
}else if("播音与主持类".equals(professionalCategory)){
|
||||
boYinService.testCultural(artTestCulturalDtoList,userScore);
|
||||
}else if("表演类".equals(professionalCategory)){
|
||||
biaoyanService.testCultural(artTestCulturalDtoList,userScore);
|
||||
}else if(YxConstant.betaMajorTypeList.contains(probabilityOperator)){
|
||||
for (ArtTestCulturalDTO artTestCulturalDTO : artTestCulturalDtoList) {
|
||||
probabilityOperator = artTestCulturalDTO.getProbabilityOperator();
|
||||
if (YxConstant.betaMajorTypeList.contains(professionalCategory) && StringUtils.isNotBlank(artTestCulturalDto.getRulesEnrollProbability())) {
|
||||
String[] split = probabilityOperator.split("\\+");
|
||||
BigDecimal culturalProbabilityOperator = null;
|
||||
BigDecimal professionalProbabilityOperator = null;
|
||||
//先取出文化分和专业分的计算方式
|
||||
for (String s : split) {
|
||||
if (s.contains("专")) {
|
||||
professionalProbabilityOperator = new BigDecimal( s.split("\\*")[1]);
|
||||
}else{
|
||||
culturalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
}
|
||||
}
|
||||
//如果计算方式为空就不算了
|
||||
if (culturalProbabilityOperator!=null && professionalProbabilityOperator !=null && culturalProbabilityOperator.compareTo(YxConstant.bigDecimal0)>0 && professionalProbabilityOperator.compareTo(YxConstant.bigDecimal0)>0) {
|
||||
//当前输入分数乘以专业折合分
|
||||
BigDecimal professionalConverted = professionalScore.multiply(professionalProbabilityOperator);
|
||||
//余数,院校分数-专业折合分
|
||||
BigDecimal remainder = artTestCulturalDto.getScore().subtract(professionalConverted);
|
||||
//余数/文化课计算方式
|
||||
BigDecimal divide = remainder.divide(culturalProbabilityOperator, 0, RoundingMode.HALF_UP);
|
||||
//需要超越多少分
|
||||
artTestCulturalDto.setNeedScore(divide);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return artTestCulturalDtoList;
|
||||
}
|
||||
}
|
||||
|
|
@ -68,7 +68,7 @@ public class YxScoreSegmentController extends JeecgController<YxScoreSegment, IY
|
|||
String professionalCategory = yxScoreSegment.getProfessionalCategory();
|
||||
|
||||
if (YxConstant.cankaoMajorTypeList.contains(professionalCategory)) {
|
||||
yearList = Arrays.asList("2024");
|
||||
yearList = Arrays.asList(YxConstant.nowYear);
|
||||
}
|
||||
List<HistoryScoreSegmentDTO> historyScoreSegmentDTOList = new ArrayList<>();
|
||||
HistoryScoreSegmentDTO historyScoreSegmentDto = null;
|
||||
|
|
@ -340,7 +340,7 @@ public class YxScoreSegmentController extends JeecgController<YxScoreSegment, IY
|
|||
String professionalCategory = "音乐类";
|
||||
String professionalCategoryChild = "音乐表演声乐";
|
||||
String province = "河南";
|
||||
YxScoreSegment scoreSegment = yxScoreSegmentService.checkOldYearScore("2024", score, professionalCategory, professionalCategoryChild, province);
|
||||
YxScoreSegment scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, score, professionalCategory, professionalCategoryChild, province);
|
||||
System.out.println("约等于上一年的分数:");
|
||||
System.out.println("分数:"+scoreSegment.getScore());
|
||||
System.out.println("年份:"+scoreSegment.getYear());
|
||||
|
|
|
|||
|
|
@ -123,4 +123,10 @@ public class YxSchoolMajor implements Serializable {
|
|||
*/
|
||||
@ApiModelProperty(value = "计划招生人数")
|
||||
private Integer planNum;
|
||||
|
||||
/**
|
||||
* 院校限制
|
||||
*/
|
||||
@ApiModelProperty(value = "院校限制")
|
||||
private String limitation;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
m.semester as studyYear,
|
||||
m.first_level_discipline as firstLevelDiscipline,
|
||||
|
||||
sm.limitation,
|
||||
sm.major_name,
|
||||
sm.major_type,
|
||||
sm.major_type_child,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.modules.art.dto.ArtTestCulturalDTO;
|
||||
import org.jeecg.modules.art.dto.RecommendMajorDTO;
|
||||
import org.jeecg.modules.yx.constant.YxConstant;
|
||||
import org.jeecg.modules.yx.entity.YxHistoryMajorEnroll;
|
||||
|
|
@ -208,4 +209,107 @@ public class BiaoyanService {
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 文化分测算
|
||||
*
|
||||
* @param artTestCulturalDtoList
|
||||
*/
|
||||
public void testCultural(List<ArtTestCulturalDTO> artTestCulturalDtoList, YxUserScore userScore) {
|
||||
try {
|
||||
if (CollectionUtils.isNotEmpty(artTestCulturalDtoList) && userScore != null) {
|
||||
String rulesEnrollProbability = null;
|
||||
String probabilityOperator = null;
|
||||
String[] probabilityOperators = null;
|
||||
String[] zhuanOperators = null;
|
||||
BigDecimal culturalProbabilityOperator = null;
|
||||
BigDecimal professionalProbabilityOperator = null;
|
||||
String professionalCategory = userScore.getProfessionalCategory();
|
||||
BigDecimal professionalScore = userScore.getProfessionalScore();
|
||||
BigDecimal culturalScore = userScore.getCulturalScore();
|
||||
//
|
||||
BigDecimal professionalScore3 = null;
|
||||
BigDecimal a1 = null;
|
||||
BigDecimal a2 = null;
|
||||
BigDecimal divide = null;
|
||||
String mainSubjects = null;
|
||||
//=====================分数转换 start
|
||||
BigDecimal fzby= userScore.getFzby();//服装表演-分数
|
||||
BigDecimal xjysdy = userScore.getXjysdy();//戏剧影视导演-分数
|
||||
BigDecimal xjysby = userScore.getXjysby();//戏剧影视表演-分数
|
||||
|
||||
//=====================分数转换 start
|
||||
if ("2024".equals(YxConstant.nowYear)) {
|
||||
YxScoreSegment scoreSegment = null;
|
||||
if (fzby != null && fzby.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, fzby, professionalCategory, "服装表演", userScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
fzby = scoreSegment.getScore();
|
||||
}
|
||||
}
|
||||
if (xjysdy != null && xjysdy.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, xjysdy, professionalCategory, "戏剧影视导演", userScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
xjysdy = scoreSegment.getScore();
|
||||
}
|
||||
}
|
||||
if (xjysby != null && xjysby.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, xjysby, professionalCategory, "戏剧影视表演", userScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
xjysby = scoreSegment.getScore();
|
||||
}
|
||||
}
|
||||
}
|
||||
assert xjysby != null;
|
||||
BigDecimal byMaxScore = xjysby.max(xjysdy).max(fzby);
|
||||
//表演 通用分数 未转化
|
||||
BigDecimal byMaxScoreOld = userScore.getXjysby().max(userScore.getXjysdy()).max(userScore.getFzby());
|
||||
for (ArtTestCulturalDTO artTestCulturalDTO : artTestCulturalDtoList) {
|
||||
rulesEnrollProbability = artTestCulturalDTO.getRulesEnrollProbability();
|
||||
probabilityOperator = artTestCulturalDTO.getProbabilityOperator();
|
||||
probabilityOperators = probabilityOperator.split("\\+");
|
||||
for (String s : probabilityOperators) {
|
||||
if (s.contains("专")) {
|
||||
professionalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
} else {
|
||||
culturalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
}
|
||||
}
|
||||
//将当期成绩按照专业录取分数方式折算
|
||||
mainSubjects = artTestCulturalDTO.getMainSubjects();
|
||||
if ("高职高专".equals(artTestCulturalDTO.getBatch()) || "兼报".equals(mainSubjects)) {
|
||||
professionalScore3 = byMaxScore;
|
||||
} else if ("戏剧影视表演".equals(mainSubjects)) {
|
||||
professionalScore3 = fzby;
|
||||
} else if ("戏剧影视导演".equals(mainSubjects)) {
|
||||
professionalScore3 = xjysdy;
|
||||
} else if ("服装表演".equals(mainSubjects)) {
|
||||
professionalScore3 = xjysby;
|
||||
} else {
|
||||
log.error("当前专业有问题,不清楚主考科目:" + JSONObject.toJSONString(artTestCulturalDTO));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (("文过专排".equals(rulesEnrollProbability) || !probabilityOperator.contains("文")) && professionalProbabilityOperator != null && professionalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().subtract(professionalScore3));
|
||||
} else if (("专过文排".equals(rulesEnrollProbability) || !probabilityOperator.contains("专")) && culturalProbabilityOperator != null && culturalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
//测文化 体育类的 专过文排 ,分数转(最低录取线/文化分录取方式(0.133))
|
||||
continue;
|
||||
} else {
|
||||
//2.再用最低录取分数减去转换后的分数
|
||||
a1 = artTestCulturalDTO.getScore().subtract(professionalScore3);
|
||||
//当前输入分数乘以专业折合分
|
||||
a2 = a1.multiply(professionalProbabilityOperator);
|
||||
//3.再用这个数值除以文化分的公式
|
||||
//余数/文化课计算方式
|
||||
divide = a2.divide(culturalProbabilityOperator, 0, RoundingMode.HALF_UP);
|
||||
//需要超越多少分
|
||||
artTestCulturalDTO.setNeedScore(divide);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.modules.art.dto.ArtTestCulturalDTO;
|
||||
import org.jeecg.modules.art.dto.RecommendMajorDTO;
|
||||
import org.jeecg.modules.yx.constant.YxConstant;
|
||||
import org.jeecg.modules.yx.entity.YxHistoryMajorEnroll;
|
||||
|
|
@ -46,7 +47,6 @@ public class BoYinService {
|
|||
String rulesEnrollProbability = null;
|
||||
String probabilityOperator = null;
|
||||
//String majorType = null;//专业类别
|
||||
//String majorTypeChild = null;
|
||||
String mainSubjects = null;
|
||||
String nowBatch = activeCurrentUserScore.getBatch();
|
||||
BigDecimal studentScore = null;//学生折合分
|
||||
|
|
@ -161,4 +161,65 @@ public class BoYinService {
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 文化分测算
|
||||
* @param artTestCulturalDtoList
|
||||
*/
|
||||
public void testCultural(List<ArtTestCulturalDTO> artTestCulturalDtoList, YxUserScore userScore){
|
||||
if (CollectionUtils.isNotEmpty(artTestCulturalDtoList) &&userScore!=null) {
|
||||
String rulesEnrollProbability = null;
|
||||
String probabilityOperator = null;
|
||||
String[] probabilityOperators = null;
|
||||
String[] zhuanOperators = null;
|
||||
BigDecimal culturalProbabilityOperator = null;
|
||||
BigDecimal professionalProbabilityOperator = null;
|
||||
BigDecimal professionalScore = userScore.getProfessionalScore();
|
||||
BigDecimal culturalScore = userScore.getCulturalScore();
|
||||
BigDecimal by = new BigDecimal(0);//1.先把当前专业分转换成去年分数
|
||||
//=====================分数转换 start
|
||||
if ("2024".equals(YxConstant.nowYear)) {
|
||||
YxScoreSegment scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, professionalScore, "播音与主持类", null, userScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
by = scoreSegment.getScore();
|
||||
}
|
||||
}
|
||||
|
||||
BigDecimal a1=null;
|
||||
BigDecimal a2=null;
|
||||
BigDecimal divide=null;
|
||||
for (ArtTestCulturalDTO artTestCulturalDTO : artTestCulturalDtoList) {
|
||||
rulesEnrollProbability = artTestCulturalDTO.getRulesEnrollProbability();
|
||||
probabilityOperator = artTestCulturalDTO.getProbabilityOperator();
|
||||
probabilityOperators = probabilityOperator.split("\\+");
|
||||
for (String s : probabilityOperators) {
|
||||
if (s.contains("专")) {
|
||||
professionalProbabilityOperator = new BigDecimal( s.split("\\*")[1]);
|
||||
}else{
|
||||
culturalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
}
|
||||
}
|
||||
|
||||
if (("文过专排".equals(rulesEnrollProbability) || !probabilityOperator.contains("文") ||probabilityOperator.contains("专*")) && professionalProbabilityOperator!=null && professionalProbabilityOperator.compareTo(YxConstant.bigDecimal0)>0) {
|
||||
//播音,表演,音乐,舞蹈,先把当前专业分转换成去年分数,再用最低录取分数减去转换后的分数 (文过专排)
|
||||
artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().subtract(by));
|
||||
}else if (("专过文排".equals(rulesEnrollProbability)||!probabilityOperator.contains("专") || probabilityOperator.contains("文*")) && culturalProbabilityOperator!=null && culturalProbabilityOperator.compareTo(YxConstant.bigDecimal0)>0) {
|
||||
continue;
|
||||
//测文化 体育类的 专过文排 ,分数转(最低录取线/文化分录取方式(0.133))
|
||||
//artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().divide(culturalProbabilityOperator,0,RoundingMode.HALF_UP));
|
||||
}else{
|
||||
//2.再用最低录取分数减去转换后的分数
|
||||
a1 = artTestCulturalDTO.getScore().subtract(by);
|
||||
//当前输入分数乘以专业折合分
|
||||
a2 = a1.multiply(professionalProbabilityOperator);
|
||||
//3.再用这个数值除以文化分的公式
|
||||
//余数/文化课计算方式
|
||||
divide = a2.divide(culturalProbabilityOperator, 0, RoundingMode.HALF_UP);
|
||||
//需要超越多少分
|
||||
artTestCulturalDTO.setNeedScore(divide);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package org.jeecg.modules.yx.service.impl;
|
|||
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.modules.art.dto.ArtTestCulturalDTO;
|
||||
import org.jeecg.modules.art.dto.RecommendMajorDTO;
|
||||
import org.jeecg.modules.yx.constant.YxConstant;
|
||||
import org.jeecg.modules.yx.entity.YxHistoryMajorEnroll;
|
||||
|
|
@ -14,6 +15,7 @@ import org.jeecg.modules.yx.util.ScoreUtil;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.List;
|
||||
|
|
@ -26,10 +28,10 @@ import java.util.stream.Collectors;
|
|||
* @Date 2024/3/4 11:13
|
||||
*/
|
||||
@Service
|
||||
public class MusicService{
|
||||
@Autowired
|
||||
public class MusicService {
|
||||
@Resource
|
||||
private IYxHistoryScoreControlLineService yxHistoryScoreControlLineService;
|
||||
@Autowired
|
||||
@Resource
|
||||
private IYxScoreSegmentService yxScoreSegmentService;
|
||||
|
||||
/**
|
||||
|
|
@ -115,11 +117,11 @@ public class MusicService{
|
|||
continue;
|
||||
}
|
||||
//没有往年录取分数线信息
|
||||
if (CollectionUtils.isEmpty(historyMajorEnrollList)||!ScoreUtil.hasComputeEnrollProbabilityPermissions(nowBatch,recommendMajorDTO.getBatch())) {
|
||||
if (CollectionUtils.isEmpty(historyMajorEnrollList) || !ScoreUtil.hasComputeEnrollProbabilityPermissions(nowBatch, recommendMajorDTO.getBatch())) {
|
||||
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
|
||||
continue;
|
||||
}
|
||||
historyMajorEnrollList = historyMajorEnrollList.stream().filter(h->YxConstant.cankaoYearList.contains(h.getYear())).collect(Collectors.toList());
|
||||
historyMajorEnrollList = historyMajorEnrollList.stream().filter(h -> YxConstant.cankaoYearList.contains(h.getYear())).collect(Collectors.toList());
|
||||
|
||||
//不是体育类的专业,如果是文过专排,并且没有录取计算运算符时,文过专排是文*0+专*1,专过文排是文*1+专*0
|
||||
if ("文过专排".equals(rulesEnrollProbability) && StringUtils.isBlank(probabilityOperator)) {
|
||||
|
|
@ -140,10 +142,10 @@ public class MusicService{
|
|||
if ("文过专排主科".equals(recommendMajorDTO.getRulesEnrollProbability())) {
|
||||
professionalScore2 = activeCurrentUserScore.getProfessionalScore();
|
||||
professionalScore3 = activeCurrentUserScore.getProfessionalScore().multiply(YxConstant.bigDecimal05);
|
||||
}else if ("1".equals(recommendMajorDTO.getCheckMaster())) {
|
||||
} else if ("1".equals(recommendMajorDTO.getCheckMaster())) {
|
||||
professionalScore2 = activeCurrentUserScore.getProfessionalScore();
|
||||
professionalScore3 = zxcj;
|
||||
}else{
|
||||
} else {
|
||||
if ("音乐表演".equals(majorTypeChild)) {
|
||||
if (mainSubjects.contains("器乐")) {
|
||||
professionalScore2 = activeCurrentUserScore.getYybyqy();
|
||||
|
|
@ -160,7 +162,7 @@ public class MusicService{
|
|||
}
|
||||
}
|
||||
//分数是否过省控线
|
||||
if(!ScoreUtil.crossingControlLine(rulesEnrollProbability,culturalScore,professionalScore,culturalControlLine,specialControlLine)){
|
||||
if (!ScoreUtil.crossingControlLine(rulesEnrollProbability, culturalScore, professionalScore, culturalControlLine, specialControlLine)) {
|
||||
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
|
||||
continue;
|
||||
}
|
||||
|
|
@ -187,8 +189,8 @@ public class MusicService{
|
|||
recommendMajorDTO.setEnrollProbability(enrollProbability);
|
||||
recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability));
|
||||
recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator));
|
||||
}else{
|
||||
nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability,culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
|
||||
} else {
|
||||
nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
|
||||
if (nowYearProvincialControlLine == null) {
|
||||
continue;
|
||||
}
|
||||
|
|
@ -220,4 +222,119 @@ public class MusicService{
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 文化分测算
|
||||
*
|
||||
* @param artTestCulturalDtoList
|
||||
*/
|
||||
public void testCultural(List<ArtTestCulturalDTO> artTestCulturalDtoList, YxUserScore activeCurrentUserScore) {
|
||||
if (CollectionUtils.isNotEmpty(artTestCulturalDtoList) && activeCurrentUserScore != null) {
|
||||
String rulesEnrollProbability = null;
|
||||
String probabilityOperator = null;
|
||||
String[] probabilityOperators = null;
|
||||
String[] zhuanOperators = null;
|
||||
String professionalCategory = activeCurrentUserScore.getProfessionalCategory();
|
||||
BigDecimal culturalProbabilityOperator = null;
|
||||
BigDecimal professionalProbabilityOperator = null;
|
||||
BigDecimal professionalScore = activeCurrentUserScore.getProfessionalScore();
|
||||
BigDecimal culturalScore = activeCurrentUserScore.getCulturalScore();
|
||||
BigDecimal zxcj = YxConstant.bigDecimal0;
|
||||
BigDecimal yybysy = activeCurrentUserScore.getYybysy();//音乐表演声乐-分数
|
||||
BigDecimal yybyqy = activeCurrentUserScore.getYybyqy();//音乐表演声乐-分数
|
||||
BigDecimal yyjy = activeCurrentUserScore.getYyjy();//音乐表演声乐-分数
|
||||
//=====================分数转换 start
|
||||
if ("2024".equals(YxConstant.nowYear)) {
|
||||
YxScoreSegment scoreSegment = null;
|
||||
if (yybysy != null && yybysy.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, yybysy, professionalCategory, "音乐表演声乐", activeCurrentUserScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
yybysy = scoreSegment.getScore();
|
||||
}
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, zxcj, professionalCategory, "音乐表演声乐", activeCurrentUserScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
zxcj = scoreSegment.getScore();
|
||||
}
|
||||
}
|
||||
if (yybyqy != null && yybyqy.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, yybyqy, professionalCategory, "音乐表演器乐", activeCurrentUserScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
yybyqy = scoreSegment.getScore();
|
||||
}
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, zxcj, professionalCategory, "音乐表演器乐", activeCurrentUserScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
zxcj = scoreSegment.getScore();
|
||||
}
|
||||
}
|
||||
if (yyjy != null && yyjy.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, yyjy, professionalCategory, "音乐教育", activeCurrentUserScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
yyjy = scoreSegment.getScore();
|
||||
}
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, zxcj, professionalCategory, "音乐教育", activeCurrentUserScore.getProvince());
|
||||
if (scoreSegment != null) {
|
||||
zxcj = scoreSegment.getScore();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
String majorType = null;
|
||||
BigDecimal professionalScore3 = null;
|
||||
String majorTypeChild = null;
|
||||
String mainSubjects = null;
|
||||
BigDecimal a1 = null;
|
||||
BigDecimal a2 = null;
|
||||
BigDecimal divide = null;
|
||||
for (ArtTestCulturalDTO artTestCulturalDTO : artTestCulturalDtoList) {
|
||||
rulesEnrollProbability = artTestCulturalDTO.getRulesEnrollProbability();
|
||||
probabilityOperator = artTestCulturalDTO.getProbabilityOperator();
|
||||
probabilityOperators = probabilityOperator.split("\\+");
|
||||
for (String s : probabilityOperators) {
|
||||
if (s.contains("专")) {
|
||||
professionalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
} else {
|
||||
culturalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
}
|
||||
}
|
||||
|
||||
//将当期成绩按照专业录取分数方式折算
|
||||
majorTypeChild = artTestCulturalDTO.getMajorTypeChild();
|
||||
mainSubjects = artTestCulturalDTO.getMainSubjects();
|
||||
if (!"高职高专".equals(activeCurrentUserScore.getBatch())) {
|
||||
if ("音乐表演".equals(majorTypeChild)) {
|
||||
if (mainSubjects.contains("器乐") && activeCurrentUserScore.getProfessionalCategoryChildren().contains("器乐")) {
|
||||
professionalScore3 = yybyqy;
|
||||
} else {
|
||||
professionalScore3 = yybysy;
|
||||
}
|
||||
} else {
|
||||
//音乐教育
|
||||
professionalScore3 = yyjy;
|
||||
}
|
||||
}
|
||||
if(("文过专排主科".equals(artTestCulturalDTO.getRulesEnrollProbability())||"1".equals(artTestCulturalDTO.getCheckMaster()))){
|
||||
artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().subtract(zxcj));
|
||||
}else if (("文过专排".equals(rulesEnrollProbability) || !probabilityOperator.contains("文") || probabilityOperator.contains("专*")) && professionalProbabilityOperator != null && professionalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
//播音,表演,音乐,舞蹈,先把当前专业分转换成去年分数,再用最低录取分数减去转换后的分数 (文过专排)
|
||||
artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().subtract(professionalScore3));
|
||||
} else if (("专过文排".equals(rulesEnrollProbability) || !probabilityOperator.contains("专") || probabilityOperator.contains("文*")) && culturalProbabilityOperator != null && culturalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
continue;
|
||||
//测文化 体育类的 专过文排 ,分数转(最低录取线/文化分录取方式(0.133))
|
||||
//artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().divide(culturalProbabilityOperator,0,RoundingMode.HALF_UP));
|
||||
} else {
|
||||
//2.再用最低录取分数减去转换后的分数
|
||||
a1 = artTestCulturalDTO.getScore().subtract(professionalScore3);
|
||||
//当前输入分数乘以专业折合分
|
||||
a2 = a1.multiply(professionalProbabilityOperator);
|
||||
//3.再用这个数值除以文化分的公式
|
||||
//余数/文化课计算方式
|
||||
divide = a2.divide(culturalProbabilityOperator, 0, RoundingMode.HALF_UP);
|
||||
//需要超越多少分
|
||||
artTestCulturalDTO.setNeedScore(divide);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,66 @@
|
|||
package org.jeecg.modules.yx.service.impl;
|
||||
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.jeecg.modules.art.dto.ArtTestCulturalDTO;
|
||||
import org.jeecg.modules.yx.constant.YxConstant;
|
||||
import org.jeecg.modules.yx.entity.YxUserScore;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description 体育专业相关的Service
|
||||
* @Author ZhouWenTao
|
||||
* @Date 2024/3/9 19:07
|
||||
*/
|
||||
@Service
|
||||
public class TiyuService {
|
||||
/**
|
||||
* 文化分测算
|
||||
* @param artTestCulturalDtoList
|
||||
*/
|
||||
public void testCultural(List<ArtTestCulturalDTO> artTestCulturalDtoList, YxUserScore userScore){
|
||||
if (CollectionUtils.isNotEmpty(artTestCulturalDtoList) &&userScore!=null) {
|
||||
String rulesEnrollProbability = null;
|
||||
String probabilityOperator = null;
|
||||
String[] probabilityOperators = null;
|
||||
String[] zhuanOperators = null;
|
||||
BigDecimal culturalProbabilityOperator = null;
|
||||
BigDecimal professionalProbabilityOperator = null;
|
||||
BigDecimal professionalScore = userScore.getProfessionalScore();
|
||||
BigDecimal culturalScore = userScore.getCulturalScore();
|
||||
//
|
||||
for (ArtTestCulturalDTO artTestCulturalDTO : artTestCulturalDtoList) {
|
||||
rulesEnrollProbability = artTestCulturalDTO.getRulesEnrollProbability();
|
||||
probabilityOperator = artTestCulturalDTO.getProbabilityOperator();
|
||||
probabilityOperators = probabilityOperator.split("\\+");
|
||||
for (String s : probabilityOperators) {
|
||||
if (s.contains("专")) {
|
||||
professionalProbabilityOperator = new BigDecimal( s.split("\\*")[1]);
|
||||
}else{
|
||||
culturalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
}
|
||||
}
|
||||
|
||||
if (("文过专排".equals(rulesEnrollProbability) || probabilityOperator.contains("专*")) && professionalProbabilityOperator!=null && professionalProbabilityOperator.compareTo(YxConstant.bigDecimal0)>0) {
|
||||
//测文化 体育类的 文过专排 ,分数转换成150分(最低录取线/0.667)
|
||||
artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().divide(professionalProbabilityOperator,0,RoundingMode.HALF_UP));
|
||||
}else if (("专过文排".equals(rulesEnrollProbability) || probabilityOperator.contains("文*")) && culturalProbabilityOperator!=null && culturalProbabilityOperator.compareTo(YxConstant.bigDecimal0)>0) {
|
||||
//测文化 体育类的 专过文排 ,分数转(最低录取线/文化分录取方式(0.133))
|
||||
artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().divide(culturalProbabilityOperator,0,RoundingMode.HALF_UP));
|
||||
}else{
|
||||
//当前输入分数乘以专业折合分
|
||||
BigDecimal professionalConverted = professionalScore.multiply(professionalProbabilityOperator);
|
||||
//余数,院校分数-专业折合分
|
||||
BigDecimal remainder = artTestCulturalDTO.getScore().subtract(professionalConverted);
|
||||
//余数/文化课计算方式
|
||||
BigDecimal divide = remainder.divide(culturalProbabilityOperator, 0, RoundingMode.HALF_UP);
|
||||
//需要超越多少分
|
||||
artTestCulturalDTO.setNeedScore(divide);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.modules.art.dto.ArtTestCulturalDTO;
|
||||
import org.jeecg.modules.art.dto.RecommendMajorDTO;
|
||||
import org.jeecg.modules.yx.constant.YxConstant;
|
||||
import org.jeecg.modules.yx.entity.YxHistoryMajorEnroll;
|
||||
|
|
@ -39,7 +40,7 @@ public class WuDaoService {
|
|||
* 舞蹈类的 分数计算方式
|
||||
*/
|
||||
public void wudaoRecommendMajorListSetEnrollProbability(List<RecommendMajorDTO> recommendMajorList, YxUserScore activeCurrentUserScore) {
|
||||
int index=0;
|
||||
int index = 0;
|
||||
try {
|
||||
//专业类别
|
||||
String professionalCategory = activeCurrentUserScore.getProfessionalCategory();
|
||||
|
|
@ -66,7 +67,7 @@ public class WuDaoService {
|
|||
Map<String, Object> differenceMap = null;
|
||||
List<YxHistoryMajorEnroll> historyMajorEnrollList = null;//历年录取信息
|
||||
|
||||
BigDecimal yswd= new BigDecimal(0);//
|
||||
BigDecimal yswd = new BigDecimal(0);//
|
||||
BigDecimal gjbzw = new BigDecimal(0);
|
||||
//=====================分数转换 start
|
||||
if ("2024".equals(YxConstant.nowYear)) {
|
||||
|
|
@ -90,11 +91,11 @@ public class WuDaoService {
|
|||
continue;
|
||||
}
|
||||
//没有往年录取分数线信息
|
||||
if (CollectionUtils.isEmpty(historyMajorEnrollList) || !ScoreUtil.hasComputeEnrollProbabilityPermissions(nowBatch,recommendMajorDTO.getBatch())) {
|
||||
if (CollectionUtils.isEmpty(historyMajorEnrollList) || !ScoreUtil.hasComputeEnrollProbabilityPermissions(nowBatch, recommendMajorDTO.getBatch())) {
|
||||
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
|
||||
continue;
|
||||
}
|
||||
historyMajorEnrollList = historyMajorEnrollList.stream().filter(h->YxConstant.cankaoYearList.contains(h.getYear())).collect(Collectors.toList());
|
||||
historyMajorEnrollList = historyMajorEnrollList.stream().filter(h -> YxConstant.cankaoYearList.contains(h.getYear())).collect(Collectors.toList());
|
||||
|
||||
//不是体育类的专业,如果是文过专排,并且没有录取计算运算符时,文过专排是文*0+专*1,专过文排是文*1+专*0
|
||||
if ("文过专排".equals(rulesEnrollProbability) && StringUtils.isBlank(probabilityOperator)) {
|
||||
|
|
@ -110,11 +111,11 @@ public class WuDaoService {
|
|||
mainSubjects = recommendMajorDTO.getMainSubjects();
|
||||
if ("艺术舞蹈".equals(mainSubjects)) {
|
||||
professionalScore3 = yswd;
|
||||
culturalControlLine = yswdControlLine.getCulturalScore();
|
||||
culturalControlLine = yswdControlLine.getCulturalScore();
|
||||
specialControlLine = yswdControlLine.getSpecialScore();
|
||||
} else if ("国际标准舞".equals(mainSubjects)) {
|
||||
professionalScore3 = gjbzw;
|
||||
culturalControlLine = gjbzwControlLine.getCulturalScore();
|
||||
culturalControlLine = gjbzwControlLine.getCulturalScore();
|
||||
specialControlLine = gjbzwControlLine.getSpecialScore();
|
||||
} else {
|
||||
log.error("当前专业有问题,不清楚主考科目:" + JSONObject.toJSONString(recommendMajorDTO));
|
||||
|
|
@ -122,7 +123,7 @@ public class WuDaoService {
|
|||
}
|
||||
|
||||
//分数是否过省控线
|
||||
if(!ScoreUtil.crossingControlLine(rulesEnrollProbability,culturalScore,professionalScore,culturalControlLine,specialControlLine)){
|
||||
if (!ScoreUtil.crossingControlLine(rulesEnrollProbability, culturalScore, professionalScore, culturalControlLine, specialControlLine)) {
|
||||
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
|
||||
continue;
|
||||
}
|
||||
|
|
@ -147,8 +148,8 @@ public class WuDaoService {
|
|||
recommendMajorDTO.setEnrollProbability(enrollProbability);
|
||||
recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability));
|
||||
recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator));
|
||||
}else{
|
||||
nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability,culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
|
||||
} else {
|
||||
nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
|
||||
if (nowYearProvincialControlLine == null) {
|
||||
continue;
|
||||
}
|
||||
|
|
@ -180,8 +181,86 @@ public class WuDaoService {
|
|||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("索引中出错:"+index);
|
||||
log.error("索引中出错:" + index);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 文化分测算
|
||||
*
|
||||
* @param artTestCulturalDtoList
|
||||
*/
|
||||
public void testCultural(List<ArtTestCulturalDTO> artTestCulturalDtoList, YxUserScore userScore) {
|
||||
try {
|
||||
if (CollectionUtils.isNotEmpty(artTestCulturalDtoList) && userScore != null) {
|
||||
String rulesEnrollProbability = null;
|
||||
String probabilityOperator = null;
|
||||
String[] probabilityOperators = null;
|
||||
String[] zhuanOperators = null;
|
||||
BigDecimal culturalProbabilityOperator = null;
|
||||
BigDecimal professionalProbabilityOperator = null;
|
||||
String professionalCategory = userScore.getProfessionalCategory();
|
||||
BigDecimal professionalScore = userScore.getProfessionalScore();
|
||||
BigDecimal culturalScore = userScore.getCulturalScore();
|
||||
//
|
||||
BigDecimal professionalScore3 = null;
|
||||
BigDecimal yswd = new BigDecimal(0);
|
||||
BigDecimal gjbzw = new BigDecimal(0);
|
||||
BigDecimal a1 = null;
|
||||
BigDecimal a2 = null;
|
||||
BigDecimal divide = null;
|
||||
String mainSubjects = null;
|
||||
//=====================分数转换 start
|
||||
if ("2024".equals(YxConstant.nowYear)) {
|
||||
YxScoreSegment scoreSegment = null;
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, professionalScore, professionalCategory, "艺术舞蹈", userScore.getProvince());
|
||||
yswd = scoreSegment.getScore();
|
||||
scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, professionalScore, professionalCategory, "国际标准舞", userScore.getProvince());
|
||||
gjbzw = scoreSegment.getScore();
|
||||
}
|
||||
for (ArtTestCulturalDTO artTestCulturalDTO : artTestCulturalDtoList) {
|
||||
rulesEnrollProbability = artTestCulturalDTO.getRulesEnrollProbability();
|
||||
probabilityOperator = artTestCulturalDTO.getProbabilityOperator();
|
||||
probabilityOperators = probabilityOperator.split("\\+");
|
||||
for (String s : probabilityOperators) {
|
||||
if (s.contains("专")) {
|
||||
professionalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
} else {
|
||||
culturalProbabilityOperator = new BigDecimal(s.split("\\*")[1]);
|
||||
}
|
||||
}
|
||||
//将当期成绩按照专业录取分数方式折算
|
||||
mainSubjects = artTestCulturalDTO.getMainSubjects();
|
||||
if ("艺术舞蹈".equals(mainSubjects)) {
|
||||
professionalScore3 = yswd;
|
||||
} else if ("国际标准舞".equals(mainSubjects)) {
|
||||
professionalScore3 = gjbzw;
|
||||
} else {
|
||||
log.error("当前专业有问题,不清楚主考科目:" + JSONObject.toJSONString(artTestCulturalDTO));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (("文过专排".equals(rulesEnrollProbability) || !probabilityOperator.contains("文")) && professionalProbabilityOperator != null && professionalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
artTestCulturalDTO.setNeedScore(artTestCulturalDTO.getScore().subtract(professionalScore3));
|
||||
} else if (("专过文排".equals(rulesEnrollProbability) || !probabilityOperator.contains("专")) && culturalProbabilityOperator != null && culturalProbabilityOperator.compareTo(YxConstant.bigDecimal0) > 0) {
|
||||
//测文化 体育类的 专过文排 ,分数转(最低录取线/文化分录取方式(0.133))
|
||||
continue;
|
||||
} else {
|
||||
//2.再用最低录取分数减去转换后的分数
|
||||
a1 = artTestCulturalDTO.getScore().subtract(professionalScore3);
|
||||
//当前输入分数乘以专业折合分
|
||||
a2 = a1.multiply(professionalProbabilityOperator);
|
||||
//3.再用这个数值除以文化分的公式
|
||||
//余数/文化课计算方式
|
||||
divide = a2.divide(culturalProbabilityOperator, 0, RoundingMode.HALF_UP);
|
||||
//需要超越多少分
|
||||
artTestCulturalDTO.setNeedScore(divide);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -963,7 +963,7 @@ public class YxSchoolMajorServiceImpl extends ServiceImpl<YxSchoolMajorMapper, Y
|
|||
BigDecimal xjysdy = activeCurrentUserScore.getXjysdy();//戏剧影视导演
|
||||
BigDecimal fzby = activeCurrentUserScore.getFzby();//服装表演
|
||||
//=====================分数转换 start
|
||||
if ("2024".equals(nowYear)) {
|
||||
if (YxConstant.nowYear.equals(nowYear)) {
|
||||
YxScoreSegment scoreSegment = null;
|
||||
if ("音乐类".equals(professionalCategory)) {
|
||||
if (yybysy != null && yybysy.compareTo(bigDecimal0) > 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue