This commit is contained in:
zhouwentao 2025-12-03 11:17:55 +08:00
parent 8c4afa1fa1
commit 209fd451e0
3 changed files with 210 additions and 238 deletions

View File

@ -17,18 +17,18 @@ public class YxConstant {
/**
* 当前年
*/
public static final String nowYear = "2025";
public static final String nowYear = "2026";
/**
* 使用省控线年份
*/
public static String historyControlLineYear = "2025";
public static String historyControlLineYear = "2026";
/**
* 旧日期
*/
public static final List<String> oldYearList = Arrays.asList("2024", "2023", "2022");
public static final List<String> oldYearList = Arrays.asList("2025", "2024", "2023", "2022");
public static final List<String> showOldYearList = Arrays.asList("2024", "2023", "2022", "2021");
public static final List<String> showOldYearList = Arrays.asList("2025", "2024", "2023", "2022", "2021");
public static List<String> cankaoMajorTypeList = Arrays.asList("音乐类", "舞蹈类", "播音与主持类", "表演类", "戏曲类");

View File

@ -495,22 +495,18 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
int index = 0;
try {
//加载省控线
// Map<String, YxHistoryScoreControlLine> historyScoreControlLineMap = yxHistoryScoreControlLineService.allMaps();
Map<String, YxHistoryScoreControlLine> historyScoreControlLineMap = new LinkedHashMap<>();
LambdaQueryWrapper<YxHistoryScoreControlLine> yhsclWrapper = new LambdaQueryWrapper<>();
yhsclWrapper.in(YxHistoryScoreControlLine::getBatch, "本科", "高职高专", "本科A段", "本科B段");
// yhsclWrapper.eq(YxHistoryScoreControlLine::getYear,"2024");
// yhsclWrapper.like(YxHistoryScoreControlLine::getProfessionalCategory,);
List<YxHistoryScoreControlLine> yhsclList = yxHistoryScoreControlLineService.list(yhsclWrapper);
String key = null;
String key2 = null;
for (YxHistoryScoreControlLine yhscl : yhsclList) {
key = yhscl.getYear() + "_" + yhscl.getCategory() + "-" + yhscl.getBatch() + "-" + yhscl.getProfessionalCategory();
historyScoreControlLineMap.put(key, yhscl);
}
Map<String, YxMajor> majorMap = yxMajorService.mapsForMajorNameBatch();
//Map<String, YxSchool> schoolNameMap = yxSchoolService.mapsForSchoolName();
//Collection<YxSchool> schoolCodeList = schoolNameMap.values();
String schoolCode = null;
String schoolName = null;
String majorName = null, mn = null;
@ -518,6 +514,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
String batch = null;
String enrollmentCode = null;
String year = null;
int yearInt = 0;
String category = null;
String rulesEnrollProbability = null;
String probabilityOperator = null;
@ -533,6 +530,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
String mainSubjects = null;
YxMajor major = null;
YxSchoolMajor schoolMajor = null;
String sfxz = null;
YxHistoryScoreControlLine historyScoreControlLine = null;
YxHistoryMajorEnroll oldYxHistoryMajorEnroll = null;
LambdaQueryWrapper<YxHistoryMajorEnroll> yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>();
@ -543,8 +541,15 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
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))) {
key = yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getMajorName()+"_"+yxSchoolMajor.getBatch()+"_"+yxSchoolMajor.getCategory();
List<YxSchoolMajor> schoolMajorListOld = yxSchoolMajorService.list(new LambdaQueryWrapper<YxSchoolMajor>().in(YxSchoolMajor::getSchoolCode, schoolCodeList));
for (YxSchoolMajor yxSchoolMajor : schoolMajorListOld) {
key = yxSchoolMajor.getSchoolCode() + "_" + yxSchoolMajor.getMajorName() + "_" + yxSchoolMajor.getBatch() + "_" + yxSchoolMajor.getCategory() + "_" + yxSchoolMajor.getMajorType();
if ("音乐类".equals(yxSchoolMajor.getMajorType()) || "表演类".equals(yxSchoolMajor.getMajorType())) {
key += "_" + yxSchoolMajor.getMajorTypeChild();
if (StringUtils.isNotBlank(yxSchoolMajor.getMainSubjects()) && !"音乐教育".equals(yxSchoolMajor.getMajorTypeChild())) {
key += "_" + yxSchoolMajor.getMainSubjects();
}
}
schoolMajorMap.put(key, yxSchoolMajor);
}
LambdaQueryWrapper<YxSchoolMajor> smQueryWrapper = new LambdaQueryWrapper<>();
@ -569,6 +574,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
detail = yxHistoryMajorEnroll.getDetail();//备注
majorTypeChild = yxHistoryMajorEnroll.getMajorTypeChild();
mainSubjects = yxHistoryMajorEnroll.getMainSubjects();
sfxz = yxHistoryMajorEnroll.getSfxz();
AssertUtils.notEmpty(schoolCode, String.format("行[%s],请输入学校代码", index));
AssertUtils.notEmpty(schoolName, String.format("行[%s],请输入学校名称", index));
AssertUtils.notEmpty(batch, String.format("行[%s],请输入批次", index));
@ -577,6 +583,11 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
AssertUtils.notEmpty(majorType, String.format("行[%s],请输入专业类型", index));
//=========================================================================
AssertUtils.notEmpty(year, String.format("行[%s],请输入年份", index));
try {
yearInt = Integer.parseInt(year);
} catch (Exception e) {
throw new RuntimeException(String.format("行[%s],年份有误", index));
}
AssertUtils.notEmpty(category, String.format("行[%s],请输入科类", index));
//AssertUtils.notEmpty(rulesEnrollProbability, String.format("行[%s],请输入录取方式", index));
// AssertUtils.notEmpty(probabilityOperator, String.format("行[%s],请输入录取方式运算符", index));
@ -628,16 +639,16 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
schoolCode = "000" + schoolCode;
}
if ("提前批".equals(batch)) {
batch = "本科提前批";
if (batch.contains("提前批")) {
batch = "提前批";
}
//省控线
if (year.equals("2024")) {
if (yearInt == 2024) {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = "2024_"+ category +"-高职高专";
key = year + "_" + category + "-高职高专";
} else {
key = "2024_"+ category +"-本科";
key = year + "_" + category + "-本科";
}
} else {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
@ -649,11 +660,11 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
// 判断是 音乐教育还是音乐表演 器乐/声乐
if ("音乐类".equals(majorType)) {
if(year.equals("2024")){
if (yearInt >= 2024) {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = "2024_"+ category +"-高职高专-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
key = year + "_" + category + "-高职高专-音乐类-" + yxHistoryMajorEnroll.getMajorTypeChild();
} else {
key = "2024_"+ category +"-本科-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
key = year + "_" + category + "-本科-音乐类-" + yxHistoryMajorEnroll.getMajorTypeChild();
}
if ("音乐表演".equals(yxHistoryMajorEnroll.getMajorTypeChild())) {
key += yxHistoryMajorEnroll.getMainSubjects();
@ -662,50 +673,32 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
key = year + "_" + batch + "_音乐类";
}
} else if ("表演类".equals(majorType)) {
if(year.equals("2024")){
if (yearInt >= 2024) {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = "2024_"+ category +"-高职高专-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
key = year + "_" + category + "-高职高专-表演类-" + yxHistoryMajorEnroll.getMajorTypeChild();
} else {
key = "2024_"+ category +"-本科-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
key = year + "_" + category + "-本科-表演类-" + yxHistoryMajorEnroll.getMajorTypeChild();
}
if ("音乐表演".equals(yxHistoryMajorEnroll.getMajorTypeChild())) {
key += yxHistoryMajorEnroll.getMainSubjects();
}
key = key +"-表演类-" + yxHistoryMajorEnroll.getMajorTypeChild();
} else {
key = key + "-表演类";
}
} else if ("舞蹈类".equals(majorType)) {
if(year.equals("2024")){
key = key +"-舞蹈类";
if (yearInt >= 2024) {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = year + "_" + category + "-高职高专-舞蹈类";
} else {
key = year + "_" + category + "-本科A段-舞蹈类";
}
} else {
key = key + "-" + yxHistoryMajorEnroll.getMajorTypeChild() + "";
}
} else {
key = key + "-" + majorType;
}
/*culturalControlLine = batchControlLineMaps.get(key).getCulturalScore();
specialControlLine = batchControlLineMaps.get(key).getSpecialScore();*/
/*if ("舞蹈类".equals(majorType) && Integer.parseInt(year) <= 2023) {
AssertUtils.notEmpty(mainSubjects, String.format("行[%s],未识别到舞蹈类型", index));
if (mainSubjects.contains("艺术舞蹈")) {
key = category + "_" + batch + "_" + "艺术舞蹈类" + "_" + year;
} else if (mainSubjects.contains("国际标准")) {
key = category + "_" + batch + "_" + "国际标准舞类" + "_" + year;
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = year + "_" + category + "-高职高专-" + majorType;
} else {
throw new JeecgBootException(String.format("行[%s],未识别到舞蹈类型", index));
key = year + "_" + category + ("体育类".equals(yxHistoryMajorEnroll.getMajorType()) ? "-本科-" : "-本科A段-") + majorType;
}
} 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("行[%s],未在系统中找到省控线", index));
@ -742,21 +735,58 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
}
}
if ("体育".contains(yxHistoryMajorEnroll.getMajorType())) {
if (batch.contains("专科") || batch.contains("高职高专")) {
yxHistoryMajorEnroll.setBatch("高职高专");
} else {
yxHistoryMajorEnroll.setBatch("本科");
}
} else if (batch.contains("提前")) {
yxHistoryMajorEnroll.setBatch("提前批");
}
//查询库中是否有该条数据
yxHistoryMajorEnrollLambdaQueryWrapper.clear();
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getYear, year);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorName, majorName);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getEnrollmentCode, enrollmentCode);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getSchoolCode, schoolCode);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch, batch.contains("提前批") ? "提前批" : batch);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getCategory, category);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorType, majorType);
if (majorType.equals("音乐类") || majorType.equals("表演类")) {
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorTypeChild, majorTypeChild);
if (StringUtils.isNotBlank(mainSubjects)) {
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMainSubjects, mainSubjects);
}
}
key2 = schoolCode + "_" + majorName + "_" + batch + "_" + category + "_" + majorType;
if (majorType.equals("音乐类") || majorType.equals("表演类")) {
key2 += "_" + majorTypeChild;
if (StringUtils.isNotBlank(mainSubjects) && !"音乐教育".equals(majorTypeChild)) {
key2 += "_" + mainSubjects;
}
}
schoolMajor = schoolMajorMap.get(key2);
// AssertUtils.notNull(schoolMajor, String.format("行[%s],未在系统中找到该院校", index));
if (schoolMajor != null) {
schoolMajor.setState("".equals(sfxz) ? "2" :"1");
schoolMajor.setBatch(yxHistoryMajorEnroll.getBatch());
schoolMajorList.add(schoolMajor);
}else{
// 判断如果库里没有这个院校的专业则添加
/*schoolMajor = new YxSchoolMajor();
if(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category)){
schoolMajor = new YxSchoolMajor();
// 该专业没有录入
schoolMajor.setState("1");
schoolMajor.setState("".equals(sfxz) ? "2" :"1");
schoolMajor.setSchoolCode(schoolCode);
schoolMajor.setMajorCode(major.getMajorCode());
schoolMajor.setMajorName(majorName);
schoolMajor.setEnrollmentCode(enrollmentCode);
// 提取学费
if (StringUtils.isNotBlank(yxHistoryMajorEnroll.getTuition())) {
schoolMajor.setTuition(yxHistoryMajorEnroll.getTuition().split(";")[0]);
schoolMajor.setTuition(yxHistoryMajorEnroll.getTuition().split("")[0]);
}
// schoolMajor.setTuition(yxHistoryMajorEnroll.getTuition());
schoolMajor.setDetail(detail);
schoolMajor.setCategory(category);
schoolMajor.setRulesEnrollProbabilitySx(rulesEnrollProbability);
@ -770,69 +800,6 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
schoolMajor.setPlanNum(enrollNum);
schoolMajor.setMainSubjects(mainSubjects);
schoolMajorList.add(schoolMajor);
}else{
// 如果当前历年数据的年份是当前上一年则代表可以更新当前院校专业数据
if((nowYear - 1+"").equals(year)){
// 获取院校专业信息
schoolMajor = schoolMajorMap.get(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category);
if(index == 97){
System.out.println("1");
}
if (StringUtils.isBlank(schoolMajor.getPrivateProbabilityOperator()) || !schoolMajor.getPrivateProbabilityOperator().equals(probabilityOperator)){
// 更新专业的录取方式
schoolMajor.setRulesEnrollProbability(rulesEnrollProbability);
schoolMajor.setRulesEnrollProbabilitySx(rulesEnrollProbability);
schoolMajor.setPrivateRulesEnrollProbability(rulesEnrollProbability);
schoolMajor.setProbabilityOperator(probabilityOperator);
schoolMajor.setPrivateProbabilityOperator(probabilityOperator);
schoolMajorList.add(schoolMajor);
}
}
}*/
// AssertUtils.notTrue(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category), String.format("行[%s],未在系统中找到招录专业", index));
if("体育".contains(yxHistoryMajorEnroll.getMajorType())){
if(batch.contains("专科") || batch.contains("高职高专")){
yxHistoryMajorEnroll.setBatch("高职高专");
}else {
yxHistoryMajorEnroll.setBatch("本科");
}
}else if (batch.contains("提前")) {
yxHistoryMajorEnroll.setBatch("提前批");
}
// 查询招录信息
schoolMajor = new YxSchoolMajor();
smQueryWrapper.clear();
smQueryWrapper.eq(YxSchoolMajor::getSchoolCode, schoolCode);
smQueryWrapper.eq(YxSchoolMajor::getMajorName, majorName);
smQueryWrapper.eq(YxSchoolMajor::getBatch, batch);
smQueryWrapper.eq(YxSchoolMajor::getCategory, category);
smQueryWrapper.eq(YxSchoolMajor::getMajorType, majorType);
//查询库中是否有该条数据
yxHistoryMajorEnrollLambdaQueryWrapper.clear();
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getYear, year);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorName, majorName);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getEnrollmentCode, enrollmentCode);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getSchoolCode, schoolCode);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch, batch.contains("提前批") ? "提前批" : batch);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getCategory, category);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorType, majorType);
if(majorType.equals("音乐类") || majorType.equals("表演类")){
smQueryWrapper.eq(YxSchoolMajor::getMajorTypeChild, majorTypeChild);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorTypeChild, majorTypeChild);
if (StringUtils.isNotBlank(mainSubjects)) {
smQueryWrapper.eq(YxSchoolMajor::getMainSubjects, mainSubjects);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMainSubjects, mainSubjects);
}
}
schoolMajor = yxSchoolMajorService.getOne(smQueryWrapper);
if(schoolMajor!=null){
schoolMajor.setBatch("本科B段");
schoolMajorList.add(schoolMajor);
}
try {
@ -842,7 +809,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
}
if (oldYxHistoryMajorEnroll == null) {
// updateList.add(yxHistoryMajorEnroll);
updateList.add(yxHistoryMajorEnroll);
} else {
oldYxHistoryMajorEnroll.setRulesEnrollProbability(yxHistoryMajorEnroll.getRulesEnrollProbability());
oldYxHistoryMajorEnroll.setSchoolName(schoolName);
@ -853,7 +820,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
oldYxHistoryMajorEnroll.setAdmissionLine(admissionLine);
oldYxHistoryMajorEnroll.setEnrollNum(enrollNum);
oldYxHistoryMajorEnroll.setControlLine(yxHistoryMajorEnroll.getControlLine());
oldYxHistoryMajorEnroll.setBatch("本科B段");
oldYxHistoryMajorEnroll.setBatch(yxHistoryMajorEnroll.getBatch());
updateList.add(oldYxHistoryMajorEnroll);
}
}

View File

@ -143,4 +143,9 @@ public class YxHistoryMajorEnroll implements Serializable {
/**实际投递人数*/
@ApiModelProperty(value = "实际投递人数")
private Integer actualPitcherNum;
/**是否新增*/
@TableField(exist = false)
@Excel(name = "是否新增", width = 15)
@ApiModelProperty(value = "是否新增")
private String sfxz;
}