This commit is contained in:
zhouwentao 2025-06-02 15:00:06 +08:00
parent 14173a1f08
commit 87a68e6d2e
13 changed files with 280 additions and 696 deletions

View File

@ -24,7 +24,7 @@ public class YxConstant {
/** /**
* 旧日期 * 旧日期
*/ */
public static final List<String> oldYearList = Arrays.asList("2024", "2023", "2022", "2021"); public static final List<String> oldYearList = Arrays.asList("2024", "2023", "2022");
public static final List<String> showOldYearList = Arrays.asList("2024", "2023", "2022", "2021"); public static final List<String> showOldYearList = Arrays.asList("2024", "2023", "2022", "2021");
@ -47,6 +47,8 @@ public class YxConstant {
public static BigDecimal bigDecimal85x = new BigDecimal("85"); public static BigDecimal bigDecimal85x = new BigDecimal("85");
public static BigDecimal bigDecimal80x = new BigDecimal("80"); public static BigDecimal bigDecimal80x = new BigDecimal("80");
public static BigDecimal bigDecimal05 = new BigDecimal("0.5"); public static BigDecimal bigDecimal05 = new BigDecimal("0.5");
public static BigDecimal bigDecimal5 = new BigDecimal("5");
public static BigDecimal bigDecimal075 = new BigDecimal("0.75"); public static BigDecimal bigDecimal075 = new BigDecimal("0.75");
public static BigDecimal bigDecimal2 = new BigDecimal("2"); public static BigDecimal bigDecimal2 = new BigDecimal("2");

View File

@ -68,7 +68,7 @@ public class YxCalculationMajorController extends JeecgController<YxCalculationM
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
QueryWrapper<YxCalculationMajor> queryWrapper = QueryGenerator.initQueryWrapper(yxCalculationMajor, req.getParameterMap()); QueryWrapper<YxCalculationMajor> queryWrapper = QueryGenerator.initQueryWrapper(yxCalculationMajor, req.getParameterMap());
Page<YxCalculationMajor> page = new Page<YxCalculationMajor>(pageNo, pageSize); Page<YxCalculationMajor> page = new Page<>(pageNo, pageSize);
IPage<YxCalculationMajor> pageList = yxCalculationMajorService.page(page, queryWrapper); IPage<YxCalculationMajor> pageList = yxCalculationMajorService.page(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);
} }

View File

@ -79,7 +79,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
QueryWrapper<YxHistoryMajorEnroll> queryWrapper = QueryGenerator.initQueryWrapper(yxHistoryMajorEnroll, req.getParameterMap()); QueryWrapper<YxHistoryMajorEnroll> queryWrapper = QueryGenerator.initQueryWrapper(yxHistoryMajorEnroll, req.getParameterMap());
Page<YxHistoryMajorEnroll> page = new Page<YxHistoryMajorEnroll>(pageNo, pageSize); Page<YxHistoryMajorEnroll> page = new Page<>(pageNo, pageSize);
queryWrapper.orderByDesc("create_time", "update_time"); queryWrapper.orderByDesc("create_time", "update_time");
IPage<YxHistoryMajorEnroll> pageList = yxHistoryMajorEnrollService.page(page, queryWrapper); IPage<YxHistoryMajorEnroll> pageList = yxHistoryMajorEnrollService.page(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);
@ -449,7 +449,6 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
batch = "本科提前批"; batch = "本科提前批";
} }
//省控线 //省控线
//文科_本科A段_美术与设计_2023
if ("舞蹈类".equals(majorType) && Integer.parseInt(year) <= 2023) { if ("舞蹈类".equals(majorType) && Integer.parseInt(year) <= 2023) {
AssertUtils.notEmpty(mainSubjects, String.format("行[%s],未识别到舞蹈类型", index)); AssertUtils.notEmpty(mainSubjects, String.format("行[%s],未识别到舞蹈类型", index));
if (mainSubjects.contains("艺术舞蹈")) { if (mainSubjects.contains("艺术舞蹈")) {
@ -495,7 +494,10 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
schoolMajor.setMajorName(majorName); schoolMajor.setMajorName(majorName);
schoolMajor.setEnrollmentCode(enrollmentCode); schoolMajor.setEnrollmentCode(enrollmentCode);
// 提取学费 // 提取学费
schoolMajor.setTuition(yxHistoryMajorEnroll.getTuition()); if (StringUtils.isNotBlank(yxHistoryMajorEnroll.getTuition())) {
schoolMajor.setTuition(yxHistoryMajorEnroll.getTuition().split(";")[0]);
}
// schoolMajor.setTuition(yxHistoryMajorEnroll.getTuition());
schoolMajor.setDetail(detail); schoolMajor.setDetail(detail);
schoolMajor.setCategory(category); schoolMajor.setCategory(category);
schoolMajor.setRulesEnrollProbabilitySx(rulesEnrollProbability); schoolMajor.setRulesEnrollProbabilitySx(rulesEnrollProbability);

View File

@ -560,482 +560,4 @@ public class YxSchoolMajorController extends JeecgController<YxSchoolMajor, IYxS
} }
return Result.error("文件导入失败!"); return Result.error("文件导入失败!");
} }
/**
* 刷新专业信息importExcel1Xz
*/
/*@RequestMapping(value = "/importExcel1Xz", method = RequestMethod.POST)
public Result<?> importExcel1Xz(HttpServletRequest request, HttpServletResponse response) {
// 获取上传文件对象
File file = new File("C:\\Users\\Denim\\Desktop\\艺体志愿宝数据\\招录限制.xlsx");
FileInputStream fileInputStream = null;
ImportParams params = new ImportParams();
params.setTitleRows(0);
params.setNeedSave(true);
int index = 0;
String type = null;
try {
fileInputStream = new FileInputStream(file);
List<SchoolMajorImport3> list = ExcelImportUtil.importExcel(fileInputStream, SchoolMajorImport3.class, params);
List<SchoolMajorImport3> notlist = new ArrayList<>();
String zspc = null;//招生批次
String yxmc = null;//院校名称
String yxdm = null;//院校代码
String zymc = null;
String majorName = "";
String majorCode = "";
String zydm = null;
String jhs = null;
String xz = null;
String xf = null;
String zybz = null;
String whcj = null;
String ywcj = null;
String wycj = null;
String yycj = null;
Integer level = 1;
LambdaQueryWrapper<YxSchoolMajor> queryWrapper = new LambdaQueryWrapper<>();
List<YxSchoolMajor> schoolMajorList = yxSchoolMajorService.list(queryWrapper);
Map<String,YxSchoolMajor> schoolMajorMap=new LinkedHashMap<>();
String key = null;
for (YxSchoolMajor yxSchoolMajor : schoolMajorList) {
key = yxSchoolMajor.getSchoolCode()+"_"+ yxSchoolMajor.getBatch()+"_"+yxSchoolMajor.getMajorName()+"_"+yxSchoolMajor.getEnrollmentCode()+"_"+yxSchoolMajor.getCategory()+"_"+yxSchoolMajor.getMajorType();
schoolMajorMap.put(key,yxSchoolMajor);
}
Map<String,YxSchoolMajor> schoolMajorMap1=new LinkedHashMap<>();
for (YxSchoolMajor yxSchoolMajor : schoolMajorList) {
if (yxSchoolMajor.getSchoolCode().equals("9907")) {
key = yxSchoolMajor.getSchoolCode()+"_"+ yxSchoolMajor.getBatch()+"_"+yxSchoolMajor.getMajorName()+"_"+yxSchoolMajor.getEnrollmentCode()+"_"+yxSchoolMajor.getCategory()+"_"+yxSchoolMajor.getMajorType();
schoolMajorMap1.put(key,yxSchoolMajor);
}
}
StringBuilder mainSubjects = new StringBuilder();
YxSchoolMajor schoolMajor = null;
YxSchoolMajor schoolMajorUpdate = null;
List<YxSchoolMajor> updateSchoolMajorList = new ArrayList<>();
Map<String,String> notSchoolCodeMap = new LinkedHashMap<>();
for (SchoolMajorImport3 schoolMajorImport3 : list) {
schoolMajor =new YxSchoolMajor();
index++;
if (index == 899) {
//index++;
System.out.println(index);
}
zspc = schoolMajorImport3.getZspc();
yxmc = schoolMajorImport3.getYxmc();
yxdm = schoolMajorImport3.getYxdm();
zymc = schoolMajorImport3.getZymc();
zydm = schoolMajorImport3.getZydm();
jhs = schoolMajorImport3.getJhs();
xz = schoolMajorImport3.getXz();
xf = schoolMajorImport3.getXf();
zybz = schoolMajorImport3.getZybz();
whcj = schoolMajorImport3.getWhcj();
ywcj = schoolMajorImport3.getYwcj();
wycj = schoolMajorImport3.getWycj();
yycj = schoolMajorImport3.getYycj();
if (zspc.contains("音乐类")) {
schoolMajor.setMajorType("音乐类");
}
else if (zspc.contains("美术类")) {
schoolMajor.setMajorType("美术与设计类");
}
else if (zspc.contains("舞蹈类")) {
schoolMajor.setMajorType("舞蹈类");
if (zspc.contains("艺术舞蹈")) {
schoolMajor.setMainSubjects("艺术舞蹈");
} else if (zspc.contains("国际标准")) {
schoolMajor.setMainSubjects("国际标准舞");
} else {
notlist.add(schoolMajorImport3);
continue;
}
}
else if (zspc.contains("播音")) {
schoolMajor.setMajorType("播音与主持类");
}
else if (zspc.contains("表演类")) {
schoolMajor.setMajorType("表演类");
}
else if (zspc.contains("体育类")) {
schoolMajor.setMajorType("体育类");
}else if (zspc.contains("书法类")) {
schoolMajor.setMajorType("书法类");
}else{
//美术
schoolMajor.setMajorType("美术与设计类");
//notlist.add(schoolMajorImport3);
//continue;
}
//文理分科
if(zspc.contains("文理综合")){
//notlist.add(schoolMajorImport3);
continue;
}
else if(zspc.contains("文科")){
schoolMajor.setCategory("文科");
}
else if(zspc.contains("理科")){
schoolMajor.setCategory("理科");
}
else{
notlist.add(schoolMajorImport3);
}
//批次
if (zspc.contains("提前批")) {
schoolMajor.setBatch("提前批");
}
else if(zspc.contains("本科A段")){
schoolMajor.setBatch("本科A段");
}
else if(zspc.contains("本科B段")){
schoolMajor.setBatch("本科B段");
}
else if(zspc.contains("本科") && zspc.contains("体育")){
schoolMajor.setBatch("本科");
}
else if(zspc.contains("高职高专")){
level = 2;
schoolMajor.setBatch("高职高专");
}
else{
notlist.add(schoolMajorImport3);
}
zymc = zymc.replace("(","").replace(")","");
majorName = zymc;
int i2 = zymc.indexOf("");
if (i2!=-1) {
majorName = zymc.substring(0,i2);
}
schoolMajor.setSchoolCode(yxdm);
schoolMajor.setMajorName(zymc);
schoolMajor.setMajorCode(majorCode);
schoolMajor.setEnrollmentCode(zydm);
schoolMajor.setPlanNum(StringUtils.isNotBlank(jhs)?Integer.valueOf(jhs):0);//计划数
schoolMajor.setSemester(xz);//学制
if (zybz.contains("(专业组61)(中外合作办学)(中日合作)(30000元/年;办学地点延安路校区;合作方日本文化学园大学)")) {
System.out.printf("111");
}
key = schoolMajor.getSchoolCode()+"_"+ schoolMajor.getBatch()+"_"+schoolMajor.getMajorName()+"_"+schoolMajor.getEnrollmentCode()+"_"+schoolMajor.getCategory()+"_"+schoolMajor.getMajorType();
schoolMajorList.stream().filter(s->s.getSchoolCode().equals("9907")).collect(Collectors.toList());
if (schoolMajorMap.containsKey(key)) {
schoolMajorUpdate = new YxSchoolMajor();
BeanUtils.copyProperties(schoolMajorMap.get(key),schoolMajorUpdate);
if (StringUtils.isNotBlank(whcj)) {
schoolMajorUpdate.setCulturalScoreLimitation(new BigDecimal(whcj));
}
if (StringUtils.isNotBlank(ywcj)) {
schoolMajorUpdate.setChineseScoreLimitation(new BigDecimal(ywcj));
}
if (StringUtils.isNotBlank(wycj)) {
schoolMajorUpdate.setEnglishScoreLimitation(new BigDecimal(wycj));
}
if (StringUtils.isNotBlank(yycj)) {
schoolMajorUpdate.setProfessionalScoreLimitation(new BigDecimal(yycj));
}
if (StringUtils.isNotBlank(whcj)||StringUtils.isNotBlank(ywcj)||StringUtils.isNotBlank(wycj)||StringUtils.isNotBlank(yycj)) {
updateSchoolMajorList.add(schoolMajorUpdate);
}
}else{
notlist.add(schoolMajorImport3);
}
}
JSONObject.toJSONString(notSchoolCodeMap);
System.out.println("不存在的专业信息:");
System.out.println(notlist.size());
yxSchoolMajorService.updateBatchById(updateSchoolMajorList);
//System.out.println(JSONArray.toJSONString(notlist));
} catch (FileNotFoundException fileNotFoundException) {
log.error("文件不存在," + file.getAbsolutePath());
throw new RuntimeException(fileNotFoundException);
} catch (StringIndexOutOfBoundsException e) {
} catch (Exception e) {
System.out.println(index);
throw new RuntimeException(e);
}
return Result.ok("文件导入成功!");
}
*//**
* 刷新专业信息
*//*
@RequestMapping(value = "/importExcel1", method = RequestMethod.POST)
public Result<?> importExcel1(HttpServletRequest request, HttpServletResponse response) {
// 获取上传文件对象
File file = new File("C:\\Users\\Denim\\Desktop\\数据信息\\2023河南招生计划统计.xlsx");
FileInputStream fileInputStream = null;
ImportParams params = new ImportParams();
params.setTitleRows(0);
params.setNeedSave(true);
int index = 0;
String type = null;
Set<LiNianShuJuDTO> notSchoolList = new HashSet<>();
Map<String,String> benMajorNameCodeMap = new LinkedHashMap<>();
Map<String,String> zhuanMajorNameCodeMap = new LinkedHashMap<>();
List<YxMajor> yxMajorList = yxMajorService.list(new LambdaQueryWrapper<YxMajor>().groupBy(YxMajor::getMajorCode));
for (YxMajor yxMajor : yxMajorList) {
if ("1".equals(yxMajor.getEducationalLevel())) {
benMajorNameCodeMap.put(yxMajor.getMajorName(),yxMajor.getMajorCode());
}else{
zhuanMajorNameCodeMap.put(yxMajor.getMajorName(),yxMajor.getMajorCode());
}
}
try {
fileInputStream = new FileInputStream(file);
List<SchoolMajorImport3> list = ExcelImportUtil.importExcel(fileInputStream, SchoolMajorImport3.class, params);
List<SchoolMajorImport3> notlist = new ArrayList<>();
String zspc = null;//招生批次
String yxmc = null;//院校名称
String yxdm = null;//院校代码
String zymc = null;
String majorName = "";
String majorCode = "";
String zydm = null;
String jhs = null;
String xz = null;
String xf = null;
String zybz = null;
Integer level = 1;
LambdaQueryWrapper<YxSchoolMajor> queryWrapper = new LambdaQueryWrapper<>();
List<YxSchoolMajor> schoolMajorList = new ArrayList<>();
StringBuilder mainSubjects = new StringBuilder();
YxSchoolMajor schoolMajor = null;
//音乐表演 专业
List<String> yybyList = Arrays.asList("表演", "音乐表演", "流行音乐", "音乐学",
"音乐制作","航空服务艺术与管理","音乐与舞蹈学类","戏曲音乐");
//音乐教育
List<String> yyjyList = Arrays.asList("音乐学", "作曲与作曲技术理论", "音乐治疗", "音乐教育", "录音艺术"
,"录音技术与艺术","钢琴调律","音像技术","艺术与科技","艺术管理","作曲技术");
List<YxSchoolChild> yxSchoolChildList = yxSchoolChildService.list();
List<String> schoolCodeList = yxSchoolChildList.stream().map(YxSchoolChild::getSchoolCode).collect(Collectors.toList());
Set<String> notSchoolCodeList = new HashSet<>();
Set<String> notSchoolNameList = new HashSet<>();
Map<String,String> notSchoolCodeMap = new LinkedHashMap<>();
for (SchoolMajorImport3 schoolMajorImport3 : list) {
level = 1;
schoolMajor = new YxSchoolMajor();
index++;
if (index == 899) {
//index++;
System.out.println(index);
}
zspc = schoolMajorImport3.getZspc();
yxmc = schoolMajorImport3.getYxmc();
yxdm = schoolMajorImport3.getYxdm();
zymc = schoolMajorImport3.getZymc();
zydm = schoolMajorImport3.getZydm();
jhs = schoolMajorImport3.getJhs();
xz = schoolMajorImport3.getXz();
xf = schoolMajorImport3.getXf();
zybz = schoolMajorImport3.getZybz();
if (zspc.contains("音乐类")) {
mainSubjects = new StringBuilder();
schoolMajor.setMajorType("音乐类");
if (zspc.contains("器乐")) {
mainSubjects.append("器乐").append(",");
}
if (zspc.contains("声乐")) {
mainSubjects.append("声乐").append(",");
}
if (StringUtils.isNotBlank(mainSubjects)) {
schoolMajor.setMainSubjects(mainSubjects.substring(0, mainSubjects.length() - 1));
;
}
//
for (String s : yybyList) {
if (zymc.contains(s)) {
schoolMajor.setMajorTypeChild("音乐表演");
break;
}
}
for (String s : yyjyList) {
if (zymc.contains(s)) {
schoolMajor.setMajorTypeChild("音乐教育");
break;
}
}
if (StringUtils.isBlank(schoolMajor.getMajorTypeChild())) {
notlist.add(schoolMajorImport3);
continue;
}
}
else if (zspc.contains("美术类")) {
schoolMajor.setMajorType("美术与设计类");
}
else if (zspc.contains("舞蹈类")) {
schoolMajor.setMajorType("舞蹈类");
if (zspc.contains("艺术舞蹈")) {
schoolMajor.setMainSubjects("艺术舞蹈");
} else if (zspc.contains("国际标准")) {
schoolMajor.setMainSubjects("国际标准舞");
} else {
notlist.add(schoolMajorImport3);
continue;
}
}
else if (zspc.contains("播音")) {
schoolMajor.setMajorType("播音与主持类");
}
else if (zspc.contains("表演类")) {
schoolMajor.setMajorType("表演类");
}
else if (zspc.contains("体育类")) {
schoolMajor.setMajorType("体育类");
}else if (zspc.contains("书法类")) {
schoolMajor.setMajorType("书法类");
}else{
//美术
schoolMajor.setMajorType("美术与设计类");
//notlist.add(schoolMajorImport3);
//continue;
}
//文理分科
if(zspc.contains("文理综合")){
notlist.add(schoolMajorImport3);
continue;
}
else if(zspc.contains("文科")){
schoolMajor.setCategory("文科");
}
else if(zspc.contains("理科")){
schoolMajor.setCategory("理科");
}
else{
notlist.add(schoolMajorImport3);
}
//批次
if (zspc.contains("提前批")) {
schoolMajor.setBatch("提前批");
}
else if(zspc.contains("本科A段")){
schoolMajor.setBatch("本科A段");
}
else if(zspc.contains("本科B段")){
schoolMajor.setBatch("本科B段");
}
else if(zspc.contains("本科") && zspc.contains("体育")){
schoolMajor.setBatch("本科");
}
else if(zspc.contains("高职高专")){
level = 2;
schoolMajor.setBatch("高职高专");
}
else{
notlist.add(schoolMajorImport3);
}
if (!schoolCodeList.contains(yxdm)) {
notSchoolCodeList.add(yxdm);
yxmc = yxmc.replace("(","").replace(")",")");
//yxmc = yxmc.replace("民办","");
notSchoolNameList.add(yxmc);
notSchoolCodeMap.put(yxdm,yxmc);
}
zymc = zymc.replace("(","").replace(")","");
majorName = zymc;
int i2 = zymc.indexOf("");
if (i2!=-1) {
majorName = zymc.substring(0,i2);
}
if (level ==1) {
majorCode = benMajorNameCodeMap.get(majorName);
}else{
majorCode = zhuanMajorNameCodeMap.get(majorName);
}
if (StringUtils.isBlank(majorCode)) {
notlist.add(schoolMajorImport3);
}
schoolMajor.setSchoolCode(yxdm);
schoolMajor.setMajorName(zymc);
schoolMajor.setMajorCode(majorCode);
schoolMajor.setEnrollmentCode(zydm);
schoolMajor.setPlanNum(StringUtils.isNotBlank(jhs)?Integer.valueOf(jhs):0);//计划数
schoolMajor.setSemester(xz);//学制
//学费
if (StringUtils.isBlank(xf)||xf.contains("待定")) {
schoolMajor.setTuition(new BigDecimal(0));
}else{
schoolMajor.setTuition(new BigDecimal(xf));
}
schoolMajor.setDetail(zybz);
schoolMajorList.add(schoolMajor);
}
yxSchoolMajorService.saveBatch(schoolMajorList);
JSONObject.toJSONString(notSchoolCodeMap);
System.out.println("不存在的专业信息:");
notSchoolNameList.stream().collect(Collectors.joining("','"));
System.out.println(notlist.size());
//System.out.println(JSONArray.toJSONString(notlist));
} catch (FileNotFoundException fileNotFoundException) {
log.error("文件不存在," + file.getAbsolutePath());
throw new RuntimeException(fileNotFoundException);
} catch (StringIndexOutOfBoundsException e) {
} catch (Exception e) {
System.out.println(index);
throw new RuntimeException(e);
}
return Result.ok("文件导入成功!");
}
@RequestMapping(value = "/importExcel2", method = RequestMethod.POST)
public Result<?> importExcel2(HttpServletRequest request, HttpServletResponse response) {
String s = "{\"1966\":\"深圳技术大学\",\"4445\":\"菏泽学院\",\"5710\":\"吉林工商学院\",\"6001\":\"郑州大学河南音乐学院\",\"6049\":\"周口师范学院\",\"6198\":\"郑州美术学院(原郑州轻工业大学易斯顿美术学院)(民办)\",\"6312\":\"平顶山文化艺术职业学院(民办)\",\"6324\":\"郑州轻工业大学(与河南轻工职业学院联办)\",\"6390\":\"郑州黄河护理职业学院(民办)\",\"6402\":\"洛阳师范学院\",\"6405\":\"南阳师范学院\",\"6408\":\"商丘师范学院\",\"6409\":\"周口师范学院\",\"6411\":\"河南师范大学\",\"6412\":\"信阳师范大学\",\"6702\":\"南昌应用技术师范学院(原江西科技师范大学理工学院)(民办)\",\"6806\":\"黑龙江财经学院(民办)\",\"6808\":\"黑龙江外国语学院(民办)\",\"6809\":\"哈尔滨剑桥学院(民办)\",\"6810\":\"黑龙江工程学院昆仑旅游学院(独立学院)\",\"6841\":\"荆州学院(原长江大学工程技术学院)(民办)\",\"6951\":\"南京理工大学泰州科技学院(独立学院)\",\"6971\":\"华南农业大学珠江学院(独立学院)\",\"7333\":\"和田师范高职高专学校\",\"7406\":\"泉州幼儿师范高等高职高专学校\",\"7727\":\"唐山幼儿师范高等高职高专学校\",\"8226\":\"广西城市职业大学(民办)\",\"8513\":\"江苏电子信息职业学院\",\"8616\":\"湖北体育职业学院\",\"8675\":\"四川科技职业学院(民办)\",\"8728\":\"四川长江职业学院(民办)\",\"8731\":\"宿迁泽达职业技术学院(民办)\",\"8747\":\"泉州轻工职业学院(民办)\",\"8972\":\"阳江职业技术学院\",\"9041\":\"云南理工职业学院(民办)\",\"9043\":\"喀什职业技术学院\",\"9097\":\"重庆建筑科技职业学院(民办)\",\"9137\":\"民办四川天一学院(民办)\",\"9155\":\"四川电子机械职业技术学院(民办)\",\"9411\":\"北京京北职业技术学院\",\"9541\":\"江西科技职业学院(民办)\",\"9621\":\"德阳城市轨道交通职业学院(民办)\",\"9634\":\"铁门关职业技术学院\",\"9662\":\"潍坊环境工程职业学院(民办)\",\"9691\":\"重庆智能工程职业学院(民办)\",\"9694\":\"南充电影工业职业学院(民办)\",\"9695\":\"绵阳飞行职业学院(民办)\",\"9697\":\"德阳农业科技职业学院(民办)\",\"9720\":\"建东职业技术学院(民办)\",\"9902\":\"中央美术学院\",\"1100\":\"中南民族大学\",\"1310\":\"同济大学\",\"2415\":\"浙江工业大学\",\"3060\":\"中国民用航空飞行学院\",\"3910\":\"盐城师范学院\",\"5565\":\"福建技术师范学院\",\"6604\":\"重庆人文科技学院(民办)\",\"6859\":\"湖北工程学院新技术学院(独立学院)\",\"7304\":\"甘肃民族师范学院\",\"9548\":\"山东海事职业学院(民办)\",\"9876\":\"吉安职业技术学院\",\"9906\":\"北京舞蹈学院\",\"9910\":\"天津美术学院\",\"9915\":\"鲁迅美术学院\",\"9930\":\"湖北美术学院\",\"9935\":\"广州美术学院\",\"9940\":\"四川美术学院\"}";
Map<String,String> notSchoolNameList = new LinkedHashMap<>();
JSONObject jsonObject = JSONObject.parseObject(s);
List<YxSchool> schoolList = yxSchoolService.list();
Map<String, String> schoolNameList = schoolList.stream().collect(Collectors.toMap(YxSchool::getSchoolName, YxSchool::getId));
YxSchoolChild yxSchoolChild = null;
List<YxSchoolChild> yxSchoolChildList = new ArrayList<>();
for (String schoolCode : jsonObject.keySet()) {
String schoolName = jsonObject.getString(schoolCode);
int i = schoolName.indexOf("");
if (i!=-1.) {
schoolName = schoolName.substring(0,i);
}
String schoolId = schoolNameList.get(schoolName);
if (StringUtils.isBlank(schoolId)) {
notSchoolNameList.put(schoolCode,schoolName);
}else{
yxSchoolChild = new YxSchoolChild();
yxSchoolChild.setSchoolCode(schoolCode);
yxSchoolChild.setSchoolId(schoolId);
yxSchoolChild.setSchoolName(schoolName);
//yxSchoolChildService.save(yxSchoolChild);
}
}
System.out.println("qqqqq:");
System.out.println(notSchoolNameList.size());
return Result.OK();
}
@RequestMapping(value = "/importExcel3",method = RequestMethod.POST)
public Result<?> importExcel3(){
//service.updateRulesEnrollProbabilityByOldLastYearData();
service.updateRulesEnrollProbabilityByOldLastYearData2();
return Result.OK();
}*/
} }

View File

@ -144,7 +144,14 @@ public class BiaoyanService {
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0); recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
continue; continue;
} }
//只获取参考的年份,23,22 这两年
// 如果没有24年数据则不计算
if(CollectionUtils.isEmpty(historyMajorEnrollList) && historyMajorEnrollList.stream().noneMatch(h -> "2024".equals(h.getYear()))){
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
continue;
}
//只获取参考的年份两年
historyMajorEnrollList = historyMajorEnrollList.stream().filter(h -> YxConstant.cankaoYearList.contains(h.getYear())).collect(Collectors.toList()); historyMajorEnrollList = historyMajorEnrollList.stream().filter(h -> YxConstant.cankaoYearList.contains(h.getYear())).collect(Collectors.toList());
//将当期成绩按照专业录取分数方式折算 //将当期成绩按照专业录取分数方式折算
//majorTypeChild = recommendMajorDTO.getMajorTypeChild(); //majorTypeChild = recommendMajorDTO.getMajorTypeChild();

View File

@ -110,6 +110,12 @@ public class BoYinService {
continue; continue;
} }
// 如果没有24年数据则不计算
if(CollectionUtils.isEmpty(historyMajorEnrollList) && historyMajorEnrollList.stream().noneMatch(h -> "2024".equals(h.getYear()))){
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
continue;
}
if ("高职高专".equals(recommendMajorDTO.getBatch())) { if ("高职高专".equals(recommendMajorDTO.getBatch())) {
studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
recommendMajorDTO.setPrivateStudentScore(studentScore); recommendMajorDTO.setPrivateStudentScore(studentScore);

View File

@ -166,6 +166,12 @@ public class MusicService {
continue; continue;
} }
// 如果没有24年数据则不计算
if(CollectionUtils.isEmpty(historyMajorEnrollList) && historyMajorEnrollList.stream().noneMatch(h -> "2024".equals(h.getYear()))){
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
continue;
}
if (!"高职高专".equals(recommendMajorDTO.getBatch())) { if (!"高职高专".equals(recommendMajorDTO.getBatch())) {
if (recommendMajorDTO.getPrivateRulesEnrollProbability().equals("文过专排主科")) { if (recommendMajorDTO.getPrivateRulesEnrollProbability().equals("文过专排主科")) {
professionalScore2 = activeCurrentUserScore.getProfessionalScore(); professionalScore2 = activeCurrentUserScore.getProfessionalScore();

View File

@ -125,6 +125,12 @@ public class WuDaoService {
continue; continue;
} }
// 如果没有24年数据则不计算
if(CollectionUtils.isEmpty(historyMajorEnrollList) && historyMajorEnrollList.stream().noneMatch(h -> "2024".equals(h.getYear()))){
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
continue;
}
if ("高职高专".equals(recommendMajorDTO.getBatch())) { if ("高职高专".equals(recommendMajorDTO.getBatch())) {
studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
recommendMajorDTO.setPrivateStudentScore(studentScore); recommendMajorDTO.setPrivateStudentScore(studentScore);

View File

@ -66,7 +66,12 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
recommendMajorDTOList = yxSchoolMajorMapper.recommendMajorList(queryRecommendMajorVO); // 获取到当前专业/理科的数据 recommendMajorDTOList = yxSchoolMajorMapper.recommendMajorList(queryRecommendMajorVO); // 获取到当前专业/理科的数据
//将历史录取信息合并到专业信息里 //将历史录取信息合并到专业信息里
if (CollectionUtils.isNotEmpty(recommendMajorDTOList)) { if (CollectionUtils.isNotEmpty(recommendMajorDTOList)) {
// 如果是非美术类只要24年数据
if (!"美术与设计类".equals(userScore.getProfessionalCategory())) {
yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorDTOList, Collections.singletonList("2024"));
}else{
yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorDTOList, ScoreUtil.getCalOldYears()); yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorDTOList, ScoreUtil.getCalOldYears());
}
this.checkEnrollProbability(recommendMajorDTOList, userScore); this.checkEnrollProbability(recommendMajorDTOList, userScore);
} }
long endTime = new Date().getTime(); long endTime = new Date().getTime();
@ -122,6 +127,19 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
public ArtRecommendMajorBaseDTO recommendMajorPage(QueryRecommendMajorVO queryRecommendMajorVO) { public ArtRecommendMajorBaseDTO recommendMajorPage(QueryRecommendMajorVO queryRecommendMajorVO) {
Integer pageNum = queryRecommendMajorVO.getPageNum(); Integer pageNum = queryRecommendMajorVO.getPageNum();
Integer pageSize = queryRecommendMajorVO.getPageSize(); Integer pageSize = queryRecommendMajorVO.getPageSize();
// LambdaQueryWrapper<YxHistoryMajorEnroll> lqw = new LambdaQueryWrapper<>();
// lqw.eq(YxHistoryMajorEnroll::getYear,"2024");
// lqw.eq(YxHistoryMajorEnroll::getMajorType,"体育类");
// lqw.eq(YxHistoryMajorEnroll::getBatch,"本科");
// List<YxHistoryMajorEnroll> list = yxHistoryMajorEnrollService.list(lqw);
// for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) {
// if ("理科".equals(yxHistoryMajorEnroll.getCategory())) {
//
// }else{
//
// }
// }
if (pageNum == null) { if (pageNum == null) {
pageNum = 1; pageNum = 1;
} }
@ -208,9 +226,14 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
yxHistoryScoreControlLine.getCulturalScore(), yxHistoryScoreControlLine.getCulturalScore(),
yxHistoryScoreControlLine.getSpecialScore(), yxHistoryScoreControlLine.getSpecialScore(),
recommendMajorDTO.getFirstLevelDiscipline(), recommendMajorDTO.getProbabilityOperator()); recommendMajorDTO.getFirstLevelDiscipline(), recommendMajorDTO.getProbabilityOperator());
if("体育类".equals(recommendMajorDTO.getMajorType()) && !"专过文排".equals(recommendMajorDTO.getRulesEnrollProbability())){ if(recommendMajorDTO.getSchoolCode().equals("6506")){
bigDecimal = bigDecimal.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP); System.out.println("qvq");
} }
// if("体育类".equals(recommendMajorDTO.getMajorType())
// && !"文过专排".equals(recommendMajorDTO.getRulesEnrollProbability())
// && !"专过文排".equals(recommendMajorDTO.getRulesEnrollProbability())){
// bigDecimal = bigDecimal.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP);
// }
recommendMajorDTO.setScoreLineDifference(recommendMajorDTO.getStudentScore().subtract(bigDecimal)); recommendMajorDTO.setScoreLineDifference(recommendMajorDTO.getStudentScore().subtract(bigDecimal));
} }
} }
@ -521,10 +544,6 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
//遍历专业列表 //遍历专业列表
for (RecommendMajorDTO recommendMajorDTO : recommendMajorList) { for (RecommendMajorDTO recommendMajorDTO : recommendMajorList) {
index++; index++;
System.out.println(recommendMajorDTO.getSchoolCode());
if ("4915".equals(recommendMajorDTO.getSchoolCode()) && recommendMajorDTO.getMajorName().equals("产品设计")) {
System.out.println("qvq");
}
//取出往年的分数信息, 算出 三年平均差值 //取出往年的分数信息, 算出 三年平均差值
historyMajorEnrollList = recommendMajorDTO.getHistoryMajorEnrollList(); historyMajorEnrollList = recommendMajorDTO.getHistoryMajorEnrollList();
rulesEnrollProbability = recommendMajorDTO.getPrivateRulesEnrollProbability(); rulesEnrollProbability = recommendMajorDTO.getPrivateRulesEnrollProbability();
@ -536,7 +555,6 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
continue; continue;
} }
//不是体育类的专业如果是文过专排并且没有录取计算运算符时文过专排是文*0+*1,专过文排是文*1+*0 //不是体育类的专业如果是文过专排并且没有录取计算运算符时文过专排是文*0+*1,专过文排是文*1+*0
if ("文过专排".equals(rulesEnrollProbability) && StringUtils.isBlank(probabilityOperator)) { if ("文过专排".equals(rulesEnrollProbability) && StringUtils.isBlank(probabilityOperator)) {
probabilityOperator = "文*0+专*1"; probabilityOperator = "文*0+专*1";
@ -547,6 +565,7 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0); recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
continue; continue;
} }
//判断其他录取要求 //判断其他录取要求
if(!ScoreUtil.otherScoreJudge(professionalScore,activeCurrentUserScore,recommendMajorDTO)){ if(!ScoreUtil.otherScoreJudge(professionalScore,activeCurrentUserScore,recommendMajorDTO)){
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0); recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
@ -562,24 +581,25 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
} }
} }
if("6031".equals(recommendMajorDTO.getSchoolCode()) || "6175".equals(recommendMajorDTO.getSchoolCode())){ if(recommendMajorDTO.getSchoolCode().equals("6506") &&
recommendMajorDTO.getMajorName().equals("社会体育指导与管理")){
System.out.println("qvq"); System.out.println("qvq");
} }
//算分用 //算分用
// 当前学生的分数折合 // 当前学生的分数折合
studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
/*if (professionalCategory.equals("体育类")
&& !"文过专排".equals(rulesEnrollProbability)
&& !"专过文排".equals(rulesEnrollProbability)) {
// 体育非专过文排 / 7.5 // 体育非专过文排 / 7.5
if (professionalCategory.equals("体育类") && !"专过文排".equals(rulesEnrollProbability)) {
studentScore = studentScore.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP); studentScore = studentScore.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP);
} }*/
recommendMajorDTO.setPrivateStudentScore(studentScore); recommendMajorDTO.setPrivateStudentScore(studentScore);
if (StringUtils.isNotBlank(recommendMajorDTO.getRulesEnrollProbability())) { if (StringUtils.isNotBlank(recommendMajorDTO.getRulesEnrollProbability())) {
//recommendMajorDTO.setStudentConvertedScore(studentScore); //recommendMajorDTO.setStudentConvertedScore(studentScore);
//计算展示用分数 //计算展示用分数
recommendMajorDTO.setStudentScore(studentScore); recommendMajorDTO.setStudentScore(studentScore);
// recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(recommendMajorDTO.getRulesEnrollProbability(),
// activeCurrentUserScore.getCulturalScore(),
// activeCurrentUserScore.getProfessionalScore(), recommendMajorDTO.getFirstLevelDiscipline(), recommendMajorDTO.getProbabilityOperator()));
} }
//没有往年录取分数线信息 //没有往年录取分数线信息
@ -588,6 +608,12 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
continue; continue;
} }
// 如果没有24年数据则不计算
if(CollectionUtils.isEmpty(historyMajorEnrollList) && historyMajorEnrollList.stream().noneMatch(h -> "2024".equals(h.getYear()))){
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
continue;
}
//录取方式计算 //录取方式计算
if (rulesEnrollProbability.equals("文过专排主科")) { if (rulesEnrollProbability.equals("文过专排主科")) {
if (CollectionUtils.isEmpty(historyMajorEnrollList)) { if (CollectionUtils.isEmpty(historyMajorEnrollList)) {
@ -608,14 +634,24 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl<YxCalculationMajo
if (nowYearProvincialControlLine == null) { if (nowYearProvincialControlLine == null) {
continue; continue;
} }
// 体育非专过文排 / 7.5
if (professionalCategory.equals("体育类") && !"专过文排".equals(rulesEnrollProbability)) {
nowYearProvincialControlLine = nowYearProvincialControlLine.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP);
}
//历年分差 //历年分差
differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, probabilityOperator, historyMajorEnrollList); differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, probabilityOperator, historyMajorEnrollList);
historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference"); historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference");
if(professionalCategory.equals("体育类")
&& "文过专排".equals(rulesEnrollProbability)){
historyThreeYearDiff = historyThreeYearDiff.multiply(YxConstant.bigDecimal5);
}
// 体育文过专排 / 5
if (professionalCategory.equals("体育类")
&& !"文过专排".equals(rulesEnrollProbability)
&& !"专过文排".equals(rulesEnrollProbability)) {
// 体育非专过文排 / 7.5
nowYearProvincialControlLine = nowYearProvincialControlLine.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP);
//当前年线差
studentScore = studentScore.divide(YxConstant.bigDecimal7p5, 4, RoundingMode.HALF_UP);
}
//当前年线差 //当前年线差
nowYearDiff = studentScore.subtract(nowYearProvincialControlLine); nowYearDiff = studentScore.subtract(nowYearProvincialControlLine);
//艺术类高职高专 当前年线差率 (当前年线差/当前年省控线) //艺术类高职高专 当前年线差率 (当前年线差/当前年省控线)

View File

@ -74,7 +74,6 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl<YxHistoryMajorE
Set<String> schoolCodeSet = recommendMajorDtoList.stream().map(RecommendMajorDTO::getSchoolCode).collect(Collectors.toSet()); Set<String> schoolCodeSet = recommendMajorDtoList.stream().map(RecommendMajorDTO::getSchoolCode).collect(Collectors.toSet());
//获取历年的招生计划 //获取历年的招生计划
LambdaQueryWrapper<YxHistoryMajorEnroll> hmeWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<YxHistoryMajorEnroll> hmeWrapper = new LambdaQueryWrapper<>();
hmeWrapper.in(YxHistoryMajorEnroll::getYear, historyYearsList);
hmeWrapper.in(YxHistoryMajorEnroll::getMajorName, majorNameSet); hmeWrapper.in(YxHistoryMajorEnroll::getMajorName, majorNameSet);
hmeWrapper.in(YxHistoryMajorEnroll::getSchoolCode,schoolCodeSet); hmeWrapper.in(YxHistoryMajorEnroll::getSchoolCode,schoolCodeSet);
hmeWrapper.eq(YxHistoryMajorEnroll::getCategory, category);//文科/理科 hmeWrapper.eq(YxHistoryMajorEnroll::getCategory, category);//文科/理科
@ -100,9 +99,6 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl<YxHistoryMajorE
historyMajorEnrollList = new ArrayList<>(); historyMajorEnrollList = new ArrayList<>();
yearMajorEnrollMap = new LinkedHashMap<>(); yearMajorEnrollMap = new LinkedHashMap<>();
if("6031".equals(recommendMajorDTO.getSchoolCode())){
System.out.println("qqvqvq");
}
//2022年 //2022年
for (String year : historyYearsList) { for (String year : historyYearsList) {
key = recommendMajorDTO.getSchoolCode() + a_ + recommendMajorDTO.getMajorName() + a_ + recommendMajorDTO.getCategory() + a_ + recommendMajorDTO.getBatch(); key = recommendMajorDTO.getSchoolCode() + a_ + recommendMajorDTO.getMajorName() + a_ + recommendMajorDTO.getCategory() + a_ + recommendMajorDTO.getBatch();
@ -178,9 +174,10 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl<YxHistoryMajorE
if (StringUtils.isNotBlank(id)) { if (StringUtils.isNotBlank(id)) {
lambdaQueryWrapper.in(YxHistoryMajorEnroll::getId, Arrays.asList(id.split(","))); lambdaQueryWrapper.in(YxHistoryMajorEnroll::getId, Arrays.asList(id.split(",")));
} }
// lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorType,"体育类"); lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorType,"体育类");
// lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch,"本科"); lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch,"本科");
lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getRulesEnrollProbability,"专过文排"); lambdaQueryWrapper.eq( YxHistoryMajorEnroll::getYear,"2024");
// lambdaQueryWrapper.eq(YxHistoryMajorEnroll::getRulesEnrollProbability,"专过文排");
//lambdaQueryWrapper.in(YxHistoryMajorEnroll::getRulesEnrollProbability,"专过文排","文过专排"); //lambdaQueryWrapper.in(YxHistoryMajorEnroll::getRulesEnrollProbability,"专过文排","文过专排");
List<YxHistoryMajorEnroll> list = list(lambdaQueryWrapper); List<YxHistoryMajorEnroll> list = list(lambdaQueryWrapper);
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
@ -242,24 +239,24 @@ public class YxHistoryMajorEnrollServiceImpl extends ServiceImpl<YxHistoryMajorE
System.out.println("11"); System.out.println("11");
}*/ }*/
if (("文过专排".equals(rulesEnrollProbability)|| "文过专排主科".equals(rulesEnrollProbability)) && StringUtils.isBlank(probabilityOperator)) { // if (("文过专排".equals(rulesEnrollProbability)|| "文过专排主科".equals(rulesEnrollProbability)) && StringUtils.isBlank(probabilityOperator)) {
if ("体育类".equals(majorType)) { // if ("体育类".equals(majorType)) {
probabilityOperator = "专*0.667"; // probabilityOperator = "专*0.667";
}else{ // }else{
probabilityOperator = "专*1"; // probabilityOperator = "专*1";
} // }
}else if ("专过文排".equals(rulesEnrollProbability) && StringUtils.isBlank(probabilityOperator)) { // }else if ("专过文排".equals(rulesEnrollProbability) && StringUtils.isBlank(probabilityOperator)) {
if ("体育类".equals(majorType)) { // if ("体育类".equals(majorType)) {
probabilityOperator = "文*0.133"; // probabilityOperator = "文*0.133";
}else{ // }else{
probabilityOperator = "文*1"; // probabilityOperator = "文*1";
} // }
}else if ("文+专".equals(rulesEnrollProbability) && StringUtils.isBlank(probabilityOperator)) { // }else if ("文+专".equals(rulesEnrollProbability) && StringUtils.isBlank(probabilityOperator)) {
probabilityOperator = "文*1+专*1"; // probabilityOperator = "文*1+专*1";
} // }
if (StringUtils.isBlank(probabilityOperator)) { // if (StringUtils.isBlank(probabilityOperator)) {
System.out.println("111"); // System.out.println("111");
} // }
//换算分数 //换算分数
String[] operators = probabilityOperator.split("\\+"); String[] operators = probabilityOperator.split("\\+");
for (String operator : operators) { for (String operator : operators) {

View File

@ -115,15 +115,6 @@ public class YxVolunteerServiceImpl extends ServiceImpl<YxVolunteerMapper, YxVol
recommendMajorDTO.setHistoryMajorEnrollList(historyMajorEnrollList); recommendMajorDTO.setHistoryMajorEnrollList(historyMajorEnrollList);
} }
} }
/*//填报志愿明细信息-提前批
List<VolunteerRecordDTO> volunteerRecordEarlyAdmissionList = recordDTOList.stream().filter(r -> r.getBatch().equals("提前批")).collect(Collectors.toList());
//填报志愿明细信息-本科A段
List<VolunteerRecordDTO> volunteerRecordUndergraduateAList = recordDTOList.stream().filter(r -> r.getBatch().equals("本科A段")).collect(Collectors.toList());
//填报志愿明细信息-本科B段
List<VolunteerRecordDTO> volunteerRecordUndergraduateBList = recordDTOList.stream().filter(r -> r.getBatch().equals("本科B段")).collect(Collectors.toList());
volunteerDTO.setVolunteerRecordEarlyAdmissionList(volunteerRecordEarlyAdmissionList);
volunteerDTO.setVolunteerRecordUndergraduateAList(volunteerRecordUndergraduateAList);
volunteerDTO.setVolunteerRecordUndergraduateBList(volunteerRecordUndergraduateBList);*/
volunteerDTO.setVolunteerRecordEarlyAdmissionList(new ArrayList<>()); volunteerDTO.setVolunteerRecordEarlyAdmissionList(new ArrayList<>());
//填报志愿明细信息-本科 //填报志愿明细信息-本科
List<VolunteerRecordDTO> volunteerRecordUndergraduateList = recordDTOList.stream().filter(r -> YxConstant.batchList1.contains(r.getBatch())).collect(Collectors.toList()); List<VolunteerRecordDTO> volunteerRecordUndergraduateList = recordDTOList.stream().filter(r -> YxConstant.batchList1.contains(r.getBatch())).collect(Collectors.toList());
@ -152,16 +143,6 @@ public class YxVolunteerServiceImpl extends ServiceImpl<YxVolunteerMapper, YxVol
List<VolunteerRecordDTO> recordDTOList = yxVolunteerRecordService.listDTOByVolunteerId(userScore.getId(),userScore.getCalculationTableName(),volunteer.getId()); List<VolunteerRecordDTO> recordDTOList = yxVolunteerRecordService.listDTOByVolunteerId(userScore.getId(),userScore.getCalculationTableName(),volunteer.getId());
//获取上一年的招生人数 //获取上一年的招生人数
yxHistoryMajorEnrollService.volunteerRecordDTOListSetHistoryInfo(recordDTOList); yxHistoryMajorEnrollService.volunteerRecordDTOListSetHistoryInfo(recordDTOList);
/*//填报志愿明细信息-提前批
List<VolunteerRecordDTO> volunteerRecordEarlyAdmissionList = recordDTOList.stream().filter(r -> r.getBatch().equals("提前批")).collect(Collectors.toList());
//填报志愿明细信息-本科A段
List<VolunteerRecordDTO> volunteerRecordUndergraduateAList = recordDTOList.stream().filter(r -> r.getBatch().equals("本科A段")).collect(Collectors.toList());
//填报志愿明细信息-本科B段
List<VolunteerRecordDTO> volunteerRecordUndergraduateBList = recordDTOList.stream().filter(r -> r.getBatch().equals("本科B段")).collect(Collectors.toList());
volunteerDTO.setVolunteerRecordEarlyAdmissionList(volunteerRecordEarlyAdmissionList);
volunteerDTO.setVolunteerRecordUndergraduateAList(volunteerRecordUndergraduateAList);
volunteerDTO.setVolunteerRecordUndergraduateBList(volunteerRecordUndergraduateBList);*/
volunteerDTO.setVolunteerRecordEarlyAdmissionList(new ArrayList<>()); volunteerDTO.setVolunteerRecordEarlyAdmissionList(new ArrayList<>());
//填报志愿明细信息-本科 //填报志愿明细信息-本科
List<VolunteerRecordDTO> volunteerRecordUndergraduateList = recordDTOList.stream().filter(r -> YxConstant.batchList1.contains(r.getBatch())).collect(Collectors.toList()); List<VolunteerRecordDTO> volunteerRecordUndergraduateList = recordDTOList.stream().filter(r -> YxConstant.batchList1.contains(r.getBatch())).collect(Collectors.toList());

View File

@ -121,6 +121,12 @@ public class ZhuanService {
continue; continue;
} }
// 如果没有24年数据则不计算
if(CollectionUtils.isEmpty(historyMajorEnrollList) && historyMajorEnrollList.stream().noneMatch(h -> "2024".equals(h.getYear()))){
recommendMajorDTO.setEnrollProbability(YxConstant.bigDecimal0);
continue;
}
//使用主考科目成绩将当期成绩按照专业录取分数方式折算 //使用主考科目成绩将当期成绩按照专业录取分数方式折算
studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore3, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore3, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
recommendMajorDTO.setStudentConvertedScore(studentScore); recommendMajorDTO.setStudentConvertedScore(studentScore);

View File

@ -25,6 +25,7 @@ public class ScoreUtil {
/** /**
* 用于计算成绩时用到的历年时间 * 用于计算成绩时用到的历年时间
*
* @return * @return
*/ */
public static List<String> getCalOldYears() { public static List<String> getCalOldYears() {
@ -33,6 +34,7 @@ public class ScoreUtil {
/** /**
* 用于列表上显示历年信息 * 用于列表上显示历年信息
*
* @return * @return
*/ */
public static List<String> getShowOldYears() { public static List<String> getShowOldYears() {
@ -41,6 +43,7 @@ public class ScoreUtil {
/** /**
* 计算 往年分数差之和 (往年的录取线-省控线) * 计算 往年分数差之和 (往年的录取线-省控线)
*
* @param historyMajorEnrollList 往年录取分数 * @param historyMajorEnrollList 往年录取分数
* @return 往年分数差 * @return 往年分数差
*/ */
@ -76,6 +79,7 @@ public class ScoreUtil {
/** /**
* 计算历年录取分差录取线 - 省控线并返回平均分差 * 计算历年录取分差录取线 - 省控线并返回平均分差
*
* @param rulesEnrollProbability 当前录取方式"文过专排" * @param rulesEnrollProbability 当前录取方式"文过专排"
* @param historyMajorEnrollList 历年录取数据 * @param historyMajorEnrollList 历年录取数据
* @return Map<String, Object> 包含平均分差scoreDifference * @return Map<String, Object> 包含平均分差scoreDifference
@ -105,6 +109,10 @@ public class ScoreUtil {
boolean isSportsMajor = "体育类".equals(enrollData.getMajorType()); boolean isSportsMajor = "体育类".equals(enrollData.getMajorType());
if (isVocationalCollege && !isSportsMajor) { if (isVocationalCollege && !isSportsMajor) {
currentDiff = currentDiff.divide(controlLine, 6, RoundingMode.HALF_UP); currentDiff = currentDiff.divide(controlLine, 6, RoundingMode.HALF_UP);
}else if(isSportsMajor && rulesEnrollProbability.equals(enrollData.getRulesEnrollProbability())){
sum = sum.add(currentDiff);
validYearCount++;
continue;
} }
// 6. 非高职高专 or 体育类检查录取方式是否一致 validYearCount >= 1 && // 6. 非高职高专 or 体育类检查录取方式是否一致 validYearCount >= 1 &&
// !rulesEnrollProbability.equals(enrollData.getRulesEnrollProbability()) && // !rulesEnrollProbability.equals(enrollData.getRulesEnrollProbability()) &&
@ -170,6 +178,7 @@ public class ScoreUtil {
/** /**
* 判断批次是否有权限计算 * 判断批次是否有权限计算
*
* @param nowBatch 当前成绩批次 * @param nowBatch 当前成绩批次
* @param majorBatch 专业批次 * @param majorBatch 专业批次
*/ */
@ -178,14 +187,11 @@ public class ScoreUtil {
return false; return false;
} }
return true; return true;
//将两个批次设置为数字等级数字越小 权限越多 1st.
// int nowLevel = "本科A段".equals(nowBatch) ? 1 : "本科B段".equals(nowBatch) ? 1 : "本科".equals(nowBatch) ? 3 : 4;
// int majorLevel = "提前批".equals(majorBatch)?1: "本科A段".equals(majorBatch) ? 1 : "本科B段".equals(majorBatch) ? 2 : "本科".equals(majorBatch) ? 3 : 4;
// return nowLevel<=majorLevel;
} }
/** /**
* 删除末尾的0 * 删除末尾的0
*
* @param input *0.05756700+*0.1254200 * @param input *0.05756700+*0.1254200
* @return *0.057567+*0.12542 * @return *0.057567+*0.12542
*/ */
@ -217,8 +223,6 @@ public class ScoreUtil {
public static BigDecimal decimal0667 = new BigDecimal("0.667"); public static BigDecimal decimal0667 = new BigDecimal("0.667");
public static BigDecimal decimal07 = new BigDecimal("0.7"); public static BigDecimal decimal07 = new BigDecimal("0.7");
public static BigDecimal decimal1 = new BigDecimal("1"); public static BigDecimal decimal1 = new BigDecimal("1");
@ -226,6 +230,7 @@ public class ScoreUtil {
/** /**
* 折合 分数成绩 旧版 * 折合 分数成绩 旧版
*
* @param rulesEnrollProbability 分数折合方式(专过文排/文过专排/+/专7文3/专5文5/专3文7) * @param rulesEnrollProbability 分数折合方式(专过文排/文过专排/+/专7文3/专5文5/专3文7)
* @param culturalScore 文化成绩 * @param culturalScore 文化成绩
* @param professionalScore 专业成绩 * @param professionalScore 专业成绩
@ -305,8 +310,10 @@ public class ScoreUtil {
score = score.divide(decimal1, 4, RoundingMode.HALF_UP); score = score.divide(decimal1, 4, RoundingMode.HALF_UP);
return score; return score;
} }
/** /**
* 折合 分数成绩 * 折合 分数成绩
*
* @param rulesEnrollProbability 分数折合方式(专过文排/文过专排/+/专7文3/专5文5/专3文7) * @param rulesEnrollProbability 分数折合方式(专过文排/文过专排/+/专7文3/专5文5/专3文7)
* @param firstLevelDiscipline 一级学科 * @param firstLevelDiscipline 一级学科
* @param culturalScore 文化成绩 * @param culturalScore 文化成绩
@ -397,8 +404,10 @@ public class ScoreUtil {
score = score.divide(decimal1, 4, RoundingMode.HALF_UP); score = score.divide(decimal1, 4, RoundingMode.HALF_UP);
return score; return score;
} }
/** /**
* 折合 专业省控线 * 折合 专业省控线
*
* @param rulesEnrollProbability 分数折合方式(专过文排/文过专排/+/专7文3/专5文5/专3文7) * @param rulesEnrollProbability 分数折合方式(专过文排/文过专排/+/专7文3/专5文5/专3文7)
* @param controlLine 原省控线 * @param controlLine 原省控线
* @param specialControlLine 原专业分 * @param specialControlLine 原专业分
@ -482,6 +491,7 @@ public class ScoreUtil {
/** /**
* 转换成绩为分数批次段 * 转换成绩为分数批次段
*
* @param culturalScore 文化成绩 * @param culturalScore 文化成绩
* @param professionalScore 专业成绩 * @param professionalScore 专业成绩
* @return * @return
@ -505,6 +515,7 @@ public class ScoreUtil {
/** /**
* 判断是否过省控线 * 判断是否过省控线
*
* @param rulesEnrollProbability 录取方式 * @param rulesEnrollProbability 录取方式
* @param culturalScore 当前文化分 * @param culturalScore 当前文化分
* @param professionalScore 当前专业分 * @param professionalScore 当前专业分
@ -520,8 +531,8 @@ public class ScoreUtil {
} else if (YxConstant.culturalControlLineGuo2.equals(rulesEnrollProbability)) { } else if (YxConstant.culturalControlLineGuo2.equals(rulesEnrollProbability)) {
return culturalScore.compareTo(specialControlLine) >= 0; return culturalScore.compareTo(specialControlLine) >= 0;
} }
//return culturalScore.compareTo(culturalControlLine)>=0 && professionalScore.compareTo(specialControlLine)>=0; return culturalScore.compareTo(culturalControlLine) >= 0 && professionalScore.compareTo(specialControlLine) >= 0;
return true; // return true;
} }
/** /**
@ -536,6 +547,7 @@ public class ScoreUtil {
/** /**
* 其他录取要求 * 其他录取要求
*
* @param professionalScore * @param professionalScore
* @param activeCurrentUserScore * @param activeCurrentUserScore
* @param recommendMajorDTO * @param recommendMajorDTO
@ -565,6 +577,7 @@ public class ScoreUtil {
/** /**
* 统一计算录取率方法 * 统一计算录取率方法
*
* @param nowYearDiff 当前年分差 * @param nowYearDiff 当前年分差
* @param historyThreeYearDiff 去年分差 * @param historyThreeYearDiff 去年分差
* @return 录取率 * @return 录取率