updates
This commit is contained in:
parent
a7996dbdae
commit
a904dd941f
|
|
@ -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 = "投档分测算")
|
||||
|
|
|
|||
|
|
@ -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 = "投档分测算")
|
||||
|
|
|
|||
|
|
@ -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<ArtTestCulturalDTO> testCultural(String schoolCode,String year){
|
||||
public List<ArtTestCulturalDTO> 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<String> 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;
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -372,12 +372,16 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
|||
YxHistoryMajorEnroll oldYxHistoryMajorEnroll = null;
|
||||
LambdaQueryWrapper<YxHistoryMajorEnroll> yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
List<YxHistoryMajorEnroll> updateList = new ArrayList<>();
|
||||
List<YxSchoolMajor> newSchoolMajorList = new ArrayList<>();
|
||||
List<YxHistoryMajorEnroll> list = ExcelImportUtil.importExcel(file.getInputStream(), YxHistoryMajorEnroll.class, params);
|
||||
index = 3;
|
||||
List<String> schoolCodeList = list.stream().filter(l -> StringUtils.isNotBlank(l.getSchoolCode())).map(l -> l.getSchoolCode()).collect(Collectors.toList());
|
||||
AssertUtils.notTrue(CollectionUtils.isEmpty(schoolCodeList),"未读取到学校代码");
|
||||
Map<String,YxSchoolMajor> schoolMajorMap = new LinkedHashMap<>();
|
||||
for (YxSchoolMajor yxSchoolMajor : yxSchoolMajorService.list(new LambdaQueryWrapper<YxSchoolMajor>().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<YxHistoryMaj
|
|||
AssertUtils.notEmpty(category, String.format("行[%s],请输入科类", index));
|
||||
//AssertUtils.notEmpty(rulesEnrollProbability, String.format("行[%s],请输入录取方式", index));
|
||||
AssertUtils.notEmpty(probabilityOperator, String.format("行[%s],请输入录取方式运算符", index));
|
||||
AssertUtils.notNull(admissionLine, String.format("行[%s],请输入录取线", index));
|
||||
|
||||
// 如果录取线没有,则替换为0
|
||||
//AssertUtils.notNull(admissionLine, String.format("行[%s],请输入录取线", index));
|
||||
if(admissionLine == null){
|
||||
admissionLine = new BigDecimal(0);
|
||||
}
|
||||
// AssertUtils.notNull(enrollNum, String.format("行[%s],请输入招生人数", index));
|
||||
// AssertUtils.notNull(admissionNum, String.format("行[%s],请输入录取人数", index));
|
||||
//=========================================================================
|
||||
|
|
@ -472,7 +481,32 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
|||
}
|
||||
}
|
||||
|
||||
AssertUtils.notTrue(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category), String.format("行[%s],未在系统中找到招录专业", index));
|
||||
|
||||
if(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category)){
|
||||
// 该专业没有录入
|
||||
YxSchoolMajor yxSchoolMajor = new YxSchoolMajor();
|
||||
yxSchoolMajor.setState("1");
|
||||
yxSchoolMajor.setSchoolCode(schoolCode);
|
||||
yxSchoolMajor.setMajorCode(major.getMajorCode());
|
||||
yxSchoolMajor.setMajorName(majorName);
|
||||
yxSchoolMajor.setEnrollmentCode(enrollmentCode);
|
||||
// 提取学费
|
||||
yxSchoolMajor.setTuition(yxHistoryMajorEnroll.getTuition());
|
||||
yxSchoolMajor.setDetail(detail);
|
||||
yxSchoolMajor.setCategory(category);
|
||||
yxSchoolMajor.setRulesEnrollProbabilitySx(rulesEnrollProbability);
|
||||
yxSchoolMajor.setRulesEnrollProbability(rulesEnrollProbability);
|
||||
yxSchoolMajor.setPrivateRulesEnrollProbability(rulesEnrollProbability);
|
||||
yxSchoolMajor.setProbabilityOperator(probabilityOperator);
|
||||
yxSchoolMajor.setPrivateProbabilityOperator(probabilityOperator);
|
||||
yxSchoolMajor.setBatch(batch);
|
||||
yxSchoolMajor.setMajorType(majorType);
|
||||
yxSchoolMajor.setMajorTypeChild(majorTypeChild);
|
||||
yxSchoolMajor.setPlanNum(enrollNum);
|
||||
yxSchoolMajor.setMainSubjects(mainSubjects);
|
||||
newSchoolMajorList.add(yxSchoolMajor);
|
||||
}
|
||||
// AssertUtils.notTrue(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category), String.format("行[%s],未在系统中找到招录专业", index));
|
||||
|
||||
if ("文过专排".equals(rulesEnrollProbability) || "文过专排主科".equals(rulesEnrollProbability)) {
|
||||
BigDecimal multiply = specialScore.multiply(zhuanyeBili);
|
||||
|
|
@ -520,8 +554,6 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
|||
throw new JeecgBootException("该数据已存在多条该历年数据");
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (oldYxHistoryMajorEnroll == null) {
|
||||
updateList.add(yxHistoryMajorEnroll);
|
||||
} else {
|
||||
|
|
@ -540,6 +572,9 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
|||
if (CollectionUtils.isNotEmpty(updateList)) {
|
||||
yxHistoryMajorEnrollService.saveOrUpdateBatch(updateList);
|
||||
}
|
||||
if(CollectionUtils.isNotEmpty(newSchoolMajorList)){
|
||||
yxSchoolMajorService.saveBatch(newSchoolMajorList);
|
||||
}
|
||||
log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
|
||||
return Result.ok("文件导入成功!数据行数:" + list.size());
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
|
|
@ -409,7 +409,7 @@ public class YxSchoolMajorController extends JeecgController<YxSchoolMajor, IYxS
|
|||
// 提取学费
|
||||
try {
|
||||
if (detail.contains("元/年")) {
|
||||
item.setTuition(new BigDecimal(detail.split("元/年")[0].replace("(","")));
|
||||
item.setTuition(detail.split("元/年")[0].replace("(",""));
|
||||
}
|
||||
}catch (Exception e){
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class YxSchoolMajor implements Serializable {
|
|||
|
||||
/**学费*/
|
||||
@ApiModelProperty(value = "学费")
|
||||
private java.math.BigDecimal tuition;
|
||||
private java.lang.String tuition;
|
||||
/**学制*/
|
||||
@ApiModelProperty(value = "学制")
|
||||
private java.lang.String semester;
|
||||
|
|
|
|||
Loading…
Reference in New Issue