updates
This commit is contained in:
parent
b52c8e859a
commit
0df7fcb3c4
|
|
@ -15,17 +15,24 @@ import org.jeecg.common.util.RedisUtil;
|
|||
import org.jeecg.modules.mini.service.MiniTestCulturalService;
|
||||
import org.jeecg.modules.web.service.WebMajorService;
|
||||
import org.jeecg.modules.web.vo.QueryRecommendMajorVO;
|
||||
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.YxMajor;
|
||||
import org.jeecg.modules.yx.service.IYxCalculationMajorService;
|
||||
import org.jeecg.modules.yx.service.IYxHistoryMajorEnrollService;
|
||||
import org.jeecg.modules.yx.service.IYxHistoryScoreControlLineService;
|
||||
import org.jeecg.modules.yx.service.IYxMajorService;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -47,8 +54,105 @@ public class WebMajorController {
|
|||
IYxCalculationMajorService yxCalculationMajorService;
|
||||
@Resource
|
||||
RedisUtil redisUtil;
|
||||
@Resource
|
||||
private IYxHistoryMajorEnrollService yxHistoryMajorEnrollService;
|
||||
@Resource
|
||||
private IYxHistoryScoreControlLineService yxHistoryScoreControlLineService;
|
||||
@GetMapping(value = "/recommendMajor/page")
|
||||
public Result<?> recommendMajorPage(QueryRecommendMajorVO queryRecommendMajorVO) {
|
||||
// Map<String, YxHistoryScoreControlLine> historyScoreControlLineMap = yxHistoryScoreControlLineService.allMaps();
|
||||
//
|
||||
// List<YxHistoryMajorEnroll> list = yxHistoryMajorEnrollService.list(new LambdaQueryWrapper<YxHistoryMajorEnroll>()
|
||||
// .eq(YxHistoryMajorEnroll::getBatch,"高职高专")
|
||||
// .eq(YxHistoryMajorEnroll::getYear, "2023")
|
||||
// .eq(YxHistoryMajorEnroll::getRulesEnrollProbability, "文*0.5+专*1.25"));
|
||||
// String year = "2023";
|
||||
// String batch = "高职高专";
|
||||
// String category = "";
|
||||
// String key = "";
|
||||
// YxHistoryScoreControlLine historyScoreControlLine = null;
|
||||
// BigDecimal culturalScore = null;
|
||||
// BigDecimal specialScore = null;
|
||||
// BigDecimal wenhuaBili = null;
|
||||
// BigDecimal zhuanyeBili = null;
|
||||
// for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) {
|
||||
// String majorType = yxHistoryMajorEnroll.getMajorType();
|
||||
// category = yxHistoryMajorEnroll.getCategory();
|
||||
// String mainSubjects = yxHistoryMajorEnroll.getMainSubjects();
|
||||
// if(majorType.contains("美术")){
|
||||
// yxHistoryMajorEnroll.setProbabilityOperator("文*0.067+专*0.167");
|
||||
// }else if(majorType.contains("音乐")){
|
||||
// yxHistoryMajorEnroll.setProbabilityOperator("文*0.067+专*0.25");
|
||||
// }else if(majorType.contains("舞蹈")){
|
||||
// yxHistoryMajorEnroll.setProbabilityOperator("文*0.067+专*0.25");
|
||||
// }else if(majorType.contains("播音")){
|
||||
// yxHistoryMajorEnroll.setProbabilityOperator("文*0.067+专*0.125");
|
||||
// }else if(majorType.contains("表演")){
|
||||
// yxHistoryMajorEnroll.setProbabilityOperator("文*0.067+专*0.25");
|
||||
// }else if(majorType.contains("书法")){
|
||||
// yxHistoryMajorEnroll.setProbabilityOperator("文*0.067+专*0.167");
|
||||
// }
|
||||
// String probabilityOperator = yxHistoryMajorEnroll.getProbabilityOperator();
|
||||
// String rulesEnrollProbability = yxHistoryMajorEnroll.getRulesEnrollProbability();
|
||||
// //省控线
|
||||
// //美术与设计类文0.067 专0.167
|
||||
// //音乐类文0.067 专0.25
|
||||
// //舞蹈类文0.067 专0.25
|
||||
// //播音与主持类文 0.067 专0.125
|
||||
// //表演类文0.067 专0.25
|
||||
// //书法类文0.067 专0.167
|
||||
//
|
||||
// //文科_本科A段_美术与设计_2023
|
||||
// if ("舞蹈类".equals(majorType)) {
|
||||
// if (mainSubjects.contains("艺术舞蹈")) {
|
||||
// key = category + "_" + batch + "_" + "艺术舞蹈类" + "_" + year;
|
||||
// } else if (mainSubjects.contains("国际标准")) {
|
||||
// key = category + "_" + batch + "_" + "国际标准舞类" + "_" + year;
|
||||
// }
|
||||
// } else if(majorType.contains("体育")){
|
||||
// if (batch.contains("专科") || batch.contains("高职高专")) {
|
||||
// batch = "高职高专";
|
||||
// }else{
|
||||
// batch = "本科";
|
||||
// }
|
||||
// key = category + "_" + batch + "_" + majorType + "_" + year;
|
||||
// } else {
|
||||
// key = category + "_" + batch + "_" + majorType + "_" + year;
|
||||
// }
|
||||
// historyScoreControlLine = historyScoreControlLineMap.get(key);
|
||||
// AssertUtils.notNull(historyScoreControlLine, String.format("行,未在系统中找到省控线"));
|
||||
// culturalScore = historyScoreControlLine.getCulturalScore();
|
||||
// specialScore = historyScoreControlLine.getSpecialScore();
|
||||
// //换算分数
|
||||
// String[] operators = probabilityOperator.split("\\+");
|
||||
// for (String operator : operators) {
|
||||
// if (operator.contains("文")) {
|
||||
// wenhuaBili = new BigDecimal(operator.split("\\*")[1]);
|
||||
// }
|
||||
// if (operator.contains("专")) {
|
||||
// zhuanyeBili = new BigDecimal(operator.split("\\*")[1]);
|
||||
// }
|
||||
// }
|
||||
// if ("文过专排".equals(rulesEnrollProbability) || "文过专排主科".equals(rulesEnrollProbability)) {
|
||||
// BigDecimal multiply = specialScore.multiply(zhuanyeBili);
|
||||
// yxHistoryMajorEnroll.setControlLine(multiply);
|
||||
// yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排");
|
||||
// } else if ("专过文排".equals(rulesEnrollProbability)) {
|
||||
// BigDecimal multiply = culturalScore.multiply(wenhuaBili);
|
||||
// yxHistoryMajorEnroll.setControlLine(multiply);
|
||||
// yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排");
|
||||
// } else if ("其他计算办法".equals(rulesEnrollProbability)) {
|
||||
// yxHistoryMajorEnroll.setRulesEnrollProbability("其他计算办法");
|
||||
// } else {
|
||||
// if (wenhuaBili == null || zhuanyeBili == null) {
|
||||
// wenhuaBili = YxConstant.bigDecimal100;
|
||||
// zhuanyeBili = YxConstant.bigDecimal100;
|
||||
// }
|
||||
// yxHistoryMajorEnroll.setControlLine((culturalScore.multiply(wenhuaBili)).add((specialScore.multiply(zhuanyeBili))));
|
||||
// yxHistoryMajorEnroll.setRulesEnrollProbability(probabilityOperator);
|
||||
// }
|
||||
// }
|
||||
// yxHistoryMajorEnrollService.updateBatchById(list,300);
|
||||
return Result.OK(yxCalculationMajorService.recommendMajorPage(queryRecommendMajorVO));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -244,50 +244,71 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
|||
@RequestMapping(value = "/exportXlsBySchoolMajor")
|
||||
public ModelAndView exportXlsBySchoolMajor(HttpServletRequest request) {
|
||||
List<YxHistoryMajorEnroll> dataList = new ArrayList<>();
|
||||
List<YxHistoryMajorEnroll> historyMajorEnrollList = yxHistoryMajorEnrollService.list(new LambdaQueryWrapper<YxHistoryMajorEnroll>()
|
||||
.eq(YxHistoryMajorEnroll::getYear,"2023")
|
||||
.eq(YxHistoryMajorEnroll::getMajorType,"体育类"));
|
||||
Set<String> notAddSet = new LinkedHashSet<>();
|
||||
Map<String,YxHistoryMajorEnroll> map =new LinkedHashMap<>();
|
||||
for (YxHistoryMajorEnroll y : historyMajorEnrollList) {
|
||||
notAddSet.add(y.getSchoolCode()+"_"+y.getEnrollmentCode()+"_"+y.getMajorType()+"_"+y.getCategory());
|
||||
map.put(y.getSchoolCode()+"_"+y.getEnrollmentCode()+"_"+y.getMajorType()+"_"+y.getCategory(),y);
|
||||
LambdaQueryWrapper<YxHistoryMajorEnroll> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.apply("control_line > admission_line")
|
||||
.gt(YxHistoryMajorEnroll::getAdmissionLine, 1);
|
||||
List<YxHistoryMajorEnroll> historyMajorEnrollList = yxHistoryMajorEnrollService.list(queryWrapper);
|
||||
dataList = historyMajorEnrollList;
|
||||
List<YxSchoolMajor> schoolMajorList1 = yxSchoolMajorService.list(new LambdaQueryWrapper<YxSchoolMajor>());
|
||||
Map<String,YxSchoolMajor> map1 =new LinkedHashMap<>();
|
||||
for (YxSchoolMajor y : schoolMajorList1) {
|
||||
map1.put(y.getSchoolCode()+"_"+y.getEnrollmentCode()+"_"+y.getMajorType()+"_"+y.getCategory(),y);
|
||||
}
|
||||
List<YxSchoolMajor> schoolMajorList = yxSchoolMajorService.list(new LambdaQueryWrapper<YxSchoolMajor>()
|
||||
.eq(YxSchoolMajor::getMajorType,"体育类"));
|
||||
List<YxSchoolChild> schoolChildList = yxSchoolChildService.list();
|
||||
Map<String, String> schoolNameMap = schoolChildList.stream().collect(Collectors.toMap(YxSchoolChild::getSchoolCode, YxSchoolChild::getSchoolName));
|
||||
String schoolName = "";
|
||||
|
||||
YxHistoryMajorEnroll yxHistoryMajorEnroll = null;
|
||||
int i =0;
|
||||
try {
|
||||
String key = null;
|
||||
for (YxSchoolMajor yxSchoolMajor : schoolMajorList) {
|
||||
key = yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getEnrollmentCode()+"_"+yxSchoolMajor.getMajorType()+"_"+yxSchoolMajor.getCategory();
|
||||
if (!notAddSet.contains(key)) {
|
||||
yxHistoryMajorEnroll = new YxHistoryMajorEnroll();
|
||||
schoolName = schoolNameMap.getOrDefault(yxSchoolMajor.getSchoolCode(), "");
|
||||
BeanUtils.copyProperties(yxSchoolMajor,yxHistoryMajorEnroll);
|
||||
yxHistoryMajorEnroll.setSchoolName(schoolName);
|
||||
yxHistoryMajorEnroll.setEnrollNum(yxSchoolMajor.getPlanNum());
|
||||
yxHistoryMajorEnroll.setRulesEnrollProbability(yxSchoolMajor.getPrivateRulesEnrollProbability());
|
||||
yxHistoryMajorEnroll.setProbabilityOperator(yxSchoolMajor.getPrivateProbabilityOperator());
|
||||
}else{
|
||||
yxHistoryMajorEnroll = map.get(key);
|
||||
for (YxHistoryMajorEnroll y : dataList) {
|
||||
YxSchoolMajor yxSchoolMajor = map1.get(y.getSchoolCode() + "_" + y.getEnrollmentCode() + "_" + y.getMajorType() + "_" + y.getCategory());
|
||||
if (yxSchoolMajor!=null) {
|
||||
if(yxSchoolMajor.getTuition()!=null){
|
||||
y.setTuition(yxSchoolMajor.getTuition().toString());
|
||||
}
|
||||
if (yxSchoolMajor.getTuition()!=null) {
|
||||
yxHistoryMajorEnroll.setTuition(yxSchoolMajor.getTuition().toString());
|
||||
if(StringUtils.isNotBlank(yxSchoolMajor.getDetail())){
|
||||
y.setDetail(yxSchoolMajor.getDetail());
|
||||
}
|
||||
if (StringUtils.isNotBlank(yxSchoolMajor.getDetail())) {
|
||||
yxHistoryMajorEnroll.setDetail(yxSchoolMajor.getDetail());
|
||||
}
|
||||
dataList.add(yxHistoryMajorEnroll);
|
||||
i++;
|
||||
}
|
||||
}catch (Exception e) {
|
||||
System.out.println(i);
|
||||
throw new JeecgBootException("导出数据有错误,第"+i+"行出错:"+e.getMessage());
|
||||
}
|
||||
|
||||
if(false){
|
||||
Set<String> notAddSet = new LinkedHashSet<>();
|
||||
Map<String,YxHistoryMajorEnroll> map =new LinkedHashMap<>();
|
||||
for (YxHistoryMajorEnroll y : historyMajorEnrollList) {
|
||||
notAddSet.add(y.getSchoolCode()+"_"+y.getEnrollmentCode()+"_"+y.getMajorType()+"_"+y.getCategory());
|
||||
map.put(y.getSchoolCode()+"_"+y.getEnrollmentCode()+"_"+y.getMajorType()+"_"+y.getCategory(),y);
|
||||
}
|
||||
List<YxSchoolMajor> schoolMajorList = yxSchoolMajorService.list(new LambdaQueryWrapper<YxSchoolMajor>()
|
||||
.eq(YxSchoolMajor::getMajorType,"体育类"));
|
||||
List<YxSchoolChild> schoolChildList = yxSchoolChildService.list();
|
||||
Map<String, String> schoolNameMap = schoolChildList.stream().collect(Collectors.toMap(YxSchoolChild::getSchoolCode, YxSchoolChild::getSchoolName));
|
||||
String schoolName = "";
|
||||
|
||||
YxHistoryMajorEnroll yxHistoryMajorEnroll = null;
|
||||
int i =0;
|
||||
try {
|
||||
String key = null;
|
||||
for (YxSchoolMajor yxSchoolMajor : schoolMajorList) {
|
||||
key = yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getEnrollmentCode()+"_"+yxSchoolMajor.getMajorType()+"_"+yxSchoolMajor.getCategory();
|
||||
if (!notAddSet.contains(key)) {
|
||||
yxHistoryMajorEnroll = new YxHistoryMajorEnroll();
|
||||
schoolName = schoolNameMap.getOrDefault(yxSchoolMajor.getSchoolCode(), "");
|
||||
BeanUtils.copyProperties(yxSchoolMajor,yxHistoryMajorEnroll);
|
||||
yxHistoryMajorEnroll.setSchoolName(schoolName);
|
||||
yxHistoryMajorEnroll.setEnrollNum(yxSchoolMajor.getPlanNum());
|
||||
yxHistoryMajorEnroll.setRulesEnrollProbability(yxSchoolMajor.getPrivateRulesEnrollProbability());
|
||||
yxHistoryMajorEnroll.setProbabilityOperator(yxSchoolMajor.getPrivateProbabilityOperator());
|
||||
}else{
|
||||
yxHistoryMajorEnroll = map.get(key);
|
||||
}
|
||||
if (yxSchoolMajor.getTuition()!=null) {
|
||||
yxHistoryMajorEnroll.setTuition(yxSchoolMajor.getTuition().toString());
|
||||
}
|
||||
if (StringUtils.isNotBlank(yxSchoolMajor.getDetail())) {
|
||||
yxHistoryMajorEnroll.setDetail(yxSchoolMajor.getDetail());
|
||||
}
|
||||
dataList.add(yxHistoryMajorEnroll);
|
||||
i++;
|
||||
}
|
||||
}catch (Exception e) {
|
||||
System.out.println(i);
|
||||
throw new JeecgBootException("导出数据有错误,第"+i+"行出错:"+e.getMessage());
|
||||
}
|
||||
}
|
||||
//Step.2 AutoPoi 导出Excel
|
||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ public class YxHistoryMajorEnroll implements Serializable {
|
|||
@ApiModelProperty(value = "录取方式运算符")
|
||||
private java.lang.String probabilityOperator;
|
||||
/**省控线*/
|
||||
//@Excel(name = "省控线", width = 15)
|
||||
@Excel(name = "省控线", width = 15)
|
||||
@ApiModelProperty(value = "省控线")
|
||||
private java.math.BigDecimal controlLine;
|
||||
/**录取线*/
|
||||
|
|
|
|||
|
|
@ -137,24 +137,28 @@ public class YxSchoolMajor implements Serializable {
|
|||
* 文化分限制
|
||||
*/
|
||||
@ApiModelProperty(value = "文化成绩限制")
|
||||
@Excel(name = "文化成绩限制", width = 15)
|
||||
private BigDecimal culturalScoreLimitation;
|
||||
|
||||
/**
|
||||
* 专业分限制
|
||||
*/
|
||||
@ApiModelProperty(value = "专业成绩限制")
|
||||
@Excel(name = "专业成绩限制", width = 15)
|
||||
private BigDecimal professionalScoreLimitation;
|
||||
|
||||
/**
|
||||
* 语文分限制
|
||||
*/
|
||||
@ApiModelProperty(value = "语文成绩限制")
|
||||
@Excel(name = "语文成绩限制", width = 15)
|
||||
private BigDecimal chineseScoreLimitation;
|
||||
|
||||
/**
|
||||
* 外语成绩限制
|
||||
*/
|
||||
@ApiModelProperty(value = "外语成绩限制")
|
||||
@Excel(name = "外语成绩限制", width = 15)
|
||||
private BigDecimal englishScoreLimitation;
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue