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

@ -213,22 +213,22 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
}
@PostMapping("/majrseTest1")
public Result<?> majrseTest1(){
public Result<?> majrseTest1() {
String majorType = "表演类";
LambdaQueryWrapper<YxHistoryMajorEnroll> helqw = new LambdaQueryWrapper<>();
helqw.eq(YxHistoryMajorEnroll::getYear,"2024");
helqw.eq(YxHistoryMajorEnroll::getYear, "2024");
helqw.eq(YxHistoryMajorEnroll::getMajorType, majorType);
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);
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);
key = yhscl.getYear() + "_" + yhscl.getCategory() + "-" + yhscl.getBatch() + "-" + yhscl.getProfessionalCategory();
batchControlLineMaps.put(key, yhscl);
}
BigDecimal culturalControlLine = null;
@ -239,19 +239,19 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
for (YxHistoryMajorEnroll recommendMajorDTO : list) {
key = "2024_" + recommendMajorDTO.getCategory();
if("高职高专".equals(recommendMajorDTO.getBatch())){
if ("高职高专".equals(recommendMajorDTO.getBatch())) {
key = key + "-" + recommendMajorDTO.getBatch();
}else{
} else {
key = key + "-本科";
}
// 判断是 音乐教育还是音乐表演 器乐/声乐
if ("音乐类".equals(majorType)) {
key = key +"-音乐类-"+ recommendMajorDTO.getMajorTypeChild();
key = key + "-音乐类-" + recommendMajorDTO.getMajorTypeChild();
if ("音乐表演".equals(recommendMajorDTO.getMajorTypeChild())) {
key += recommendMajorDTO.getMainSubjects();
}
}else if ("表演类".equals(majorType)) {
key = key +"-表演类-"+ recommendMajorDTO.getMajorTypeChild();
} else if ("表演类".equals(majorType)) {
key = key + "-表演类-" + recommendMajorDTO.getMajorTypeChild();
batchControlLineMaps.get(recommendMajorDTO.getBatch());
}
culturalControlLine = batchControlLineMaps.get(key).getCulturalScore();
@ -293,33 +293,33 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
@PostMapping(value = "/insertNewMajorList")
public Result<?> insertNewMajorList() {
LambdaQueryWrapper<YxHistoryMajorEnroll> helqw = new LambdaQueryWrapper<>();
helqw.eq(YxHistoryMajorEnroll::getYear,"2024");
helqw.eq(YxHistoryMajorEnroll::getMajorType,"美术与设计类");
helqw.eq(YxHistoryMajorEnroll::getYear, "2024");
helqw.eq(YxHistoryMajorEnroll::getMajorType, "美术与设计类");
List<YxHistoryMajorEnroll> list = yxHistoryMajorEnrollService.list(helqw);
LambdaQueryWrapper<YxSchoolMajor> smlqw = new LambdaQueryWrapper<>();
smlqw.eq(YxSchoolMajor::getMajorType,"美术与设计类");
smlqw.eq(YxSchoolMajor::getMajorType, "美术与设计类");
List<YxSchoolMajor> yxSchoolMajorList = yxSchoolMajorService.list(smlqw);
Map<String ,YxSchoolMajor> map = new HashMap<>();
Map<String, YxSchoolMajor> map = new HashMap<>();
String key = "";
String key2 = "";
for (YxSchoolMajor yxSchoolMajor : yxSchoolMajorList) {
key = "";
if ("音乐类".equals(yxSchoolMajor.getMajorType()) || "舞蹈类".equals(yxSchoolMajor.getMajorType())) {
key = yxSchoolMajor.getMajorTypeChild() + "_" + yxSchoolMajor.getMainSubjects();
key = yxSchoolMajor.getMajorTypeChild() + "_" + yxSchoolMajor.getMainSubjects();
}
key = key +"_"+ yxSchoolMajor.getSchoolCode()+"_"+ yxSchoolMajor.getMajorName() + "_" + yxSchoolMajor.getBatch() + "_" + yxSchoolMajor.getCategory();
map.put(key,yxSchoolMajor);
key = key + "_" + yxSchoolMajor.getSchoolCode() + "_" + yxSchoolMajor.getMajorName() + "_" + yxSchoolMajor.getBatch() + "_" + yxSchoolMajor.getCategory();
map.put(key, yxSchoolMajor);
}
YxSchoolMajor yxSchoolMajor = null;
List<YxSchoolMajor> saveOrUpdateList = new ArrayList<>();
for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) {
key2 = "";
if ("音乐类".equals(yxSchoolMajor.getMajorType()) || "舞蹈类".equals(yxSchoolMajor.getMajorType())) {
key2 = yxSchoolMajor.getMajorTypeChild() + "_" + yxSchoolMajor.getMainSubjects();
key2 = yxSchoolMajor.getMajorTypeChild() + "_" + yxSchoolMajor.getMainSubjects();
}
key2 = key2 +"_"+ yxHistoryMajorEnroll.getSchoolCode()+"_"+ yxHistoryMajorEnroll.getMajorName() + "_" + yxHistoryMajorEnroll.getBatch() + "_" + yxHistoryMajorEnroll.getCategory();
key2 = key2 + "_" + yxHistoryMajorEnroll.getSchoolCode() + "_" + yxHistoryMajorEnroll.getMajorName() + "_" + yxHistoryMajorEnroll.getBatch() + "_" + yxHistoryMajorEnroll.getCategory();
yxSchoolMajor = map.get(key2);
if (yxSchoolMajor == null){
if (yxSchoolMajor == null) {
yxSchoolMajor = new YxSchoolMajor();
}
yxSchoolMajor.setSchoolCode(yxHistoryMajorEnroll.getSchoolCode());
@ -343,13 +343,13 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
yxSchoolMajor.setState("2");
if ("音乐类".equals(yxSchoolMajor.getMajorType())) {
yxSchoolMajor.setMajorTypeChild(yxHistoryMajorEnroll.getMajorTypeChild());
if(StringUtils.isNotBlank(yxHistoryMajorEnroll.getMajorTypeChild()) && "音乐教育".equals(yxHistoryMajorEnroll.getMajorTypeChild())){
if (StringUtils.isNotBlank(yxHistoryMajorEnroll.getMajorTypeChild()) && "音乐教育".equals(yxHistoryMajorEnroll.getMajorTypeChild())) {
// yxSchoolMajor.setMainSubjects("音乐教育");
yxSchoolMajor.setMainSubjects("声乐,器乐");
}else if("音乐表演".equals(yxHistoryMajorEnroll.getMajorTypeChild())){
} else if ("音乐表演".equals(yxHistoryMajorEnroll.getMajorTypeChild())) {
yxSchoolMajor.setMainSubjects(yxHistoryMajorEnroll.getMainSubjects());
}
}else if("表演类".equals(yxSchoolMajor.getMajorType())){
} else if ("表演类".equals(yxSchoolMajor.getMajorType())) {
yxSchoolMajor.setMajorTypeChild(yxHistoryMajorEnroll.getMajorTypeChild());
}
yxSchoolMajor.setCreateTime(new Date());
@ -405,49 +405,49 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
.gt(YxHistoryMajorEnroll::getAdmissionLine, 1);
List<YxHistoryMajorEnroll> historyMajorEnrollList = yxHistoryMajorEnrollService.list(queryWrapper);
List<YxSchoolMajor> schoolMajorList1 = yxSchoolMajorService.list(new LambdaQueryWrapper<YxSchoolMajor>());
Map<String,YxSchoolMajor> map1 =new LinkedHashMap<>();
Map<String, YxSchoolMajor> map1 = new LinkedHashMap<>();
for (YxSchoolMajor y : schoolMajorList1) {
map1.put(y.getSchoolCode()+"_"+y.getMajorType()+"_"+y.getCategory(),y);
map1.put(y.getSchoolCode() + "_" + y.getMajorType() + "_" + y.getCategory(), y);
}
for (YxHistoryMajorEnroll y : historyMajorEnrollList) {
YxSchoolMajor yxSchoolMajor = map1.get(y.getSchoolCode() + "_" + y.getMajorType() + "_" + y.getCategory());
if (yxSchoolMajor!=null) {
if (yxSchoolMajor != null) {
continue;
}
dataList.add(y);
}
if(false){
if (false) {
Set<String> notAddSet = new LinkedHashSet<>();
Map<String,YxHistoryMajorEnroll> map =new LinkedHashMap<>();
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);
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<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;
int i = 0;
try {
String key = null;
for (YxSchoolMajor yxSchoolMajor : schoolMajorList) {
key = yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getEnrollmentCode()+"_"+yxSchoolMajor.getMajorType()+"_"+yxSchoolMajor.getCategory();
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);
BeanUtils.copyProperties(yxSchoolMajor, yxHistoryMajorEnroll);
yxHistoryMajorEnroll.setSchoolName(schoolName);
yxHistoryMajorEnroll.setEnrollNum(yxSchoolMajor.getPlanNum());
yxHistoryMajorEnroll.setRulesEnrollProbability(yxSchoolMajor.getPrivateRulesEnrollProbability());
yxHistoryMajorEnroll.setProbabilityOperator(yxSchoolMajor.getPrivateProbabilityOperator());
}else{
} else {
yxHistoryMajorEnroll = map.get(key);
}
if (yxSchoolMajor.getTuition()!=null) {
if (yxSchoolMajor.getTuition() != null) {
yxHistoryMajorEnroll.setTuition(yxSchoolMajor.getTuition().toString());
}
if (StringUtils.isNotBlank(yxSchoolMajor.getDetail())) {
@ -456,9 +456,9 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
dataList.add(yxHistoryMajorEnroll);
i++;
}
}catch (Exception e) {
} catch (Exception e) {
System.out.println(i);
throw new JeecgBootException("导出数据有错误,第"+i+"行出错:"+e.getMessage());
throw new JeecgBootException("导出数据有错误,第" + i + "行出错:" + e.getMessage());
}
}
//Step.2 AutoPoi 导出Excel
@ -476,7 +476,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
/**
* 通过excel导入数据
*/
*/
@RequiresPermissions("yx:yx_history_major_enroll:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel1(HttpServletRequest request, HttpServletResponse response) {
@ -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,);
yhsclWrapper.in(YxHistoryScoreControlLine::getBatch, "本科", "高职高专", "本科A段", "本科B段");
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);
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<>();
@ -541,11 +539,18 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
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))) {
key = yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getMajorName()+"_"+yxSchoolMajor.getBatch()+"_"+yxSchoolMajor.getCategory();
schoolMajorMap.put(key,yxSchoolMajor);
AssertUtils.notTrue(CollectionUtils.isEmpty(schoolCodeList), "未读取到学校代码");
Map<String, YxSchoolMajor> schoolMajorMap = new LinkedHashMap<>();
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<>();
for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) {
@ -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,13 +583,18 @@ 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));
// 如果录取线没有则替换为0
//AssertUtils.notNull(admissionLine, String.format("行[%s],请输入录取线", index));
if(admissionLine == null){
if (admissionLine == null) {
admissionLine = new BigDecimal(0);
}
// AssertUtils.notNull(enrollNum, String.format("行[%s],请输入招生人数", index));
@ -602,117 +613,99 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
mn = majorName.substring(0, i);
}
if(yxHistoryMajorEnroll.getBatch().contains("")){
mn+="_专";
}else{
mn+="_本";
if (yxHistoryMajorEnroll.getBatch().contains("")) {
mn += "_专";
} else {
mn += "_本";
}
major = majorMap.get(mn);
AssertUtils.notNull(major, String.format("行[%s],专业未在系统中找到", index));
if(index == 267){
if (index == 267) {
System.out.println("qvq");
}
yxHistoryMajorEnroll.setMajorCode(major.getMajorCode());
if(enrollmentCode.length() == 1){
if (enrollmentCode.length() == 1) {
enrollmentCode = "0" + enrollmentCode;
}
if(schoolCode.length() == 3){
if (schoolCode.length() == 3) {
schoolCode = "0" + schoolCode;
}else if(schoolCode.length() == 2){
} else if (schoolCode.length() == 2) {
schoolCode = "00" + schoolCode;
}else if(schoolCode.length() == 1){
} else if (schoolCode.length() == 1) {
schoolCode = "000" + schoolCode;
}
if ("提前批".equals(batch)) {
batch = "本科提前批";
if (batch.contains("提前批")) {
batch = "提前批";
}
//省控线
if (year.equals("2024")) {
if("高职高专".equals(yxHistoryMajorEnroll.getBatch())){
key = "2024_"+ category +"-高职高专";
}else{
key = "2024_"+ category +"-本科";
if (yearInt == 2024) {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = year + "_" + category + "-高职高专";
} else {
key = year + "_" + category + "-本科";
}
}else{
if("高职高专".equals(yxHistoryMajorEnroll.getBatch())){
key = year+"_" + yxHistoryMajorEnroll.getCategory() + "-" + yxHistoryMajorEnroll.getBatch();
}else{
key = year+"_" + yxHistoryMajorEnroll.getCategory() + "-"+ yxHistoryMajorEnroll.getBatch();
} else {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = year + "_" + yxHistoryMajorEnroll.getCategory() + "-" + yxHistoryMajorEnroll.getBatch();
} else {
key = year + "_" + yxHistoryMajorEnroll.getCategory() + "-" + yxHistoryMajorEnroll.getBatch();
}
}
// 判断是 音乐教育还是音乐表演 器乐/声乐
if ("音乐类".equals(majorType)) {
if(year.equals("2024")){
if("高职高专".equals(yxHistoryMajorEnroll.getBatch())){
key = "2024_"+ category +"-高职高专-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
}else{
key = "2024_"+ category +"-本科-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
if (yearInt >= 2024) {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = year + "_" + category + "-高职高专-音乐类-" + yxHistoryMajorEnroll.getMajorTypeChild();
} else {
key = year + "_" + category + "-本科-音乐类-" + yxHistoryMajorEnroll.getMajorTypeChild();
}
if ("音乐表演".equals(yxHistoryMajorEnroll.getMajorTypeChild())) {
key += yxHistoryMajorEnroll.getMainSubjects();
}
}else{
} else {
key = year + "_" + batch + "_音乐类";
}
}else if ("表演类".equals(majorType)) {
if(year.equals("2024")){
if("高职高专".equals(yxHistoryMajorEnroll.getBatch())){
key = "2024_"+ category +"-高职高专-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
}else{
key = "2024_"+ category +"-本科-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
} else if ("表演类".equals(majorType)) {
if (yearInt >= 2024) {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = year + "_" + category + "-高职高专-表演类-" + yxHistoryMajorEnroll.getMajorTypeChild();
} else {
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 +"-舞蹈类";
}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;
} else {
throw new JeecgBootException(String.format("行[%s],未识别到舞蹈类型", index));
key = key + "-表演类";
}
} else if(majorType.contains("体育")){
if (batch.contains("专科") || batch.contains("高职高专")) {
batch = "高职高专";
}else{
batch = "本科";
} else if ("舞蹈类".equals(majorType)) {
if (yearInt >= 2024) {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = year + "_" + category + "-高职高专-舞蹈类";
} else {
key = year + "_" + category + "-本科A段-舞蹈类";
}
} else {
key = key + "-" + yxHistoryMajorEnroll.getMajorTypeChild() + "";
}
key = category + "_" + batch + "_" + majorType + "_" + year;
} else {
key = category + "_" + batch + "_" + majorType + "_" + year;
}*/
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = year + "_" + category + "-高职高专-" + majorType;
} else {
key = year + "_" + category + ("体育类".equals(yxHistoryMajorEnroll.getMajorType()) ? "-本科-" : "-本科A段-") + majorType;
}
}
historyScoreControlLine = historyScoreControlLineMap.get(key);
AssertUtils.notNull(historyScoreControlLine, String.format("行[%s],未在系统中找到省控线", index));
culturalScore = historyScoreControlLine.getCulturalScore();
specialScore = historyScoreControlLine.getSpecialScore();
//换算分数
if(StringUtils.isNotBlank(probabilityOperator)){
if (StringUtils.isNotBlank(probabilityOperator)) {
String[] operators = probabilityOperator.split("\\+");
for (String operator : operators) {
if (operator.contains("")) {
@ -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);
}
}
// 判断如果库里没有这个院校的专业则添加
/*schoolMajor = new YxSchoolMajor();
if(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category)){
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();
// 该专业没有录入
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,79 +800,16 @@ 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 {
oldYxHistoryMajorEnroll = yxHistoryMajorEnrollService.getOne(yxHistoryMajorEnrollLambdaQueryWrapper);
}catch (TooManyResultsException e){
} catch (TooManyResultsException e) {
throw new JeecgBootException("该数据已存在多条该历年数据");
}
if (oldYxHistoryMajorEnroll == null) {
// updateList.add(yxHistoryMajorEnroll);
updateList.add(yxHistoryMajorEnroll);
} else {
oldYxHistoryMajorEnroll.setRulesEnrollProbability(yxHistoryMajorEnroll.getRulesEnrollProbability());
oldYxHistoryMajorEnroll.setSchoolName(schoolName);
@ -853,14 +820,14 @@ 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);
}
}
if (CollectionUtils.isNotEmpty(updateList)) {
yxHistoryMajorEnrollService.saveOrUpdateBatch(updateList);
}
if(CollectionUtils.isNotEmpty(schoolMajorList)){
if (CollectionUtils.isNotEmpty(schoolMajorList)) {
yxSchoolMajorService.saveOrUpdateBatch(schoolMajorList);
}
log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
@ -905,14 +872,14 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
// Map<String, YxHistoryScoreControlLine> historyScoreControlLineMap = yxHistoryScoreControlLineService.allMaps();
Map<String, YxHistoryScoreControlLine> historyScoreControlLineMap = new LinkedHashMap<>();
LambdaQueryWrapper<YxHistoryScoreControlLine> yhsclWrapper = new LambdaQueryWrapper<>();
yhsclWrapper.in(YxHistoryScoreControlLine::getBatch,"本科","高职高专","本科A段","本科B段");
yhsclWrapper.in(YxHistoryScoreControlLine::getBatch, "本科", "高职高专", "本科A段", "本科B段");
// yhsclWrapper.eq(YxHistoryScoreControlLine::getYear,"2024");
// yhsclWrapper.like(YxHistoryScoreControlLine::getProfessionalCategory,);
List<YxHistoryScoreControlLine> yhsclList = yxHistoryScoreControlLineService.list(yhsclWrapper);
String key = null;
for (YxHistoryScoreControlLine yhscl : yhsclList) {
key = yhscl.getYear()+"_" +yhscl.getCategory()+"-"+ yhscl.getBatch()+"-"+yhscl.getProfessionalCategory();
historyScoreControlLineMap.put(key,yhscl);
key = yhscl.getYear() + "_" + yhscl.getCategory() + "-" + yhscl.getBatch() + "-" + yhscl.getProfessionalCategory();
historyScoreControlLineMap.put(key, yhscl);
}
Map<String, YxMajor> majorMap = yxMajorService.mapsForMajorNameBatch();
@ -948,11 +915,11 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
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<>();
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();
schoolMajorMap.put(key,yxSchoolMajor);
key = yxSchoolMajor.getSchoolCode() + "_" + yxSchoolMajor.getMajorName() + "_" + yxSchoolMajor.getBatch() + "_" + yxSchoolMajor.getCategory();
schoolMajorMap.put(key, yxSchoolMajor);
}
LambdaQueryWrapper<YxSchoolMajor> smQueryWrapper = new LambdaQueryWrapper<>();
for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) {
@ -990,7 +957,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
// 如果录取线没有则替换为0
//AssertUtils.notNull(admissionLine, String.format("行[%s],请输入录取线", index));
if(admissionLine == null){
if (admissionLine == null) {
admissionLine = new BigDecimal(0);
}
// AssertUtils.notNull(enrollNum, String.format("行[%s],请输入招生人数", index));
@ -1009,29 +976,29 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
mn = majorName.substring(0, i);
}
if(yxHistoryMajorEnroll.getBatch().contains("")){
mn+="_专";
}else{
mn+="_本";
if (yxHistoryMajorEnroll.getBatch().contains("")) {
mn += "_专";
} else {
mn += "_本";
}
major = majorMap.get(mn);
AssertUtils.notNull(major, String.format("行[%s],专业未在系统中找到", index));
if(index == 267){
if (index == 267) {
System.out.println("qvq");
}
yxHistoryMajorEnroll.setMajorCode(major.getMajorCode());
if(enrollmentCode.length() == 1){
if (enrollmentCode.length() == 1) {
enrollmentCode = "0" + enrollmentCode;
}
if(schoolCode.length() == 3){
if (schoolCode.length() == 3) {
schoolCode = "0" + schoolCode;
}else if(schoolCode.length() == 2){
} else if (schoolCode.length() == 2) {
schoolCode = "00" + schoolCode;
}else if(schoolCode.length() == 1){
} else if (schoolCode.length() == 1) {
schoolCode = "000" + schoolCode;
}
@ -1041,26 +1008,26 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
//省控线
if (year.equals("2024")) {
if("高职高专".equals(yxHistoryMajorEnroll.getBatch())){
key = "2024_"+ category +"-高职高专";
}else{
key = "2024_"+ category +"-本科";
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = "2024_" + category + "-高职高专";
} else {
key = "2024_" + category + "-本科";
}
}else{
if("高职高专".equals(yxHistoryMajorEnroll.getBatch())){
key = year+"_" + yxHistoryMajorEnroll.getCategory() + "-" + yxHistoryMajorEnroll.getBatch();
}else{
key = year+"_" + yxHistoryMajorEnroll.getCategory() + "-"+ yxHistoryMajorEnroll.getBatch();
} else {
if ("高职高专".equals(yxHistoryMajorEnroll.getBatch())) {
key = year + "_" + yxHistoryMajorEnroll.getCategory() + "-" + yxHistoryMajorEnroll.getBatch();
} else {
key = year + "_" + yxHistoryMajorEnroll.getCategory() + "-" + yxHistoryMajorEnroll.getBatch();
}
}
if("体育".contains(yxHistoryMajorEnroll.getMajorType())){
if(batch.contains("专科") || batch.contains("高职高专")){
if ("体育".contains(yxHistoryMajorEnroll.getMajorType())) {
if (batch.contains("专科") || batch.contains("高职高专")) {
yxHistoryMajorEnroll.setBatch("高职高专");
}else {
} else {
yxHistoryMajorEnroll.setBatch("本科");
}
}else if (batch.contains("提前")) {
} else if (batch.contains("提前")) {
yxHistoryMajorEnroll.setBatch("提前批");
}
@ -1070,7 +1037,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
smQueryWrapper.eq(YxSchoolMajor::getSchoolCode, schoolCode);
smQueryWrapper.eq(YxSchoolMajor::getEnrollmentCode, enrollmentCode);
smQueryWrapper.eq(YxSchoolMajor::getMajorName, majorName);
smQueryWrapper.eq(YxSchoolMajor::getBatch, batch);
smQueryWrapper.eq(YxSchoolMajor::getBatch, batch);
smQueryWrapper.eq(YxSchoolMajor::getCategory, category);
smQueryWrapper.eq(YxSchoolMajor::getMajorType, majorType);
@ -1083,8 +1050,8 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch, batch.contains("提前批") ? "提前批" : batch);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getCategory, category);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorType, majorType);
if(majorType.equals("音乐类") || majorType.equals("表演类")){
if(StringUtils.isNotBlank(majorTypeChild)){
if (majorType.equals("音乐类") || majorType.equals("表演类")) {
if (StringUtils.isNotBlank(majorTypeChild)) {
smQueryWrapper.eq(YxSchoolMajor::getMajorTypeChild, majorTypeChild);
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorTypeChild, majorTypeChild);
}
@ -1095,16 +1062,16 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
}
schoolMajor = yxSchoolMajorService.getOne(smQueryWrapper);
if(schoolMajor!=null){
if (schoolMajor != null) {
schoolMajor.setBatch("本科A段");
schoolMajorList.add(schoolMajor);
}else{
} else {
System.out.println("不存在");
}
try {
oldYxHistoryMajorEnroll = yxHistoryMajorEnrollService.getOne(yxHistoryMajorEnrollLambdaQueryWrapper);
}catch (TooManyResultsException e){
} catch (TooManyResultsException e) {
throw new JeecgBootException("该数据已存在多条该历年数据");
}
@ -1119,7 +1086,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
if (CollectionUtils.isNotEmpty(updateList)) {
yxHistoryMajorEnrollService.saveOrUpdateBatch(updateList);
}
if(CollectionUtils.isNotEmpty(schoolMajorList)){
if (CollectionUtils.isNotEmpty(schoolMajorList)) {
yxSchoolMajorService.saveOrUpdateBatch(schoolMajorList);
}
log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");

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;
}