diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniMajorController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniMajorController.java index 10d7a75..2919957 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniMajorController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniMajorController.java @@ -147,7 +147,7 @@ public class MiniMajorController { String year = queryRecommendMajorVO.getYear(); AssertUtils.notNull(loginUser, "未获取到登录信息"); AssertUtils.notNull(year, "请选择年份"); - return Result.OK(testCulturalService.testCultural(schoolCode, year)); + return Result.OK(testCulturalService.testCultural(schoolCode)); } @ApiOperation(value = "投档分测算") diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniRecommendMajorController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniRecommendMajorController.java index 6f3e8e5..f2be406 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniRecommendMajorController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniRecommendMajorController.java @@ -48,10 +48,9 @@ public class MiniRecommendMajorController { LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //根据 院校代码,获取 院校的招生专业,计算各专业的录取分数 String schoolCode = queryRecommendMajorVO.getSchoolCode(); - String year = queryRecommendMajorVO.getYear(); AssertUtils.notNull(loginUser, "未获取到登录信息"); - AssertUtils.notNull(year, "请选择年份"); - return Result.OK(testCulturalService.testCultural(schoolCode, year)); +// AssertUtils.notNull(year, "请选择年份"); + return Result.OK(testCulturalService.testCultural(schoolCode)); } @ApiOperation(value = "投档分测算") 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 6745357..58c993a 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 @@ -2,6 +2,8 @@ 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.DateUtils; import org.jeecg.modules.web.dto.ArtTestCulturalDTO; import org.jeecg.modules.yx.constant.YxConstant; import org.jeecg.modules.yx.entity.YxHistoryMajorEnroll; @@ -47,7 +49,8 @@ public class MiniTestCulturalService { @Resource private BiaoyanService biaoyanService; - public List testCultural(String schoolCode,String year){ + public List testCultural(String schoolCode){ + String year = DateUtils.getYear() + ""; //========================学生的成绩 start YxUserScore userScore = yxUserScoreService.getActiveCurrentUserScore(); String professionalCategory = userScore.getProfessionalCategory(); @@ -71,10 +74,19 @@ public class MiniTestCulturalService { 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()+p.getDetail()))), ArrayList::new)); - + // 专业去重 + // 这里使用了 Java 8 的 Stream API 对该集合进行操作 + yxSchoolMajorList = yxSchoolMajorList.stream() + // collect 方法用于将流中的元素收集到一个新的集合中 + .collect(Collectors.collectingAndThen( + // 首先使用 Collectors.toCollection 收集元素到一个新的集合中 + Collectors.toCollection(() -> new TreeSet<>( + // 使用自定义的 Comparator 来保证元素的唯一性和排序顺序 + // 这里的 Comparator.comparing 会根据元素的多个属性组合进行比较 + Comparator.comparing(p -> p.getCategory() + p.getMajorName() + p.getRulesEnrollProbability() + p.getDetail()))), + // 最终将收集到的元素存储在一个 ArrayList 中 + ArrayList::new)); + // 专业名去重 Set majorNameSet = yxSchoolMajorList.stream().map(YxSchoolMajor::getMajorName).collect(Collectors.toSet()); yxHistoryMajorEnrollLambdaQueryWrapper.isNotNull(YxHistoryMajorEnroll::getRulesEnrollProbability); @@ -134,6 +146,9 @@ public class MiniTestCulturalService { artTestCulturalDto.setDetail(yxSchoolMajor.getDetail()); // artTestCulturalDto.setProbabilityOperator(yxSchoolMajor.getProbabilityOperator()); // artTestCulturalDto.setRulesEnrollProbability(yxSchoolMajor.getRulesEnrollProbability()); + if(StringUtils.isBlank(yxSchoolMajor.getPrivateProbabilityOperator())){ + continue; + } artTestCulturalDto.setProbabilityOperator(yxSchoolMajor.getPrivateProbabilityOperator()); artTestCulturalDto.setRulesEnrollProbability(yxSchoolMajor.getPrivateRulesEnrollProbability()); artTestCulturalDto.setMajorNameAll(yxSchoolMajor.getMajorName() + "[" + yxSchoolMajor.getCategory() + "]" + "(" + yxSchoolMajor.getBatch() + ")"); @@ -158,8 +173,6 @@ public class MiniTestCulturalService { //美术与设计类,书法类,体育类 artTestCulturalDtoList.add(artTestCulturalDto); } - - } //录取方式运算符 String probabilityOperator = null; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/web/controller/ArtRecommendMajorController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/web/controller/ArtRecommendMajorController.java index fede783..c32e43a 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/web/controller/ArtRecommendMajorController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/web/controller/ArtRecommendMajorController.java @@ -183,9 +183,7 @@ public class ArtRecommendMajorController { LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //根据 院校代码,获取 院校的招生专业,计算各专业的录取分数 String schoolCode = queryRecommendMajorVO.getSchoolCode(); - String year = queryRecommendMajorVO.getYear(); AssertUtils.notNull(loginUser, "未获取到登录信息"); - AssertUtils.notNull(year, "请选择年份"); - return Result.OK(testCulturalService.testCultural(schoolCode, year)); + return Result.OK(testCulturalService.testCultural(schoolCode)); } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/web/controller/WebMajorController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/web/controller/WebMajorController.java index 9ab4078..5081253 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/web/controller/WebMajorController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/web/controller/WebMajorController.java @@ -116,9 +116,8 @@ public class WebMajorController { LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //根据 院校代码,获取 院校的招生专业,计算各专业的录取分数 String schoolCode = queryRecommendMajorVO.getSchoolCode(); - String year = queryRecommendMajorVO.getYear(); AssertUtils.notNull(loginUser, "未获取到登录信息"); - AssertUtils.notNull(year, "请选择年份"); - return Result.OK(testCulturalService.testCultural(schoolCode, year)); + AssertUtils.notNull(loginUser, "未获取到院校信息"); + return Result.OK(testCulturalService.testCultural(schoolCode)); } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxHistoryMajorEnrollController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxHistoryMajorEnrollController.java index e299bf5..2da200c 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxHistoryMajorEnrollController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxHistoryMajorEnrollController.java @@ -372,12 +372,16 @@ public class YxHistoryMajorEnrollController extends JeecgController yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>(); List updateList = new ArrayList<>(); + List newSchoolMajorList = new ArrayList<>(); List list = ExcelImportUtil.importExcel(file.getInputStream(), YxHistoryMajorEnroll.class, params); index = 3; List schoolCodeList = list.stream().filter(l -> StringUtils.isNotBlank(l.getSchoolCode())).map(l -> l.getSchoolCode()).collect(Collectors.toList()); AssertUtils.notTrue(CollectionUtils.isEmpty(schoolCodeList),"未读取到学校代码"); Map schoolMajorMap = new LinkedHashMap<>(); for (YxSchoolMajor yxSchoolMajor : yxSchoolMajorService.list(new LambdaQueryWrapper().in(YxSchoolMajor::getSchoolCode, schoolCodeList))) { + if(yxSchoolMajor.getSchoolCode().equals("0019")){ + System.out.println("'111"); + } key = yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getMajorName()+"_"+yxSchoolMajor.getBatch()+"_"+yxSchoolMajor.getCategory(); schoolMajorMap.put(key,yxSchoolMajor); } @@ -413,7 +417,12 @@ public class YxHistoryMajorEnrollController extends JeecgController