This commit is contained in:
zhouwentao 2024-03-19 23:08:34 +08:00
parent 37e1284e0f
commit d2e23e93ad
2 changed files with 76 additions and 33 deletions

View File

@ -31,10 +31,13 @@ import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.yx.service.IYxHistoryScoreControlLineService; import org.jeecg.modules.yx.service.IYxHistoryScoreControlLineService;
import org.jeecg.modules.yx.service.IYxMajorService; import org.jeecg.modules.yx.service.IYxMajorService;
import org.jeecg.modules.yx.service.IYxSchoolService;
import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -55,6 +58,8 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
@Autowired @Autowired
private IYxMajorService yxMajorService; private IYxMajorService yxMajorService;
@Autowired @Autowired
private IYxSchoolService yxSchoolService;
@Autowired
private IYxHistoryMajorEnrollService yxHistoryMajorEnrollService; private IYxHistoryMajorEnrollService yxHistoryMajorEnrollService;
@Autowired @Autowired
private IYxHistoryScoreControlLineService yxHistoryScoreControlLineService; private IYxHistoryScoreControlLineService yxHistoryScoreControlLineService;
@ -228,7 +233,48 @@ 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<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, YxHistoryMajorEnroll.class); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
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, YxSchool> schoolNameMap = yxSchoolService.mapsForSchoolName();
Collection<YxSchool> schoolCodeList = schoolNameMap.values();
String schoolCode = null;
String schoolName = null;
List<YxHistoryMajorEnroll> list = ExcelImportUtil.importExcel(file.getInputStream(), YxHistoryMajorEnroll.class, params);
for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) {
index++;
schoolCode = yxHistoryMajorEnroll.getSchoolCode();
schoolName = yxHistoryMajorEnroll.getSchoolName();
AssertUtils.isTrue(schoolCodeList.contains(schoolCode),String.format("行[%s],学校代码[%s]未在系统找到",index,schoolCode));
}
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());
}
} finally {
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return Result.error("文件导入失败!");
} }
@ -983,17 +1029,14 @@ public class YxHistoryMajorEnrollController extends JeecgController<YxHistoryMaj
yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排"); yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排");
BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP);
yxHistoryMajorEnroll.setControlLine(wenhuaBl.multiply(culturalScore)); yxHistoryMajorEnroll.setControlLine(wenhuaBl.multiply(culturalScore));
} } else if (StringUtils.isNotBlank(sortType) && sortType.contains("专业课排队")) {
else if (StringUtils.isNotBlank(sortType) && sortType.contains("专业课排队")) {
//文过专排 //文过专排
yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排"); yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排");
BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP);
yxHistoryMajorEnroll.setControlLine(zhuanyeBl.multiply(specialScore)); yxHistoryMajorEnroll.setControlLine(zhuanyeBl.multiply(specialScore));
} } else if (StringUtils.isNotBlank(sortType) && sortType.equals("其他计算办法")) {
else if (StringUtils.isNotBlank(sortType) && sortType.equals("其他计算办法")) {
yxHistoryMajorEnroll.setRulesEnrollProbability("其他计算办法"); yxHistoryMajorEnroll.setRulesEnrollProbability("其他计算办法");
} } else {
else {
if (StringUtils.isBlank(wenhuaBili) && StringUtils.isBlank(zhuanyeBili)) { if (StringUtils.isBlank(wenhuaBili) && StringUtils.isBlank(zhuanyeBili)) {
//没有招生 //没有招生
} else { } else {

View File

@ -128,9 +128,9 @@ public class BoYinService {
studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), by, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), by, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
recommendMajorDTO.setStudentConvertedScore(studentScore); recommendMajorDTO.setStudentConvertedScore(studentScore);
}else{ }else{
studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, culturalScore, professionalScore, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); studentScore = ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(),by, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
//将当期成绩按照专业录取分数方式折算 //将当期成绩按照专业录取分数方式折算
recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(rulesEnrollProbability, culturalScore, by, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator)); recommendMajorDTO.setStudentScore(ScoreUtil.convertIntoScore(rulesEnrollProbability, activeCurrentUserScore.getCulturalScore(), professionalScore, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator));
recommendMajorDTO.setStudentConvertedScore(studentScore); recommendMajorDTO.setStudentConvertedScore(studentScore);
} }