updates
This commit is contained in:
parent
f1bc00a5ae
commit
5e49ef5570
|
|
@ -214,7 +214,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
|
|
||||||
@PostMapping("/majrseTest1")
|
@PostMapping("/majrseTest1")
|
||||||
public Result<?> majrseTest1(){
|
public Result<?> majrseTest1(){
|
||||||
String majorType = "音乐类";
|
String majorType = "表演类";
|
||||||
LambdaQueryWrapper<YxHistoryMajorEnroll> helqw = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<YxHistoryMajorEnroll> helqw = new LambdaQueryWrapper<>();
|
||||||
helqw.eq(YxHistoryMajorEnroll::getYear,"2024");
|
helqw.eq(YxHistoryMajorEnroll::getYear,"2024");
|
||||||
helqw.eq(YxHistoryMajorEnroll::getMajorType, majorType);
|
helqw.eq(YxHistoryMajorEnroll::getMajorType, majorType);
|
||||||
|
|
@ -250,6 +250,9 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
if ("音乐表演".equals(recommendMajorDTO.getMajorTypeChild())) {
|
if ("音乐表演".equals(recommendMajorDTO.getMajorTypeChild())) {
|
||||||
key += recommendMajorDTO.getMainSubjects();
|
key += recommendMajorDTO.getMainSubjects();
|
||||||
}
|
}
|
||||||
|
}else if ("表演类".equals(majorType)) {
|
||||||
|
key = key +"-表演类-"+ recommendMajorDTO.getMajorTypeChild();
|
||||||
|
batchControlLineMaps.get(recommendMajorDTO.getBatch());
|
||||||
}
|
}
|
||||||
culturalControlLine = batchControlLineMaps.get(key).getCulturalScore();
|
culturalControlLine = batchControlLineMaps.get(key).getCulturalScore();
|
||||||
specialControlLine = batchControlLineMaps.get(key).getSpecialScore();
|
specialControlLine = batchControlLineMaps.get(key).getSpecialScore();
|
||||||
|
|
@ -476,7 +479,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("yx:yx_history_major_enroll:importExcel")
|
@RequiresPermissions("yx:yx_history_major_enroll:importExcel")
|
||||||
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
public Result<?> importExcel1(HttpServletRequest request, HttpServletResponse response) {
|
||||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||||
int nowYear = DateUtils.getYear(); // 当前年
|
int nowYear = DateUtils.getYear(); // 当前年
|
||||||
|
|
@ -492,13 +495,25 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
int index = 0;
|
int index = 0;
|
||||||
try {
|
try {
|
||||||
//加载省控线
|
//加载省控线
|
||||||
Map<String, YxHistoryScoreControlLine> historyScoreControlLineMap = yxHistoryScoreControlLineService.allMaps();
|
// 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;
|
||||||
|
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, YxMajor> majorMap = yxMajorService.mapsForMajorNameBatch();
|
||||||
//Map<String, YxSchool> schoolNameMap = yxSchoolService.mapsForSchoolName();
|
//Map<String, YxSchool> schoolNameMap = yxSchoolService.mapsForSchoolName();
|
||||||
//Collection<YxSchool> schoolCodeList = schoolNameMap.values();
|
//Collection<YxSchool> schoolCodeList = schoolNameMap.values();
|
||||||
String schoolCode = null;
|
String schoolCode = null;
|
||||||
String schoolName = null;
|
String schoolName = null;
|
||||||
String majorName = null, mn = null, key = null;
|
String majorName = null, mn = null;
|
||||||
String majorType = null;
|
String majorType = null;
|
||||||
String batch = null;
|
String batch = null;
|
||||||
String enrollmentCode = null;
|
String enrollmentCode = null;
|
||||||
|
|
@ -532,6 +547,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
key = yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getMajorName()+"_"+yxSchoolMajor.getBatch()+"_"+yxSchoolMajor.getCategory();
|
key = yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getMajorName()+"_"+yxSchoolMajor.getBatch()+"_"+yxSchoolMajor.getCategory();
|
||||||
schoolMajorMap.put(key,yxSchoolMajor);
|
schoolMajorMap.put(key,yxSchoolMajor);
|
||||||
}
|
}
|
||||||
|
LambdaQueryWrapper<YxSchoolMajor> smQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) {
|
for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) {
|
||||||
schoolCode = yxHistoryMajorEnroll.getSchoolCode();//学校代码
|
schoolCode = yxHistoryMajorEnroll.getSchoolCode();//学校代码
|
||||||
schoolName = yxHistoryMajorEnroll.getSchoolName();//学校名称
|
schoolName = yxHistoryMajorEnroll.getSchoolName();//学校名称
|
||||||
|
|
@ -563,16 +579,13 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
AssertUtils.notEmpty(year, String.format("行[%s],请输入年份", index));
|
AssertUtils.notEmpty(year, String.format("行[%s],请输入年份", index));
|
||||||
AssertUtils.notEmpty(category, String.format("行[%s],请输入科类", index));
|
AssertUtils.notEmpty(category, String.format("行[%s],请输入科类", index));
|
||||||
//AssertUtils.notEmpty(rulesEnrollProbability, String.format("行[%s],请输入录取方式", index));
|
//AssertUtils.notEmpty(rulesEnrollProbability, String.format("行[%s],请输入录取方式", index));
|
||||||
AssertUtils.notEmpty(probabilityOperator, String.format("行[%s],请输入录取方式运算符", index));
|
// AssertUtils.notEmpty(probabilityOperator, String.format("行[%s],请输入录取方式运算符", index));
|
||||||
|
|
||||||
// 如果录取线没有,则替换为0
|
// 如果录取线没有,则替换为0
|
||||||
//AssertUtils.notNull(admissionLine, String.format("行[%s],请输入录取线", index));
|
//AssertUtils.notNull(admissionLine, String.format("行[%s],请输入录取线", index));
|
||||||
if(admissionLine == null){
|
if(admissionLine == null){
|
||||||
admissionLine = new BigDecimal(0);
|
admissionLine = new BigDecimal(0);
|
||||||
}
|
}
|
||||||
if(schoolCode.equals("1260") && majorName.equals("环境设计(中外合作办学)(中英合作")){
|
|
||||||
System.out.println("1");
|
|
||||||
}
|
|
||||||
// AssertUtils.notNull(enrollNum, String.format("行[%s],请输入招生人数", index));
|
// AssertUtils.notNull(enrollNum, String.format("行[%s],请输入招生人数", index));
|
||||||
// AssertUtils.notNull(admissionNum, String.format("行[%s],请输入录取人数", index));
|
// AssertUtils.notNull(admissionNum, String.format("行[%s],请输入录取人数", index));
|
||||||
//=========================================================================
|
//=========================================================================
|
||||||
|
|
@ -596,6 +609,11 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
}
|
}
|
||||||
major = majorMap.get(mn);
|
major = majorMap.get(mn);
|
||||||
AssertUtils.notNull(major, String.format("行[%s],专业未在系统中找到", index));
|
AssertUtils.notNull(major, String.format("行[%s],专业未在系统中找到", index));
|
||||||
|
|
||||||
|
if(index == 267){
|
||||||
|
System.out.println("qvq");
|
||||||
|
}
|
||||||
|
|
||||||
yxHistoryMajorEnroll.setMajorCode(major.getMajorCode());
|
yxHistoryMajorEnroll.setMajorCode(major.getMajorCode());
|
||||||
|
|
||||||
if(enrollmentCode.length() == 1){
|
if(enrollmentCode.length() == 1){
|
||||||
|
|
@ -613,8 +631,63 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
if ("提前批".equals(batch)) {
|
if ("提前批".equals(batch)) {
|
||||||
batch = "本科提前批";
|
batch = "本科提前批";
|
||||||
}
|
}
|
||||||
|
|
||||||
//省控线
|
//省控线
|
||||||
if ("舞蹈类".equals(majorType) && Integer.parseInt(year) <= 2023) {
|
if (year.equals("2024")) {
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断是 音乐教育还是音乐表演 器乐/声乐
|
||||||
|
if ("音乐类".equals(majorType)) {
|
||||||
|
if(year.equals("2024")){
|
||||||
|
if("高职高专".equals(yxHistoryMajorEnroll.getBatch())){
|
||||||
|
key = "2024_"+ category +"-高职高专-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
|
||||||
|
}else{
|
||||||
|
key = "2024_"+ category +"-本科-音乐类-"+ yxHistoryMajorEnroll.getMajorTypeChild();
|
||||||
|
}
|
||||||
|
if ("音乐表演".equals(yxHistoryMajorEnroll.getMajorTypeChild())) {
|
||||||
|
key += yxHistoryMajorEnroll.getMainSubjects();
|
||||||
|
}
|
||||||
|
}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();
|
||||||
|
}
|
||||||
|
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));
|
AssertUtils.notEmpty(mainSubjects, String.format("行[%s],未识别到舞蹈类型", index));
|
||||||
if (mainSubjects.contains("艺术舞蹈")) {
|
if (mainSubjects.contains("艺术舞蹈")) {
|
||||||
key = category + "_" + batch + "_" + "艺术舞蹈类" + "_" + year;
|
key = category + "_" + batch + "_" + "艺术舞蹈类" + "_" + year;
|
||||||
|
|
@ -632,25 +705,46 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
key = category + "_" + batch + "_" + majorType + "_" + year;
|
key = category + "_" + batch + "_" + majorType + "_" + year;
|
||||||
} else {
|
} else {
|
||||||
key = category + "_" + batch + "_" + majorType + "_" + year;
|
key = category + "_" + batch + "_" + majorType + "_" + year;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
historyScoreControlLine = historyScoreControlLineMap.get(key);
|
historyScoreControlLine = historyScoreControlLineMap.get(key);
|
||||||
AssertUtils.notNull(historyScoreControlLine, String.format("行[%s],未在系统中找到省控线", index));
|
AssertUtils.notNull(historyScoreControlLine, String.format("行[%s],未在系统中找到省控线", index));
|
||||||
culturalScore = historyScoreControlLine.getCulturalScore();
|
culturalScore = historyScoreControlLine.getCulturalScore();
|
||||||
specialScore = historyScoreControlLine.getSpecialScore();
|
specialScore = historyScoreControlLine.getSpecialScore();
|
||||||
//换算分数
|
//换算分数
|
||||||
String[] operators = probabilityOperator.split("\\+");
|
if(StringUtils.isNotBlank(probabilityOperator)){
|
||||||
for (String operator : operators) {
|
String[] operators = probabilityOperator.split("\\+");
|
||||||
if (operator.contains("文")) {
|
for (String operator : operators) {
|
||||||
wenhuaBili = new BigDecimal(operator.split("\\*")[1]);
|
if (operator.contains("文")) {
|
||||||
|
wenhuaBili = new BigDecimal(operator.split("\\*")[1]);
|
||||||
|
}
|
||||||
|
if (operator.contains("专")) {
|
||||||
|
zhuanyeBili = new BigDecimal(operator.split("\\*")[1]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (operator.contains("专")) {
|
if ("文过专排".equals(rulesEnrollProbability) || "文过专排主科".equals(rulesEnrollProbability)) {
|
||||||
zhuanyeBili = new BigDecimal(operator.split("\\*")[1]);
|
BigDecimal multiply = specialScore.multiply(zhuanyeBili);
|
||||||
|
yxHistoryMajorEnroll.setControlLine(multiply);
|
||||||
|
yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排");
|
||||||
|
} else if ("专过文排".equals(rulesEnrollProbability)) {
|
||||||
|
BigDecimal multiply = culturalScore.multiply(wenhuaBili);
|
||||||
|
yxHistoryMajorEnroll.setControlLine(multiply);
|
||||||
|
yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排");
|
||||||
|
} else if ("其他计算办法".equals(rulesEnrollProbability)) {
|
||||||
|
yxHistoryMajorEnroll.setRulesEnrollProbability("其他计算办法");
|
||||||
|
} else {
|
||||||
|
if (wenhuaBili == null || zhuanyeBili == null) {
|
||||||
|
wenhuaBili = YxConstant.bigDecimal100;
|
||||||
|
zhuanyeBili = YxConstant.bigDecimal100;
|
||||||
|
}
|
||||||
|
yxHistoryMajorEnroll.setControlLine((culturalScore.multiply(wenhuaBili)).add((specialScore.multiply(zhuanyeBili))));
|
||||||
|
yxHistoryMajorEnroll.setRulesEnrollProbability(rulesEnrollProbability);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 判断,如果库里没有这个院校的专业,则添加
|
// 判断,如果库里没有这个院校的专业,则添加
|
||||||
schoolMajor = new YxSchoolMajor();
|
/*schoolMajor = new YxSchoolMajor();
|
||||||
if(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category)){
|
if(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category)){
|
||||||
// 该专业没有录入
|
// 该专业没有录入
|
||||||
schoolMajor.setState("1");
|
schoolMajor.setState("1");
|
||||||
|
|
@ -694,28 +788,9 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
schoolMajorList.add(schoolMajor);
|
schoolMajorList.add(schoolMajor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
// AssertUtils.notTrue(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category), String.format("行[%s],未在系统中找到招录专业", index));
|
// AssertUtils.notTrue(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category), String.format("行[%s],未在系统中找到招录专业", index));
|
||||||
|
|
||||||
if ("文过专排".equals(rulesEnrollProbability) || "文过专排主科".equals(rulesEnrollProbability)) {
|
|
||||||
BigDecimal multiply = specialScore.multiply(zhuanyeBili);
|
|
||||||
yxHistoryMajorEnroll.setControlLine(multiply);
|
|
||||||
yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排");
|
|
||||||
} else if ("专过文排".equals(rulesEnrollProbability)) {
|
|
||||||
BigDecimal multiply = culturalScore.multiply(wenhuaBili);
|
|
||||||
yxHistoryMajorEnroll.setControlLine(multiply);
|
|
||||||
yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排");
|
|
||||||
} else if ("其他计算办法".equals(rulesEnrollProbability)) {
|
|
||||||
yxHistoryMajorEnroll.setRulesEnrollProbability("其他计算办法");
|
|
||||||
} else {
|
|
||||||
if (wenhuaBili == null || zhuanyeBili == null) {
|
|
||||||
wenhuaBili = YxConstant.bigDecimal100;
|
|
||||||
zhuanyeBili = YxConstant.bigDecimal100;
|
|
||||||
}
|
|
||||||
yxHistoryMajorEnroll.setControlLine((culturalScore.multiply(wenhuaBili)).add((specialScore.multiply(zhuanyeBili))));
|
|
||||||
yxHistoryMajorEnroll.setRulesEnrollProbability(rulesEnrollProbability);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if("体育".contains(yxHistoryMajorEnroll.getMajorType())){
|
if("体育".contains(yxHistoryMajorEnroll.getMajorType())){
|
||||||
if(batch.contains("专科") || batch.contains("高职高专")){
|
if(batch.contains("专科") || batch.contains("高职高专")){
|
||||||
|
|
@ -727,6 +802,14 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
yxHistoryMajorEnroll.setBatch("提前批");
|
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.clear();
|
||||||
|
|
@ -737,6 +820,21 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch, batch.contains("提前批") ? "提前批" : batch);
|
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch, batch.contains("提前批") ? "提前批" : batch);
|
||||||
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getCategory, category);
|
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getCategory, category);
|
||||||
yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorType, majorType);
|
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 {
|
try {
|
||||||
oldYxHistoryMajorEnroll = yxHistoryMajorEnrollService.getOne(yxHistoryMajorEnrollLambdaQueryWrapper);
|
oldYxHistoryMajorEnroll = yxHistoryMajorEnrollService.getOne(yxHistoryMajorEnrollLambdaQueryWrapper);
|
||||||
}catch (TooManyResultsException e){
|
}catch (TooManyResultsException e){
|
||||||
|
|
@ -744,7 +842,7 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
}
|
}
|
||||||
|
|
||||||
if (oldYxHistoryMajorEnroll == null) {
|
if (oldYxHistoryMajorEnroll == null) {
|
||||||
updateList.add(yxHistoryMajorEnroll);
|
// updateList.add(yxHistoryMajorEnroll);
|
||||||
} else {
|
} else {
|
||||||
oldYxHistoryMajorEnroll.setRulesEnrollProbability(yxHistoryMajorEnroll.getRulesEnrollProbability());
|
oldYxHistoryMajorEnroll.setRulesEnrollProbability(yxHistoryMajorEnroll.getRulesEnrollProbability());
|
||||||
oldYxHistoryMajorEnroll.setSchoolName(schoolName);
|
oldYxHistoryMajorEnroll.setSchoolName(schoolName);
|
||||||
|
|
@ -755,15 +853,16 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
oldYxHistoryMajorEnroll.setAdmissionLine(admissionLine);
|
oldYxHistoryMajorEnroll.setAdmissionLine(admissionLine);
|
||||||
oldYxHistoryMajorEnroll.setEnrollNum(enrollNum);
|
oldYxHistoryMajorEnroll.setEnrollNum(enrollNum);
|
||||||
oldYxHistoryMajorEnroll.setControlLine(yxHistoryMajorEnroll.getControlLine());
|
oldYxHistoryMajorEnroll.setControlLine(yxHistoryMajorEnroll.getControlLine());
|
||||||
|
oldYxHistoryMajorEnroll.setBatch("本科B段");
|
||||||
updateList.add(oldYxHistoryMajorEnroll);
|
updateList.add(oldYxHistoryMajorEnroll);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (CollectionUtils.isNotEmpty(updateList)) {
|
if (CollectionUtils.isNotEmpty(updateList)) {
|
||||||
yxHistoryMajorEnrollService.saveOrUpdateBatch(updateList);
|
yxHistoryMajorEnrollService.saveOrUpdateBatch(updateList);
|
||||||
}
|
}
|
||||||
// if(CollectionUtils.isNotEmpty(schoolMajorList)){
|
if(CollectionUtils.isNotEmpty(schoolMajorList)){
|
||||||
// yxSchoolMajorService.saveOrUpdateBatch(schoolMajorList);
|
yxSchoolMajorService.saveOrUpdateBatch(schoolMajorList);
|
||||||
// }
|
}
|
||||||
log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
|
log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
|
||||||
return Result.ok("文件导入成功!数据行数:" + list.size());
|
return Result.ok("文件导入成功!数据行数:" + list.size());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -785,5 +884,262 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
|
||||||
return Result.error("文件导入失败!");
|
return Result.error("文件导入失败!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequiresPermissions("yx:yx_history_major_enroll:importExcel")
|
||||||
|
@RequestMapping(value = "/importExcel1", method = RequestMethod.POST)
|
||||||
|
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||||
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||||
|
int nowYear = DateUtils.getYear(); // 当前年
|
||||||
|
int nowMonth = DateUtils.getMonth(); // 当前月
|
||||||
|
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
||||||
|
// 获取上传文件对象
|
||||||
|
MultipartFile file = entity.getValue();
|
||||||
|
ImportParams params = new ImportParams();
|
||||||
|
params.setTitleRows(2);
|
||||||
|
params.setHeadRows(1);
|
||||||
|
params.setNeedSave(true);
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
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;
|
||||||
|
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;
|
||||||
|
String majorType = null;
|
||||||
|
String batch = null;
|
||||||
|
String enrollmentCode = null;
|
||||||
|
String year = null;
|
||||||
|
String category = null;
|
||||||
|
String rulesEnrollProbability = null;
|
||||||
|
String probabilityOperator = null;
|
||||||
|
BigDecimal admissionLine = null;
|
||||||
|
BigDecimal culturalScore = null;
|
||||||
|
BigDecimal specialScore = null;
|
||||||
|
BigDecimal wenhuaBili = null;
|
||||||
|
BigDecimal zhuanyeBili = null;
|
||||||
|
Integer enrollNum = null;
|
||||||
|
Integer admissionNum = null;
|
||||||
|
String detail = null;
|
||||||
|
String majorTypeChild = null;
|
||||||
|
String mainSubjects = null;
|
||||||
|
YxMajor major = null;
|
||||||
|
YxSchoolMajor schoolMajor = null;
|
||||||
|
YxHistoryScoreControlLine historyScoreControlLine = null;
|
||||||
|
YxHistoryMajorEnroll oldYxHistoryMajorEnroll = null;
|
||||||
|
LambdaQueryWrapper<YxHistoryMajorEnroll> yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
List<YxHistoryMajorEnroll> updateList = new ArrayList<>();
|
||||||
|
List<YxSchoolMajor> schoolMajorList = new ArrayList<>();
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
LambdaQueryWrapper<YxSchoolMajor> smQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) {
|
||||||
|
schoolCode = yxHistoryMajorEnroll.getSchoolCode();//学校代码
|
||||||
|
schoolName = yxHistoryMajorEnroll.getSchoolName();//学校名称
|
||||||
|
majorName = yxHistoryMajorEnroll.getMajorName();//专业名称
|
||||||
|
batch = yxHistoryMajorEnroll.getBatch();//批次
|
||||||
|
if (StringUtils.isBlank(schoolCode) && StringUtils.isBlank(schoolName) && StringUtils.isBlank(majorName)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
index++;
|
||||||
|
year = yxHistoryMajorEnroll.getYear();
|
||||||
|
enrollmentCode = yxHistoryMajorEnroll.getEnrollmentCode();//招生代码
|
||||||
|
majorType = yxHistoryMajorEnroll.getMajorType();//专业类型
|
||||||
|
category = yxHistoryMajorEnroll.getCategory();//科类
|
||||||
|
rulesEnrollProbability = yxHistoryMajorEnroll.getRulesEnrollProbability();//录取方式
|
||||||
|
probabilityOperator = yxHistoryMajorEnroll.getProbabilityOperator();//录取概率计算规则运算符
|
||||||
|
admissionLine = yxHistoryMajorEnroll.getAdmissionLine();//录取线
|
||||||
|
enrollNum = yxHistoryMajorEnroll.getEnrollNum();//招生人数
|
||||||
|
admissionNum = yxHistoryMajorEnroll.getAdmissionNum();//录取人数
|
||||||
|
detail = yxHistoryMajorEnroll.getDetail();//备注
|
||||||
|
majorTypeChild = yxHistoryMajorEnroll.getMajorTypeChild();
|
||||||
|
mainSubjects = yxHistoryMajorEnroll.getMainSubjects();
|
||||||
|
AssertUtils.notEmpty(schoolCode, String.format("行[%s],请输入学校代码", index));
|
||||||
|
AssertUtils.notEmpty(schoolName, String.format("行[%s],请输入学校名称", index));
|
||||||
|
AssertUtils.notEmpty(batch, String.format("行[%s],请输入批次", index));
|
||||||
|
AssertUtils.notEmpty(enrollmentCode, String.format("行[%s],请输入专业代码", index));
|
||||||
|
AssertUtils.notEmpty(majorName, String.format("行[%s],请输入专业名称", index));
|
||||||
|
AssertUtils.notEmpty(majorType, String.format("行[%s],请输入专业类型", index));
|
||||||
|
//=========================================================================
|
||||||
|
AssertUtils.notEmpty(year, 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){
|
||||||
|
admissionLine = new BigDecimal(0);
|
||||||
|
}
|
||||||
|
// AssertUtils.notNull(enrollNum, String.format("行[%s],请输入招生人数", index));
|
||||||
|
// AssertUtils.notNull(admissionNum, String.format("行[%s],请输入录取人数", index));
|
||||||
|
//=========================================================================
|
||||||
|
majorName = majorName.replace("(", "(").replace(")", ")");
|
||||||
|
// 判断 majorName 是否包含(符号,如果包含,则判断最后一个字符是否为),不是则补
|
||||||
|
if (majorName.contains("(") && majorName.charAt(majorName.length() - 1) != ')') {
|
||||||
|
majorName += ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
yxHistoryMajorEnroll.setMajorName(majorName);
|
||||||
|
int i = majorName.indexOf("(");
|
||||||
|
mn = majorName;
|
||||||
|
if (i != -1) {
|
||||||
|
mn = majorName.substring(0, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(yxHistoryMajorEnroll.getBatch().contains("专")){
|
||||||
|
mn+="_专";
|
||||||
|
}else{
|
||||||
|
mn+="_本";
|
||||||
|
}
|
||||||
|
major = majorMap.get(mn);
|
||||||
|
AssertUtils.notNull(major, String.format("行[%s],专业未在系统中找到", index));
|
||||||
|
|
||||||
|
if(index == 267){
|
||||||
|
System.out.println("qvq");
|
||||||
|
}
|
||||||
|
|
||||||
|
yxHistoryMajorEnroll.setMajorCode(major.getMajorCode());
|
||||||
|
|
||||||
|
if(enrollmentCode.length() == 1){
|
||||||
|
enrollmentCode = "0" + enrollmentCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(schoolCode.length() == 3){
|
||||||
|
schoolCode = "0" + schoolCode;
|
||||||
|
}else if(schoolCode.length() == 2){
|
||||||
|
schoolCode = "00" + schoolCode;
|
||||||
|
}else if(schoolCode.length() == 1){
|
||||||
|
schoolCode = "000" + schoolCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("提前批".equals(batch)) {
|
||||||
|
batch = "本科提前批";
|
||||||
|
}
|
||||||
|
|
||||||
|
//省控线
|
||||||
|
if (year.equals("2024")) {
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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::getEnrollmentCode, enrollmentCode);
|
||||||
|
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("表演类")){
|
||||||
|
if(StringUtils.isNotBlank(majorTypeChild)){
|
||||||
|
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("本科A段");
|
||||||
|
schoolMajorList.add(schoolMajor);
|
||||||
|
}else{
|
||||||
|
System.out.println("不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
oldYxHistoryMajorEnroll = yxHistoryMajorEnrollService.getOne(yxHistoryMajorEnrollLambdaQueryWrapper);
|
||||||
|
}catch (TooManyResultsException e){
|
||||||
|
throw new JeecgBootException("该数据已存在多条该历年数据");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (oldYxHistoryMajorEnroll == null) {
|
||||||
|
System.out.println("sout111");
|
||||||
|
// updateList.add(yxHistoryMajorEnroll);
|
||||||
|
} else {
|
||||||
|
oldYxHistoryMajorEnroll.setBatch("本科A段");
|
||||||
|
updateList.add(oldYxHistoryMajorEnroll);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollectionUtils.isNotEmpty(updateList)) {
|
||||||
|
yxHistoryMajorEnrollService.saveOrUpdateBatch(updateList);
|
||||||
|
}
|
||||||
|
if(CollectionUtils.isNotEmpty(schoolMajorList)){
|
||||||
|
yxSchoolMajorService.saveOrUpdateBatch(schoolMajorList);
|
||||||
|
}
|
||||||
|
log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
|
||||||
|
return Result.ok("文件导入成功!数据行数:" + list.size());
|
||||||
|
} catch (Exception e) {
|
||||||
|
String msg = e.getMessage();
|
||||||
|
log.error(msg, e);
|
||||||
|
if (msg != null && msg.indexOf("Duplicate entry") >= 0) {
|
||||||
|
return Result.error("文件导入失败:有重复数据!");
|
||||||
|
} else {
|
||||||
|
return Result.error("文件导入失败:" + e.getMessage() + ",行:" + index);
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
file.getInputStream().close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Result.error("文件导入失败!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue