updates
This commit is contained in:
parent
a8c28627ce
commit
25fc43daf0
|
|
@ -18,6 +18,7 @@ import org.jeecg.modules.art.dto.ArtRecommendMajorBaseDTO;
|
||||||
import org.jeecg.modules.art.dto.ArtTestCulturalDTO;
|
import org.jeecg.modules.art.dto.ArtTestCulturalDTO;
|
||||||
import org.jeecg.modules.art.vo.QueryCalculateInvestmentVO;
|
import org.jeecg.modules.art.vo.QueryCalculateInvestmentVO;
|
||||||
import org.jeecg.modules.art.vo.QueryRecommendMajorVO;
|
import org.jeecg.modules.art.vo.QueryRecommendMajorVO;
|
||||||
|
import org.jeecg.modules.yx.constant.YxConstant;
|
||||||
import org.jeecg.modules.yx.entity.*;
|
import org.jeecg.modules.yx.entity.*;
|
||||||
import org.jeecg.modules.yx.service.IYxHistoryMajorEnrollService;
|
import org.jeecg.modules.yx.service.IYxHistoryMajorEnrollService;
|
||||||
import org.jeecg.modules.yx.service.IYxHistoryScoreControlLineService;
|
import org.jeecg.modules.yx.service.IYxHistoryScoreControlLineService;
|
||||||
|
|
@ -30,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
@ -206,7 +208,13 @@ public class ArtRecommendMajorController {
|
||||||
String year = queryRecommendMajorVO.getYear();
|
String year = queryRecommendMajorVO.getYear();
|
||||||
AssertUtils.notNull(loginUser, "未获取到登录信息");
|
AssertUtils.notNull(loginUser, "未获取到登录信息");
|
||||||
AssertUtils.notNull(year, "请选择年份");
|
AssertUtils.notNull(year, "请选择年份");
|
||||||
|
//========================学生的成绩 start
|
||||||
YxUserScore userScore = yxUserScoreService.getActiveCurrentUserScore();
|
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<>();
|
List<ArtTestCulturalDTO> artTestCulturalDtoList = new ArrayList<>();
|
||||||
//查询条件构建对象
|
//查询条件构建对象
|
||||||
LambdaQueryWrapper<YxSchoolMajor> yxSchoolMajorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<YxSchoolMajor> yxSchoolMajorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|
@ -215,8 +223,9 @@ public class ArtRecommendMajorController {
|
||||||
if (userScore != null) {
|
if (userScore != null) {
|
||||||
//根据当前用户的专业类别查询
|
//根据当前用户的专业类别查询
|
||||||
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getMajorType, userScore.getProfessionalCategory());
|
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getMajorType, userScore.getProfessionalCategory());
|
||||||
// yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getBatch,userScore.getBatch());
|
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getCategory,cognitioPolyclinic);
|
||||||
yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory, userScore.getProfessionalCategory());
|
yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory, userScore.getProfessionalCategory());
|
||||||
|
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getCategory,cognitioPolyclinic);
|
||||||
}
|
}
|
||||||
String a_ = "_";
|
String a_ = "_";
|
||||||
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getSchoolCode, schoolCode);
|
yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getSchoolCode, schoolCode);
|
||||||
|
|
@ -226,12 +235,14 @@ public class ArtRecommendMajorController {
|
||||||
}
|
}
|
||||||
yxSchoolMajorList = yxSchoolMajorList.stream().collect(Collectors.collectingAndThen(
|
yxSchoolMajorList = yxSchoolMajorList.stream().collect(Collectors.collectingAndThen(
|
||||||
Collectors.toCollection(() -> new TreeSet<>(
|
Collectors.toCollection(() -> new TreeSet<>(
|
||||||
Comparator.comparing(p -> p.getRulesEnrollProbability()))), ArrayList::new));
|
Comparator.comparing(p ->p.getCategory()+ p.getRulesEnrollProbability()))), ArrayList::new));
|
||||||
|
|
||||||
Set<String> majorNameSet = yxSchoolMajorList.stream().map(YxSchoolMajor::getMajorName).collect(Collectors.toSet());
|
Set<String> majorNameSet = yxSchoolMajorList.stream().map(YxSchoolMajor::getMajorName).collect(Collectors.toSet());
|
||||||
|
|
||||||
|
yxHistoryMajorEnrollLambdaQueryWrapper.isNotNull(YxHistoryMajorEnroll::getRulesEnrollProbability);
|
||||||
|
yxHistoryMajorEnrollLambdaQueryWrapper.isNotNull(YxHistoryMajorEnroll::getAdmissionLine);
|
||||||
yxHistoryMajorEnrollLambdaQueryWrapper.orderByDesc(YxHistoryMajorEnroll::getYear);
|
yxHistoryMajorEnrollLambdaQueryWrapper.orderByDesc(YxHistoryMajorEnroll::getYear);
|
||||||
|
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getCategory,cognitioPolyclinic);
|
||||||
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getSchoolCode, schoolCode);
|
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getSchoolCode, schoolCode);
|
||||||
yxHistoryMajorEnrollLambdaQueryWrapper.in(YxHistoryMajorEnroll::getMajorName, majorNameSet);
|
yxHistoryMajorEnrollLambdaQueryWrapper.in(YxHistoryMajorEnroll::getMajorName, majorNameSet);
|
||||||
//获取 历年分数信息
|
//获取 历年分数信息
|
||||||
|
|
@ -286,7 +297,35 @@ public class ArtRecommendMajorController {
|
||||||
//专业分控线
|
//专业分控线
|
||||||
artTestCulturalDto.setSpecialScore(yxHistoryScoreControlLine.getSpecialScore());
|
artTestCulturalDto.setSpecialScore(yxHistoryScoreControlLine.getSpecialScore());
|
||||||
}
|
}
|
||||||
|
//计算需要超过多少分可以录取
|
||||||
|
BigDecimal schoolOldYearAdmissionLine = artTestCulturalDto.getScore();
|
||||||
|
//录取方式
|
||||||
|
String probabilityOperator = artTestCulturalDto.getProbabilityOperator();
|
||||||
|
if (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);
|
artTestCulturalDtoList.add(artTestCulturalDto);
|
||||||
}
|
}
|
||||||
return Result.OK(artTestCulturalDtoList);
|
return Result.OK(artTestCulturalDtoList);
|
||||||
|
|
|
||||||
|
|
@ -37,5 +37,7 @@ public class ArtTestCulturalDTO implements Serializable {
|
||||||
private BigDecimal culturalScore;
|
private BigDecimal culturalScore;
|
||||||
@ApiModelProperty("省专业分控线")
|
@ApiModelProperty("省专业分控线")
|
||||||
private BigDecimal SpecialScore;
|
private BigDecimal SpecialScore;
|
||||||
|
@ApiModelProperty("当前学生成绩需要超越多少分数")
|
||||||
|
private BigDecimal needScore;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,9 @@ public class YxHistoryScoreControlLineController extends JeecgController<YxHisto
|
||||||
historyScoreControlLine.setCulturalScoreXk(YxConstant.bigDecimal0);
|
historyScoreControlLine.setCulturalScoreXk(YxConstant.bigDecimal0);
|
||||||
historyScoreControlLine.setSpecialScore(YxConstant.bigDecimal0);
|
historyScoreControlLine.setSpecialScore(YxConstant.bigDecimal0);
|
||||||
historyScoreControlLine.setSpecialScoreXk(YxConstant.bigDecimal0);
|
historyScoreControlLine.setSpecialScoreXk(YxConstant.bigDecimal0);
|
||||||
|
}else{
|
||||||
|
historyScoreControlLine.setCulturalScore(YxConstant.bigDecimal0);
|
||||||
|
historyScoreControlLine.setCulturalScoreXk(YxConstant.bigDecimal0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
list = dataMaps.getOrDefault(year,new ArrayList<>());
|
list = dataMaps.getOrDefault(year,new ArrayList<>());
|
||||||
|
|
|
||||||
|
|
@ -226,6 +226,10 @@
|
||||||
<if test="qvo.professionalCategory!=null and qvo.professionalCategory!=''">
|
<if test="qvo.professionalCategory!=null and qvo.professionalCategory!=''">
|
||||||
AND major_type = #{qvo.professionalCategory}
|
AND major_type = #{qvo.professionalCategory}
|
||||||
</if>
|
</if>
|
||||||
|
<!--文理分科-->
|
||||||
|
<if test="qvo.cognitioPolyclinic!=null and qvo.cognitioPolyclinic!=''">
|
||||||
|
AND category = #{qvo.cognitioPolyclinic}
|
||||||
|
</if>
|
||||||
) sm ON sm.school_code = sc.school_code
|
) sm ON sm.school_code = sc.school_code
|
||||||
where 1=1 AND s.is_ys = 1
|
where 1=1 AND s.is_ys = 1
|
||||||
<if test="qvo.schoolName!=null and qvo.schoolName!=''">
|
<if test="qvo.schoolName!=null and qvo.schoolName!=''">
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,7 @@ public class YxSchoolServiceImpl extends ServiceImpl<YxSchoolMapper, YxSchool> i
|
||||||
String professionalCategory = currentUserScore.getProfessionalCategory();//专业类别
|
String professionalCategory = currentUserScore.getProfessionalCategory();//专业类别
|
||||||
String professionalCategoryChildren = currentUserScore.getProfessionalCategoryChildren();//子类
|
String professionalCategoryChildren = currentUserScore.getProfessionalCategoryChildren();//子类
|
||||||
List<String> pCategoryChildrenList = ScoreUtil.checkProfessionalCategoryToChildrenList(professionalCategoryChildren);
|
List<String> pCategoryChildrenList = ScoreUtil.checkProfessionalCategoryToChildrenList(professionalCategoryChildren);
|
||||||
|
queryRecommendMajorVO.setCognitioPolyclinic(currentUserScore.getCognitioPolyclinic());
|
||||||
queryRecommendMajorVO.setProfessionalCategory(professionalCategory);
|
queryRecommendMajorVO.setProfessionalCategory(professionalCategory);
|
||||||
queryRecommendMajorVO.setPCategoryChildrenList(pCategoryChildrenList);
|
queryRecommendMajorVO.setPCategoryChildrenList(pCategoryChildrenList);
|
||||||
if (StringUtils.isNotBlank(queryRecommendMajorVO.getMajorCode())) {
|
if (StringUtils.isNotBlank(queryRecommendMajorVO.getMajorCode())) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue