diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/service/MiniTestCulturalService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/service/MiniTestCulturalService.java index 36396e4..a8a9a25 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/service/MiniTestCulturalService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/service/MiniTestCulturalService.java @@ -146,7 +146,7 @@ public class MiniTestCulturalService { artTestCulturalDto.setDetail(yxSchoolMajor.getDetail()); // artTestCulturalDto.setProbabilityOperator(yxSchoolMajor.getProbabilityOperator()); // artTestCulturalDto.setRulesEnrollProbability(yxSchoolMajor.getRulesEnrollProbability()); - if(StringUtils.isBlank(yxHistoryMajorEnroll.getProbabilityOperator())){ + if(yxHistoryMajorEnroll == null || StringUtils.isBlank(yxHistoryMajorEnroll.getProbabilityOperator())){ continue; } artTestCulturalDto.setProbabilityOperator(yxHistoryMajorEnroll.getProbabilityOperator()); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java index 908e34f..8c362c8 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java @@ -1,10 +1,7 @@ package org.jeecg.modules.yx.constant; -import org.apache.commons.collections.CollectionUtils; - import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -18,7 +15,7 @@ public class YxConstant { /** * 当前年 */ - public static String nowYear = "2024"; + public static final String nowYear = "2024"; /** * 使用省控线年份 @@ -27,7 +24,9 @@ public class YxConstant { /** * 旧日期 */ - public static List oldYearList = Arrays.asList("2023", "2022", "2021", "2020"); + public static final List oldYearList = Arrays.asList("2023", "2022", "2021", "2020"); + + public static final List showOldYearList = Arrays.asList("2024", "2023", "2022", "2021", "2020"); public static List cankaoMajorTypeList = Arrays.asList("音乐类", "舞蹈类", "播音与主持类", "表演类", "戏曲类"); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxHistoryMajorEnrollService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxHistoryMajorEnrollService.java index 597bf20..cd49393 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxHistoryMajorEnrollService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxHistoryMajorEnrollService.java @@ -29,7 +29,7 @@ public interface IYxHistoryMajorEnrollService extends IService recommendMajorDtoList); + void recommendMajorDTOListSetHistoryInfo(List recommendMajorDtoList, List historyYearsList); /** * 给志愿单中的专业写入历年分数信息 diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java index 6bdfadc..5fe882b 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java @@ -59,18 +59,18 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl calculationMajor(YxUserScore userScore) { + // 最终返回的对象 List recommendMajorDTOList = new ArrayList<>(); if (userScore != null) { - String professionalCategory = userScore.getProfessionalCategory(); + // 查询专业列表参数 QueryRecommendMajorVO queryRecommendMajorVO = new QueryRecommendMajorVO(); - queryRecommendMajorVO.setProfessionalCategory(professionalCategory);//专业类别 - queryRecommendMajorVO.setCognitioPolyclinic(userScore.getCognitioPolyclinic());//文理分科 - //查询专业 + queryRecommendMajorVO.setProfessionalCategory(userScore.getProfessionalCategory()); // 专业类别 + queryRecommendMajorVO.setCognitioPolyclinic(userScore.getCognitioPolyclinic()); // 文理分科 long startTime = new Date().getTime(); - recommendMajorDTOList = yxSchoolMajorMapper.recommendMajorList(queryRecommendMajorVO); + recommendMajorDTOList = yxSchoolMajorMapper.recommendMajorList(queryRecommendMajorVO); // 获取到当前专业,文/理科的数据 //将历史录取信息合并到专业信息里 if (CollectionUtils.isNotEmpty(recommendMajorDTOList)) { - yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorDTOList); + yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorDTOList, ScoreUtil.getCalOldYears()); this.checkEnrollProbability(recommendMajorDTOList, userScore); } long endTime = new Date().getTime(); @@ -225,7 +225,7 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl pageList = new Page<>(); @@ -269,7 +269,7 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl recommendMajorList = baseMapper.recommendMajorList(activeCurrentUserScore.getCalculationTableName(),queryRecommendMajorVO); - yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorList); + yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorList, ScoreUtil.getShowOldYears()); ArtRecommendMajorBaseDTO artRecommendMajorBaseDTO = new ArtRecommendMajorBaseDTO(); convertRecommendMajorListToNull(recommendMajorList); artRecommendMajorBaseDTO.setList(recommendMajorList); @@ -371,7 +371,7 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl recommendMajorList = baseMapper.recommendMajorListBenOrZhuan(activeCurrentUserScore.getCalculationTableName(),queryRecommendMajorVO); - yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorList); + yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorList,ScoreUtil.getShowOldYears()); //插入 院校标签 this.setSchoolTagsList(recommendMajorList); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxHistoryMajorEnrollServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxHistoryMajorEnrollServiceImpl.java index 679b617..a0272bc 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxHistoryMajorEnrollServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxHistoryMajorEnrollServiceImpl.java @@ -11,6 +11,7 @@ import org.jeecg.modules.yx.entity.YxHistoryScoreControlLine; import org.jeecg.modules.yx.mapper.YxHistoryMajorEnrollMapper; import org.jeecg.modules.yx.service.IYxHistoryMajorEnrollService; import org.jeecg.modules.yx.service.IYxHistoryScoreControlLineService; +import org.jeecg.modules.yx.util.ScoreUtil; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -65,7 +66,7 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl recommendMajorDtoList){ + public void recommendMajorDTOListSetHistoryInfo(List recommendMajorDtoList, List historyYearsList){ if (CollectionUtils.isNotEmpty(recommendMajorDtoList)) { String majorType = recommendMajorDtoList.get(0).getMajorType(); String category = recommendMajorDtoList.get(0).getCategory(); @@ -73,7 +74,7 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl schoolCodeSet = recommendMajorDtoList.stream().map(RecommendMajorDTO::getSchoolCode).collect(Collectors.toSet()); //获取历年的招生计划 LambdaQueryWrapper hmeWrapper = new LambdaQueryWrapper<>(); - hmeWrapper.in(YxHistoryMajorEnroll::getYear, YxConstant.oldYearList); + hmeWrapper.in(YxHistoryMajorEnroll::getYear, historyYearsList); hmeWrapper.in(YxHistoryMajorEnroll::getMajorName, majorNameSet); hmeWrapper.in(YxHistoryMajorEnroll::getSchoolCode,schoolCodeSet); hmeWrapper.eq(YxHistoryMajorEnroll::getCategory, category);//文科/理科 @@ -99,7 +100,7 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl(); yearMajorEnrollMap = new LinkedHashMap<>(); //2022年 - for (String year : YxConstant.oldYearList) { + for (String year : historyYearsList) { key = recommendMajorDTO.getSchoolCode() + a_ + recommendMajorDTO.getMajorName() + a_ + recommendMajorDTO.getCategory() + a_ + recommendMajorDTO.getBatch(); yxHistoryMajorEnroll = majorEnrollMap.get(year + a_ + key); if (yxHistoryMajorEnroll != null) { @@ -126,7 +127,7 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl schoolCodeSet = recordDtoList.stream().map(RecommendMajorDTO::getSchoolCode).collect(Collectors.toSet()); //获取历年的招生计划 LambdaQueryWrapper hmeWrapper = new LambdaQueryWrapper<>(); - hmeWrapper.in(YxHistoryMajorEnroll::getYear, YxConstant.oldYearList); + hmeWrapper.in(YxHistoryMajorEnroll::getYear, ScoreUtil.getShowOldYears()); hmeWrapper.in(YxHistoryMajorEnroll::getMajorName, majorNameSet); hmeWrapper.in(YxHistoryMajorEnroll::getSchoolCode,schoolCodeSet); hmeWrapper.eq(YxHistoryMajorEnroll::getCategory, category);//文科/理科 @@ -152,7 +153,7 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl(); yearMajorEnrollMap = new LinkedHashMap<>(); //2022年 - for (String year : YxConstant.oldYearList) { + for (String year : ScoreUtil.getShowOldYears()) { key = recommendMajorDTO.getSchoolCode() + a_ + recommendMajorDTO.getMajorName() + a_ + recommendMajorDTO.getCategory() + a_ + recommendMajorDTO.getBatch(); yxHistoryMajorEnroll = majorEnrollMap.get(year + a_ + key); if (yxHistoryMajorEnroll != null) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java index fdf6a5c..8847d74 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java @@ -108,7 +108,6 @@ public class YxSchoolMajorServiceImpl extends ServiceImpl recommendMajorList(QueryRecommendMajorVO queryRecommendMajorVO) { - List historyYearList = YxConstant.oldYearList; //如果没有算出录取批次,则返回空数据 if (StringUtils.isBlank(queryRecommendMajorVO.getBatch()) && CollectionUtils.isEmpty(queryRecommendMajorVO.getBatchList())) { return new ArrayList<>(); @@ -137,7 +136,7 @@ public class YxSchoolMajorServiceImpl extends ServiceImpl hmeWrapper = new LambdaQueryWrapper<>(); Set majorNameList = recommendMajorDTOS.stream().map(RecommendMajorDTO::getMajorName).collect(Collectors.toSet()); - hmeWrapper.in(YxHistoryMajorEnroll::getYear, YxConstant.oldYearList); + hmeWrapper.in(YxHistoryMajorEnroll::getYear, ScoreUtil.getShowOldYears()); hmeWrapper.eq(YxHistoryMajorEnroll::getCategory, queryRecommendMajorVO.getCognitioPolyclinic());//文科/理科 hmeWrapper.isNotNull(YxHistoryMajorEnroll::getRulesEnrollProbability); hmeWrapper.eq(YxHistoryMajorEnroll::getMajorType,queryRecommendMajorVO.getProfessionalCategory()); @@ -161,7 +160,7 @@ public class YxSchoolMajorServiceImpl extends ServiceImpl(); yearMajorEnrollMap = new LinkedHashMap<>(); //2022年 - for (String year : historyYearList) { + for (String year : ScoreUtil.getShowOldYears()) { key = recommendMajorDTO.getSchoolCode() + a_ + recommendMajorDTO.getMajorName() + a_ + recommendMajorDTO.getCategory() + a_ + recommendMajorDTO.getBatch(); yxHistoryMajorEnroll = majorEnrollMap.get(year + a_ + key); if (yxHistoryMajorEnroll != null) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxVolunteerServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxVolunteerServiceImpl.java index 34c185c..d94c927 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxVolunteerServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxVolunteerServiceImpl.java @@ -19,6 +19,7 @@ import org.jeecg.modules.yx.entity.*; import org.jeecg.modules.yx.mapper.YxVolunteerMapper; import org.jeecg.modules.yx.mapper.YxVolunteerRecordMapper; import org.jeecg.modules.yx.service.*; +import org.jeecg.modules.yx.util.ScoreUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -82,7 +83,7 @@ public class YxVolunteerServiceImpl extends ServiceImpl hmeWrapper = new LambdaQueryWrapper<>(); List majorNameList = recordDTOList.stream().map(VolunteerRecordDTO::getMajorName).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(majorNameList)) { - hmeWrapper.in(YxHistoryMajorEnroll::getYear, YxConstant.oldYearList); + hmeWrapper.in(YxHistoryMajorEnroll::getYear, ScoreUtil.getShowOldYears()); hmeWrapper.eq(YxHistoryMajorEnroll::getCategory, cognitioPolyclinic);//文科/理科 hmeWrapper.in(YxHistoryMajorEnroll::getMajorName, majorNameList); hmeWrapper.orderByDesc(YxHistoryMajorEnroll::getYear); @@ -103,7 +104,7 @@ public class YxVolunteerServiceImpl extends ServiceImpl(); sm = schoolCode + a_ + majorName; //往年分数线 - for (String year : YxConstant.oldYearList) { + for (String year : ScoreUtil.getShowOldYears()) { yxHistoryMajorEnroll = majorEnrollMap.get(sm + a_ + year); if (yxHistoryMajorEnroll != null) { yearMajorEnrollMap.put(yxHistoryMajorEnroll.getYear(), yxHistoryMajorEnroll); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/util/ScoreUtil.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/util/ScoreUtil.java index b808f97..37ffc45 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/util/ScoreUtil.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/util/ScoreUtil.java @@ -18,6 +18,27 @@ import java.util.*; * @Date 2023/11/9 13:30 */ public class ScoreUtil { + public static String getNowYear(){ + // 获取当前年 + return YxConstant.nowYear; + } + + /** + * 用于计算成绩时用到的历年时间 + * @return + */ + public static List getCalOldYears(){ + return YxConstant.oldYearList; + } + + /** + * 用于列表上显示历年信息 + * @return + */ + public static List getShowOldYears(){ + return YxConstant.showOldYearList; + } + /** * 计算 往年分数差之和 (往年的录取线-省控线) * @param historyMajorEnrollList 往年录取分数