This commit is contained in:
zhouwentao 2025-06-13 21:06:07 +08:00
parent 680cfa6257
commit f1bc00a5ae
2 changed files with 65 additions and 48 deletions

View File

@ -214,57 +214,74 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
@PostMapping("/majrseTest1") @PostMapping("/majrseTest1")
public Result<?> majrseTest1(){ public Result<?> majrseTest1(){
String majorType = "音乐类";
LambdaQueryWrapper<YxHistoryMajorEnroll> helqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<YxHistoryMajorEnroll> helqw = new LambdaQueryWrapper<>();
List<YxHistoryMajorEnroll> historyMajorEnrollList = yxHistoryMajorEnrollService.duplicateList(); helqw.eq(YxHistoryMajorEnroll::getYear,"2024");
List<YxHistoryMajorEnroll> list = null; helqw.eq(YxHistoryMajorEnroll::getMajorType, majorType);
for (YxHistoryMajorEnroll yxHistoryMajorEnroll : historyMajorEnrollList) {
yxHistoryMajorEnroll.getSchoolCode();
helqw.clear();
helqw.eq(YxHistoryMajorEnroll::getSchoolCode,yxHistoryMajorEnroll.getSchoolCode());
helqw.eq(YxHistoryMajorEnroll::getMajorName,yxHistoryMajorEnroll.getMajorName());
helqw.eq(YxHistoryMajorEnroll::getCategory,yxHistoryMajorEnroll.getCategory());
helqw.eq(YxHistoryMajorEnroll::getBatch,yxHistoryMajorEnroll.getBatch());
helqw.eq(YxHistoryMajorEnroll::getMajorType,yxHistoryMajorEnroll.getMajorType());
helqw.eq(YxHistoryMajorEnroll::getYear,yxHistoryMajorEnroll.getYear());
list = yxHistoryMajorEnrollService.list(helqw);
for (YxHistoryMajorEnroll historyMajorEnroll : list) {
if (StringUtils.isNotBlank(historyMajorEnroll.getDetail())) {
String s = SiliconFlowUtil.callSiliconFlowAPI(historyMajorEnroll.getDetail());
s = s.replace("\n","");
if (!"null".equals(s)) {
System.out.println(s);
historyMajorEnroll.setMajorName(historyMajorEnroll.getMajorName()+""+s+"");
yxHistoryMajorEnrollService.updateById(historyMajorEnroll);
}
// String[] split = historyMajorEnroll.getDetail().split("只招收");
// System.out.println(split);
// if(split.length == 1){
// split = historyMajorEnroll.getDetail().split("只招");
// }
//
// if(split.length == 1){
// if(historyMajorEnroll.getDetail().split("").length>1){
// split = historyMajorEnroll.getDetail().split("");
// }else if(historyMajorEnroll.getDetail().split(";").length>1){
// split = historyMajorEnroll.getDetail().split(";");
// }
// }
//
// if(split.length>1){
// String[] split1 = null;
// if(split[1].split("\\)").length>1){
// split1 = split1[0].split("\\)");
// }else if(split[1].split("\\").length==1){
// split1 = split[1].split("\\");
// }
// if(split1.length>0){
// historyMajorEnroll.setMajorName(historyMajorEnroll.getMajorName()+""+ split1[0]+"");
// yxHistoryMajorEnrollService.updateById(historyMajorEnroll);
// }
// }
Map<String, YxHistoryScoreControlLine> batchControlLineMaps = new LinkedHashMap<>();
LambdaQueryWrapper<YxHistoryScoreControlLine> yhsclWrapper = new LambdaQueryWrapper<>();
yhsclWrapper.in(YxHistoryScoreControlLine::getBatch,"本科","高职高专");
yhsclWrapper.eq(YxHistoryScoreControlLine::getYear,"2024");
yhsclWrapper.like(YxHistoryScoreControlLine::getProfessionalCategory,majorType);
List<YxHistoryScoreControlLine> yhsclList = yxHistoryScoreControlLineService.list(yhsclWrapper);
String key = null;
for (YxHistoryScoreControlLine yhscl : yhsclList) {
key = yhscl.getYear()+"_" +yhscl.getCategory()+"-"+ yhscl.getBatch()+"-"+yhscl.getProfessionalCategory();
batchControlLineMaps.put(key,yhscl);
}
BigDecimal culturalControlLine = null;
BigDecimal specialControlLine = null;
BigDecimal wenhuaBili = null;
BigDecimal zhuanyeBili = null;
List<YxHistoryMajorEnroll> list = yxHistoryMajorEnrollService.list(helqw);
for (YxHistoryMajorEnroll recommendMajorDTO : list) {
key = "2024_" + recommendMajorDTO.getCategory();
if("高职高专".equals(recommendMajorDTO.getBatch())){
key = key + "-" + recommendMajorDTO.getBatch();
}else{
key = key + "-本科";
}
// 判断是 音乐教育还是音乐表演 器乐/声乐
if ("音乐类".equals(majorType)) {
key = key +"-音乐类-"+ recommendMajorDTO.getMajorTypeChild();
if ("音乐表演".equals(recommendMajorDTO.getMajorTypeChild())) {
key += recommendMajorDTO.getMainSubjects();
} }
} }
culturalControlLine = batchControlLineMaps.get(key).getCulturalScore();
specialControlLine = batchControlLineMaps.get(key).getSpecialScore();
String[] operators = recommendMajorDTO.getProbabilityOperator().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(recommendMajorDTO.getRulesEnrollProbability()) || "文过专排主科".equals(recommendMajorDTO.getRulesEnrollProbability())) {
BigDecimal multiply = specialControlLine.multiply(zhuanyeBili);
recommendMajorDTO.setControlLine(multiply);
recommendMajorDTO.setRulesEnrollProbability("文过专排");
} else if ("专过文排".equals(recommendMajorDTO.getRulesEnrollProbability())) {
BigDecimal multiply = culturalControlLine.multiply(wenhuaBili);
recommendMajorDTO.setControlLine(multiply);
recommendMajorDTO.setRulesEnrollProbability("专过文排");
} else if ("其他计算办法".equals(recommendMajorDTO.getRulesEnrollProbability())) {
recommendMajorDTO.setRulesEnrollProbability("其他计算办法");
} else {
if (wenhuaBili == null || zhuanyeBili == null) {
wenhuaBili = YxConstant.bigDecimal100;
zhuanyeBili = YxConstant.bigDecimal100;
}
recommendMajorDTO.setControlLine((culturalControlLine.multiply(wenhuaBili)).add((specialControlLine.multiply(zhuanyeBili))));
// recommendMajorDTO.setRulesEnrollProbability(recommendMajorDTO.getRulesEnrollProbability());
}
yxHistoryMajorEnrollService.updateById(recommendMajorDTO);
} }
return Result.OK("操作成功"); return Result.OK("操作成功");
} }

View File

@ -375,7 +375,7 @@ public class MusicService {
historyMajorEnrollList = recommendMajorDTO.getHistoryMajorEnrollList(); historyMajorEnrollList = recommendMajorDTO.getHistoryMajorEnrollList();
rulesEnrollProbability = recommendMajorDTO.getPrivateRulesEnrollProbability(); rulesEnrollProbability = recommendMajorDTO.getPrivateRulesEnrollProbability();
probabilityOperator = recommendMajorDTO.getPrivateProbabilityOperator(); probabilityOperator = recommendMajorDTO.getPrivateProbabilityOperator();
if ("6316".equals(recommendMajorDTO.getSchoolCode()) && "表演艺术".equals(recommendMajorDTO.getMajorName())) { if ("6782".equals(recommendMajorDTO.getSchoolCode()) && "流行音乐(声乐)".equals(recommendMajorDTO.getMajorName())) {
System.out.println("111"); System.out.println("111");
} }
if(index == 217){ if(index == 217){