This commit is contained in:
zhouwentao 2025-01-22 17:32:59 +08:00
parent d8a988e57c
commit 002d15fa3d
4 changed files with 71 additions and 31 deletions

View File

@ -665,12 +665,26 @@ public class DateUtils extends PropertyEditorSupport {
}
}
/**
* 获取当前年份
* @return int (2025)
*/
public static int getYear() {
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(getDate());
return calendar.get(Calendar.YEAR);
}
/**
* 获取月份
* @return int (1-12)
*/
public static int getMonth() {
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(getDate());
return calendar.get(Calendar.MONTH) + 1;
}
/**
* 将字符串转成时间
* @param str
@ -760,4 +774,4 @@ public class DateUtils extends PropertyEditorSupport {
return calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR);
}
}
}

View File

@ -27,6 +27,7 @@ import java.math.BigDecimal;
import java.util.*;
/**
* TODO 待删除
* @Description 艺术类接口
* @Author ZhouWenTao
* @Date 2023/9/18 17:16

View File

@ -67,7 +67,7 @@ public class RecommendMajorDTO implements Serializable {
@ApiModelProperty(value = "招生人数")
private Integer planNum=0;
@ApiModelProperty(value = "学费金额")
private BigDecimal studyCost;
private String studyCost;
@ApiModelProperty(value = "录取方式缩写")
private String rulesEnrollProbabilitySx;
@ApiModelProperty(value = "录取方式")

View File

@ -15,6 +15,7 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.AssertUtils;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.yx.constant.YxConstant;
import org.jeecg.modules.yx.entity.*;
import org.jeecg.modules.yx.service.*;
@ -53,8 +54,6 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
@Autowired
private IYxMajorService yxMajorService;
@Autowired
private IYxSchoolService yxSchoolService;
@Autowired
private IYxSchoolChildService yxSchoolChildService;
@Autowired
private IYxSchoolMajorService yxSchoolMajorService;
@ -332,6 +331,8 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
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();
@ -368,20 +369,18 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
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> newSchoolMajorList = 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))) {
if(yxSchoolMajor.getSchoolCode().equals("0019")){
System.out.println("'111");
}
key = yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getMajorName()+"_"+yxSchoolMajor.getBatch()+"_"+yxSchoolMajor.getCategory();
schoolMajorMap.put(key,yxSchoolMajor);
}
@ -423,10 +422,18 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
if(admissionLine == null){
admissionLine = new BigDecimal(0);
}
if(schoolCode.equals("1260") && majorName.equals("环境设计(中外合作办学)(中英合作")){
System.out.println("1");
}
// 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;
@ -481,30 +488,48 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
}
}
// 判断如果库里没有这个院校的专业则添加
schoolMajor = new YxSchoolMajor();
if(!schoolMajorMap.containsKey(schoolCode+"_"+majorName+"_"+yxHistoryMajorEnroll.getBatch()+"_"+category)){
// 该专业没有录入
YxSchoolMajor yxSchoolMajor = new YxSchoolMajor();
yxSchoolMajor.setState("1");
yxSchoolMajor.setSchoolCode(schoolCode);
yxSchoolMajor.setMajorCode(major.getMajorCode());
yxSchoolMajor.setMajorName(majorName);
yxSchoolMajor.setEnrollmentCode(enrollmentCode);
schoolMajor.setState("1");
schoolMajor.setSchoolCode(schoolCode);
schoolMajor.setMajorCode(major.getMajorCode());
schoolMajor.setMajorName(majorName);
schoolMajor.setEnrollmentCode(enrollmentCode);
// 提取学费
yxSchoolMajor.setTuition(yxHistoryMajorEnroll.getTuition());
yxSchoolMajor.setDetail(detail);
yxSchoolMajor.setCategory(category);
yxSchoolMajor.setRulesEnrollProbabilitySx(rulesEnrollProbability);
yxSchoolMajor.setRulesEnrollProbability(rulesEnrollProbability);
yxSchoolMajor.setPrivateRulesEnrollProbability(rulesEnrollProbability);
yxSchoolMajor.setProbabilityOperator(probabilityOperator);
yxSchoolMajor.setPrivateProbabilityOperator(probabilityOperator);
yxSchoolMajor.setBatch(batch);
yxSchoolMajor.setMajorType(majorType);
yxSchoolMajor.setMajorTypeChild(majorTypeChild);
yxSchoolMajor.setPlanNum(enrollNum);
yxSchoolMajor.setMainSubjects(mainSubjects);
newSchoolMajorList.add(yxSchoolMajor);
schoolMajor.setTuition(yxHistoryMajorEnroll.getTuition());
schoolMajor.setDetail(detail);
schoolMajor.setCategory(category);
schoolMajor.setRulesEnrollProbabilitySx(rulesEnrollProbability);
schoolMajor.setRulesEnrollProbability(rulesEnrollProbability);
schoolMajor.setPrivateRulesEnrollProbability(rulesEnrollProbability);
schoolMajor.setProbabilityOperator(probabilityOperator);
schoolMajor.setPrivateProbabilityOperator(probabilityOperator);
schoolMajor.setBatch(batch);
schoolMajor.setMajorType(majorType);
schoolMajor.setMajorTypeChild(majorTypeChild);
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));
@ -572,8 +597,8 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
if (CollectionUtils.isNotEmpty(updateList)) {
yxHistoryMajorEnrollService.saveOrUpdateBatch(updateList);
}
if(CollectionUtils.isNotEmpty(newSchoolMajorList)){
yxSchoolMajorService.saveBatch(newSchoolMajorList);
if(CollectionUtils.isNotEmpty(schoolMajorList)){
yxSchoolMajorService.saveOrUpdateBatch(schoolMajorList);
}
log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
return Result.ok("文件导入成功!数据行数:" + list.size());