diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniMajorController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniMajorController.java index bcafd58..5f471a4 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniMajorController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniMajorController.java @@ -30,7 +30,7 @@ import java.util.stream.Collectors; * @Author ZhouWenTao * @Date 2024/1/17 9:47 */ -@Api(tags="小程序端-专业接口") +@Api(tags = "小程序端-专业接口") @RestController @Slf4j @RequestMapping("/mini/major") @@ -54,18 +54,19 @@ public class MiniMajorController { } @GetMapping(value = "/recommendMajor/page") - public Result recommendMajorPage(QueryRecommendMajorVO queryRecommendMajorVO){ + public Result recommendMajorPage(QueryRecommendMajorVO queryRecommendMajorVO) { return Result.OK(yxCalculationMajorService.recommendMajorPage(queryRecommendMajorVO)); } @ApiOperation(value = "获取院校当前其他推荐专业") @GetMapping(value = "/schoolOtherMajor") - public Result schoolOtherMajor(QueryRecommendMajorVO queryRecommendMajorVO){ + public Result schoolOtherMajor(QueryRecommendMajorVO queryRecommendMajorVO) { return Result.OK(yxCalculationMajorService.schoolOtherMajor(queryRecommendMajorVO)); } + @ApiOperation(value = "专业介绍") @GetMapping("/majorInfo") - public Result schoolInfo(QueryRecommendMajorVO queryRecommendMajorVO){ + public Result schoolInfo(QueryRecommendMajorVO queryRecommendMajorVO) { String majorCode = queryRecommendMajorVO.getMajorCode(); return Result.OK(yxMajorService.findByMajorCode(majorCode)); } @@ -75,7 +76,7 @@ public class MiniMajorController { */ @ApiOperation(value = "小程序端查专业列表") @GetMapping("/miniMajorList") - public Result miniMajorList(QueryRecommendMajorVO queryRecommendMajorVO){ + public Result miniMajorList(QueryRecommendMajorVO queryRecommendMajorVO) { /*LambdaQueryWrapper yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>(); yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch,"本科B段"); yxHistoryMajorEnrollLambdaQueryWrapper.likeRight(YxHistoryMajorEnroll::getMajorCode,"3"); @@ -113,7 +114,7 @@ public class MiniMajorController { @ApiOperation(value = "获取院校的专业信息") @GetMapping(value = "/schoolMajorList") - public Result schoolMajorList(QueryRecommendMajorVO queryRecommendMajorVO){ + public Result schoolMajorList(QueryRecommendMajorVO queryRecommendMajorVO) { return Result.OK(yxMajorService.schoolMajorList(queryRecommendMajorVO)); } @@ -131,16 +132,18 @@ public class MiniMajorController { } else { String str = null; if (queryRecommendMajorVO.getProfessionalCategory().equals("音乐类")) { - str="[\"文过专排主科\",\"文过专排\",\"专过文排\",\"文1专1\",\"文3专7\",\"文3专10\",\"文4专10\",\"文4专6\",\"文5专10\",\"文5专5\",\"文6专10\",\"文6专4\",\"文7专3\"]"; - }else{ - str="[\"文过专排\",\"专过文排\",\"文1专1\",\"文3专7\",\"文3专10\",\"文4专10\",\"文4专6\",\"文5专10\",\"文5专5\",\"文6专10\",\"文6专4\",\"文7专3\"]"; - } + str = "[\"文过专排主科\",\"文过专排\",\"专过文排\",\"文1专1\",\"文3专7\",\"文3专10\",\"文4专10\",\"文4专6\",\"文5专10\",\"文5专5\",\"文6专10\",\"文6专4\",\"文7专3\"]"; + } else if (queryRecommendMajorVO.getProfessionalCategory().equals("体育类")) { + str = "[\"文过专排\",\"专过文排\",\"文3专7\",\"文5专5\",\"文7专3\"]"; + } else { + str = "[\"文过专排\",\"专过文排\",\"文1专1\",\"文3专7\",\"文3专10\",\"文4专10\",\"文4专6\",\"文5专10\",\"文5专5\",\"文6专10\",\"文6专4\",\"文7专3\"]"; + }//277 JSONArray objects = JSONArray.parseArray(str); List javaList = objects.toJavaList(String.class); for (String s : javaList) { data = new LinkedHashMap<>(); - data.put("label",s); - data.put("value",s); + data.put("label", s); + data.put("value", s); dataList.add(data); } json = JSONObject.toJSONString(dataList); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxHistoryMajorEnrollController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxHistoryMajorEnrollController.java index fefef00..6db9fa9 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxHistoryMajorEnrollController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxHistoryMajorEnrollController.java @@ -197,6 +197,19 @@ public class YxHistoryMajorEnrollController extends JeecgController renewControlLine(@RequestBody YxHistoryMajorEnroll yxHistoryMajorEnroll){ + String id = yxHistoryMajorEnroll.getId(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotBlank(id)) { + } + return Result.OK("操作成功"); + } + /** * 通过id查询 * @@ -419,823 +432,4 @@ public class YxHistoryMajorEnrollController extends JeecgController importExcelNew(HttpServletRequest request, HttpServletResponse response) { - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023美术提前批分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南音乐提前批分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南表演提前批分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南播音提前批.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南国际标准舞提前批分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南艺术舞蹈提前批分数.xlsx"); - File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南书法提前批分数.xlsx"); - FileInputStream fileInputStream = null; - int i = 0; - try { - fileInputStream = new FileInputStream(file); - ImportParams params = new ImportParams(); - params.setTitleRows(0); - params.setNeedSave(true); - List list = ExcelImportUtil.importExcel(fileInputStream, LiNianShuJuDTO.class, params); - - BigDecimal bigDecimal100 = new BigDecimal(100); - - String year = "2023"; - String majorType = ""; - String majorTypeChild = ""; - String fileName = file.getName(); - if (fileName.contains("美术")) { - majorType = "美术与设计类"; - } else if (fileName.contains("音乐")) { - majorType = "音乐类"; - } else if (fileName.contains("艺术舞蹈")) { - majorType = "舞蹈类"; - majorTypeChild = "艺术舞蹈"; - } else if (fileName.contains("国际标准舞")) { - majorType = "舞蹈类"; - majorTypeChild = "国际标准舞"; - } else if (fileName.contains("播音")) { - majorType = "播音与主持类"; - } else if (fileName.contains("书法")) { - majorType = "书法类"; - } else if (fileName.contains("戏曲")) { - majorType = "戏曲类"; - } else if (fileName.contains("体育")) { - majorType = "体育类"; - } else if (fileName.contains("表演")) { - majorType = "表演类"; - } else { - throw new JeecgBootException("专业类别未获取"); - } - - //批次 - String batch = null; - if (fileName.contains("提前批")) { - batch = "提前批"; - } else if (fileName.contains("a")) { - batch = "本科A段"; - } else if (fileName.contains("b")) { - batch = "本科B段"; - } else if (fileName.contains("本科")) { - batch = "本科"; - } else if (fileName.contains("高职高专")) { - batch = "高职高专"; - } else { - throw new JeecgBootException("批次未获取"); - } - - - //获取 23年省控线 - LambdaQueryWrapper yxHistoryScoreControlLineLambdaQueryWrapper = new LambdaQueryWrapper<>(); - yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getYear, year); - yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory, majorType.equals("舞蹈类") ? majorTypeChild + "类" : majorType); - List historyScoreControlLineList = yxHistoryScoreControlLineService.list(yxHistoryScoreControlLineLambdaQueryWrapper); - Map historyScoreControlLineMap = new LinkedHashMap<>(); - String key = null; - for (YxHistoryScoreControlLine yhsl : historyScoreControlLineList) { - key = yhsl.getBatch() + "_" + yhsl.getCategory(); - if (StringUtils.isNotBlank(majorTypeChild)) { - key += "_" + majorTypeChild + "类"; - } else { - key += "_" + yhsl.getProfessionalCategory(); - } - historyScoreControlLineMap.put(key, yhsl); - } - - - //获取专业信息 - LambdaQueryWrapper yxMajorLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if ("高职高专".equals(batch)) { - yxMajorLambdaQueryWrapper.eq(YxMajor::getEducationalLevel, 2); - } else { - yxMajorLambdaQueryWrapper.eq(YxMajor::getEducationalLevel, 1); - } - List yxMajorList = yxMajorService.list(yxMajorLambdaQueryWrapper); - Map majorMap = new LinkedHashMap<>(); - for (YxMajor yxMajor : yxMajorList) { - majorMap.put(yxMajor.getMajorName(), yxMajor); - } - - String yuanxiaoCode = null; - String yuanxiao = null; - String kelei = null; - String nianfen = null; - String zhuanyeCode = null; - String zhuanye = null; - String sortType = null; - String wenhuaBili = null; - String zhuanyeBili = null; - String jihuashu = null; - String luqushu = null; - String yizhiyuanluqushu = null; - String yizhiyuanzuidipaixuchengji = null; - String majorName = null; - int i3 = 0; - YxHistoryScoreControlLine yxHistoryScoreControlLine = null; - YxHistoryMajorEnroll yxHistoryMajorEnroll = null; - YxMajor yxMajor = null; - List historyMajorEnrollList = new ArrayList<>(); - - //没有找到的数据 - List notMajorList = new ArrayList<>(); - List notHistoryList = new ArrayList<>(); - for (LiNianShuJuDTO liNianShuJuDTO : list) { - i++; - yuanxiaoCode = liNianShuJuDTO.getYuanxiaoCode();//院校代码 - yuanxiao = liNianShuJuDTO.getYuanxiao(); - kelei = liNianShuJuDTO.getKelei();//科类 - nianfen = liNianShuJuDTO.getNianfen();//年份 - zhuanyeCode = liNianShuJuDTO.getZhuanyeCode();//专业代码 - zhuanye = liNianShuJuDTO.getZhuanye();//专业名称 - sortType = liNianShuJuDTO.getSortType();//排序方法 - wenhuaBili = liNianShuJuDTO.getWenhuaBili();//文化成绩比例 - zhuanyeBili = liNianShuJuDTO.getZhuanyeBili();//专业成绩比例 - jihuashu = liNianShuJuDTO.getJihuashu();//计划数 - luqushu = liNianShuJuDTO.getLuqushu();//录取数 - yizhiyuanluqushu = liNianShuJuDTO.getYizhiyuanluqushu();//一志愿录取数 - yizhiyuanzuidipaixuchengji = liNianShuJuDTO.getYizhiyuanzuidipaixuchengji();//一志愿最低成绩 - - //更正数据 - yuanxiao = yuanxiao.replace("(", "(").replace(")", ")"); - zhuanye = zhuanye.replace("(", "(").replace(")", ")"); - i3 = zhuanye.indexOf("("); - majorName = zhuanye; - if (i3 != -1) { - majorName = zhuanye.substring(0, i3); - } - - //获取省控线 - key = (batch.equals("提前批") ? "本科A段" : batch.equals("高职高专") ? "高职高专" : batch) + "_" + kelei; - if (StringUtils.isNotBlank(majorTypeChild)) { - key += "_" + majorTypeChild + "类"; - } else { - key += "_" + majorType; - } - yxHistoryScoreControlLine = historyScoreControlLineMap.get(key); - if (yxHistoryScoreControlLine == null) { - notHistoryList.add(key); - continue; - } - - yxMajor = majorMap.get(majorName); - if (yxMajor == null) { - notMajorList.add(zhuanye); - continue; - } - - //组合保存对象 - yxHistoryMajorEnroll = new YxHistoryMajorEnroll(); - yxHistoryMajorEnroll.setSchoolCode(yuanxiaoCode); - yxHistoryMajorEnroll.setSchoolName(yuanxiao); - yxHistoryMajorEnroll.setInstitutionCode(yuanxiaoCode); - yxHistoryMajorEnroll.setMajorCode(yxMajor.getMajorCode()); - yxHistoryMajorEnroll.setMajorName(zhuanye); - yxHistoryMajorEnroll.setMajorType(majorType); - if (StringUtils.isNotBlank(majorTypeChild)) { - yxHistoryMajorEnroll.setMajorTypeChild(majorTypeChild); - } - yxHistoryMajorEnroll.setEnrollmentCode(zhuanyeCode); - yxHistoryMajorEnroll.setCategory(kelei); - yxHistoryMajorEnroll.setYear(year); - yxHistoryMajorEnroll.setBatch(batch); - yxHistoryMajorEnroll.setEnrollNum(StringUtils.isBlank(jihuashu) ? 0 : Integer.parseInt(jihuashu));//计划数 - yxHistoryMajorEnroll.setAdmissionNum(StringUtils.isBlank(luqushu) ? 0 : Integer.parseInt(luqushu));//录取数 - yxHistoryMajorEnroll.setOneVolunteerAdmissionNum(StringUtils.isBlank(yizhiyuanluqushu) ? 0 : Integer.parseInt(yizhiyuanluqushu));//一志愿录取数 - if (StringUtils.isBlank(yizhiyuanzuidipaixuchengji)) { - //没有招生 - yxHistoryMajorEnroll.setAdmissionLine(new BigDecimal(0)); - } else { - yxHistoryMajorEnroll.setAdmissionLine(new BigDecimal(yizhiyuanzuidipaixuchengji)); - } - //============录取方式 - //文化成绩分 - BigDecimal culturalScore = yxHistoryScoreControlLine.getCulturalScore(); - //专业成绩分 - BigDecimal specialScore = yxHistoryScoreControlLine.getSpecialScore(); - if (StringUtils.isNotBlank(sortType) && sortType.equals("专业课上线,文化课排队")) { - //专过文排 - yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排"); - BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(wenhuaBl.multiply(culturalScore)); - } else if (StringUtils.isNotBlank(sortType) && sortType.equals("文化课上线,专业课排队")) { - //文过专排 - yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排"); - BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(zhuanyeBl.multiply(specialScore)); - } else if (StringUtils.isNotBlank(sortType) && sortType.equals("其他计算办法")) { - } else { - if (StringUtils.isBlank(wenhuaBili) && StringUtils.isBlank(zhuanyeBili)) { - //没有招生 - } else { - if (wenhuaBili.equals("0") && zhuanyeBili.equals("100")) { - //文过专排 - yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排"); - BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(zhuanyeBl.multiply(specialScore)); - } else if (wenhuaBili.equals("100") && zhuanyeBili.equals("0")) { - yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排"); - BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(wenhuaBl.multiply(culturalScore)); - } else { - BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - BigDecimal controlLine = wenhuaBl.multiply(culturalScore).add(zhuanyeBl.multiply(specialScore)); - yxHistoryMajorEnroll.setControlLine(controlLine); - yxHistoryMajorEnroll.setRulesEnrollProbability("文" + wenhuaBl.toString() + "+专" + zhuanyeBl.toString()); - yxHistoryMajorEnroll.setProbabilityOperator("文*" + wenhuaBl.toString() + "+专*" + zhuanyeBl.toString()); - } - } - - } - - historyMajorEnrollList.add(yxHistoryMajorEnroll); - } - - return Result.ok("文件导入成功!数据行数:" + list.size()); - //yxHistoryMajorEnrollService.saveBatch(historyMajorEnrollList); - } catch (Exception e) { - System.out.println("索引:" + i); - 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 { - fileInputStream.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - - /** - * 导入往年招录信息 本科 - */ - @RequestMapping(value = "/importExcelNewBen", method = RequestMethod.POST) - public Result importExcelNewBen(HttpServletRequest request, HttpServletResponse response) { - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南表演A录取分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南播音A录取分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南美术A录取分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南书法A录取分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南省国际标准舞A录取分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南艺术舞蹈A录取分数.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023河南音乐A录取分数.xlsx"); - File file = new File("C:\\Users\\Denim\\Desktop\\2023河南录取分数\\2023体育本科录取分数.xlsx"); - FileInputStream fileInputStream = null; - int i = 0; - try { - fileInputStream = new FileInputStream(file); - ImportParams params = new ImportParams(); - params.setTitleRows(0); - params.setNeedSave(true); - List list = ExcelImportUtil.importExcel(fileInputStream, LiNianShuJuBenDTO.class, params); - BigDecimal bigDecimal100 = new BigDecimal(100); - - String year = "2023"; - String majorType = ""; - String majorTypeChild = ""; - String fileName = file.getName(); - if (fileName.contains("美术")) { - majorType = "美术与设计类"; - } else if (fileName.contains("音乐")) { - majorType = "音乐类"; - if (fileName.contains("器乐")) { - majorTypeChild = "器乐"; - } - if (fileName.contains("声乐")) { - majorTypeChild = "声乐"; - } - if (fileName.contains("声乐")) { - majorTypeChild = "声乐"; - } - } else if (fileName.contains("艺术舞蹈")) { - majorType = "舞蹈类"; - majorTypeChild = "艺术舞蹈"; - } else if (fileName.contains("国际标准舞")) { - majorType = "舞蹈类"; - majorTypeChild = "国际标准舞"; - } else if (fileName.contains("播音")) { - majorType = "播音与主持类"; - } else if (fileName.contains("书法")) { - majorType = "书法类"; - } else if (fileName.contains("戏曲")) { - majorType = "戏曲类"; - } else if (fileName.contains("体育")) { - majorType = "体育类"; - } else if (fileName.contains("表演")) { - majorType = "表演类"; - } else { - throw new JeecgBootException("专业类别未获取"); - } - - //批次 - String batch = null; - if (fileName.contains("提前批")) { - batch = "提前批"; - } else if (fileName.contains("A") || fileName.contains("a")) { - batch = "本科A段"; - } else if (fileName.contains("B") || fileName.contains("b")) { - batch = "本科B段"; - } else if (fileName.contains("本科")) { - batch = "本科"; - } else if (fileName.contains("高职高专")) { - batch = "高职高专"; - } else { - throw new JeecgBootException("批次未获取"); - } - - - //获取 23年省控线 - LambdaQueryWrapper yxHistoryScoreControlLineLambdaQueryWrapper = new LambdaQueryWrapper<>(); - yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getYear, year); - yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory, majorType.equals("舞蹈类") ? majorTypeChild + "类" : majorType); - List historyScoreControlLineList = yxHistoryScoreControlLineService.list(yxHistoryScoreControlLineLambdaQueryWrapper); - Map historyScoreControlLineMap = new LinkedHashMap<>(); - String key = null; - for (YxHistoryScoreControlLine yhsl : historyScoreControlLineList) { - key = yhsl.getBatch() + "_" + yhsl.getCategory(); - if (StringUtils.isNotBlank(majorTypeChild)) { - key += "_" + majorTypeChild + "类"; - } else { - key += "_" + yhsl.getProfessionalCategory(); - } - historyScoreControlLineMap.put(key, yhsl); - } - - - //获取专业信息 - LambdaQueryWrapper yxMajorLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if ("高职高专".equals(batch)) { - yxMajorLambdaQueryWrapper.eq(YxMajor::getEducationalLevel, 2); - } else { - yxMajorLambdaQueryWrapper.eq(YxMajor::getEducationalLevel, 1); - } - List yxMajorList = yxMajorService.list(yxMajorLambdaQueryWrapper); - Map majorMap = new LinkedHashMap<>(); - for (YxMajor yxMajor : yxMajorList) { - majorMap.put(yxMajor.getMajorName(), yxMajor); - } - - String yuanxiaoCode = null; - String yuanxiao = null; - String kelei = null; - String nianfen = null; - String zhuanyeCode = null; - String zhuanye = null; - String sortType = null; - String wenhuaBili = null; - String zhuanyeBili = null; - String jihuashu = null; - String luqushu = null; - String yizhiyuanluqushu = null; - String yizhiyuanzuidipaixuchengji = null; - String majorName = null; - int i3 = 0; - YxHistoryScoreControlLine yxHistoryScoreControlLine = null; - YxHistoryMajorEnroll yxHistoryMajorEnroll = null; - YxMajor yxMajor = null; - List historyMajorEnrollList = new ArrayList<>(); - - //没有找到的数据 - List notMajorList = new ArrayList<>(); - List notHistoryList = new ArrayList<>(); - for (LiNianShuJuBenDTO liNianShuJuDTO : list) { - i++; - yuanxiaoCode = liNianShuJuDTO.getYuanxiaoCode();//院校代码 - yuanxiao = liNianShuJuDTO.getYuanxiao(); - kelei = liNianShuJuDTO.getKelei();//科类 - nianfen = liNianShuJuDTO.getNianfen();//年份 - zhuanyeCode = liNianShuJuDTO.getZhuanyeCode();//专业代码 - zhuanye = liNianShuJuDTO.getZhuanye();//专业名称 - sortType = liNianShuJuDTO.getSortType();//排序方法 - wenhuaBili = liNianShuJuDTO.getWenhuaBili();//文化成绩比例 - zhuanyeBili = liNianShuJuDTO.getZhuanyeBili();//专业成绩比例 - jihuashu = liNianShuJuDTO.getJihuashu();//计划数 - luqushu = "";//录取数 - yizhiyuanluqushu = "";//一志愿录取数 - yizhiyuanzuidipaixuchengji = liNianShuJuDTO.getYizhiyuanzuidipaixuchengji();//一志愿最低成绩 - - //更正数据 - yuanxiao = yuanxiao.replace("(", "(").replace(")", ")"); - zhuanye = zhuanye.replace("(", "(").replace(")", ")"); - i3 = zhuanye.indexOf("("); - majorName = zhuanye; - if (i3 != -1) { - majorName = zhuanye.substring(0, i3); - } - - //获取省控线 - key = (batch.equals("提前批") ? "本科A段" : batch.equals("高职高专") ? "高职高专" : batch) + "_" + kelei; - if (StringUtils.isNotBlank(majorTypeChild)) { - key += "_" + majorTypeChild + "类"; - } else { - key += "_" + majorType; - } - yxHistoryScoreControlLine = historyScoreControlLineMap.get(key); - if (yxHistoryScoreControlLine == null) { - notHistoryList.add(key); - continue; - } - - yxMajor = majorMap.get(majorName); - if (yxMajor == null) { - notMajorList.add(zhuanye); - continue; - } - - //组合保存对象 - yxHistoryMajorEnroll = new YxHistoryMajorEnroll(); - yxHistoryMajorEnroll.setSchoolCode(yuanxiaoCode); - yxHistoryMajorEnroll.setSchoolName(yuanxiao); - yxHistoryMajorEnroll.setInstitutionCode(yuanxiaoCode); - yxHistoryMajorEnroll.setMajorCode(yxMajor.getMajorCode()); - yxHistoryMajorEnroll.setMajorName(zhuanye); - yxHistoryMajorEnroll.setMajorType(majorType); - if (StringUtils.isNotBlank(majorTypeChild)) { - yxHistoryMajorEnroll.setMajorTypeChild(majorTypeChild); - } - yxHistoryMajorEnroll.setEnrollmentCode(zhuanyeCode); - yxHistoryMajorEnroll.setCategory(kelei); - yxHistoryMajorEnroll.setYear(year); - yxHistoryMajorEnroll.setBatch(batch); - yxHistoryMajorEnroll.setEnrollNum(StringUtils.isBlank(jihuashu) ? 0 : Integer.parseInt(jihuashu));//计划数 - yxHistoryMajorEnroll.setAdmissionNum(StringUtils.isBlank(luqushu) ? 0 : Integer.parseInt(luqushu));//录取数 - yxHistoryMajorEnroll.setOneVolunteerAdmissionNum(StringUtils.isBlank(yizhiyuanluqushu) ? 0 : Integer.parseInt(yizhiyuanluqushu));//一志愿录取数 - if (StringUtils.isBlank(yizhiyuanzuidipaixuchengji)) { - //没有招生 - yxHistoryMajorEnroll.setAdmissionLine(new BigDecimal(0)); - } else { - yxHistoryMajorEnroll.setAdmissionLine(new BigDecimal(yizhiyuanzuidipaixuchengji)); - } - //============录取方式 - //文化成绩分 - BigDecimal culturalScore = yxHistoryScoreControlLine.getCulturalScore(); - //专业成绩分 - BigDecimal specialScore = yxHistoryScoreControlLine.getSpecialScore(); - if (StringUtils.isNotBlank(sortType) && sortType.contains("文化课排队")) { - //专过文排 - yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排"); - BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(wenhuaBl.multiply(culturalScore)); - } else if (StringUtils.isNotBlank(sortType) && sortType.contains("专业课排队")) { - //文过专排 - yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排"); - BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(zhuanyeBl.multiply(specialScore)); - } else if (StringUtils.isNotBlank(sortType) && sortType.equals("其他计算办法")) { - } else { - if (StringUtils.isBlank(wenhuaBili) && StringUtils.isBlank(zhuanyeBili)) { - //没有招生 - } else { - if (wenhuaBili.equals("0") && zhuanyeBili.equals("100")) { - //文过专排 - yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排"); - BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(zhuanyeBl.multiply(specialScore)); - } else if (wenhuaBili.equals("100") && zhuanyeBili.equals("0")) { - yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排"); - BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(wenhuaBl.multiply(culturalScore)); - } else { - BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - BigDecimal controlLine = wenhuaBl.multiply(culturalScore).add(zhuanyeBl.multiply(specialScore)); - yxHistoryMajorEnroll.setControlLine(controlLine); - yxHistoryMajorEnroll.setRulesEnrollProbability("文" + wenhuaBl.toString() + "+专" + zhuanyeBl.toString()); - yxHistoryMajorEnroll.setProbabilityOperator("文*" + wenhuaBl.toString() + "+专*" + zhuanyeBl.toString()); - } - } - - } - - historyMajorEnrollList.add(yxHistoryMajorEnroll); - } - - return Result.ok("文件导入成功!数据行数:" + list.size()); - //yxHistoryMajorEnrollService.saveBatch(historyMajorEnrollList); - } catch (Exception e) { - System.out.println("索引:" + i); - 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 { - fileInputStream.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - - /** - * 导入往年招录信息 Zhuan - */ - @RequestMapping(value = "/importExcelNewZhuan", method = RequestMethod.POST) - public Result importExcelNewZhuan(HttpServletRequest request, HttpServletResponse response) { - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\美术高职高专.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\音乐高职高专.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\表演高职高专.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\播音高职高专.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\国际标准舞高职高专.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\书法高职高专.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\艺术舞蹈高职高专.xlsx"); - - // - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\美术B段.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\表演B段.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\播音B段.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\国际标准舞B段.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\艺术舞蹈B段.xlsx"); - //File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\音乐B段.xlsx"); -// File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\专\\体育专科.xlsx"); - File file = new File("C:\\Users\\Denim\\Desktop\\艺术类表格\\专\\体育专科.xlsx"); - - - FileInputStream fileInputStream = null; - int i = 0; - try { - fileInputStream = new FileInputStream(file); - ImportParams params = new ImportParams(); - params.setTitleRows(0); - params.setNeedSave(true); - List list = ExcelImportUtil.importExcel(fileInputStream, LiNianShuJuZhuanDTO.class, params); - BigDecimal bigDecimal100 = new BigDecimal(100); - - //没有找到的数据 - List notMajorList = new ArrayList<>(); - List notHistoryList = new ArrayList<>(); - List historyMajorEnrollList = new ArrayList<>(); - LambdaQueryWrapper yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (true) { - String majorType = ""; - String majorTypeChild = ""; - String fileName = file.getName(); - if (fileName.contains("美术")) { - majorType = "美术与设计类"; - } else if (fileName.contains("音乐")) { - majorType = "音乐类"; - } else if (fileName.contains("艺术舞蹈")) { - majorType = "舞蹈类"; - majorTypeChild = "艺术舞蹈"; - } else if (fileName.contains("国际标准舞")) { - majorType = "舞蹈类"; - majorTypeChild = "国际标准舞"; - } else if (fileName.contains("播音")) { - majorType = "播音与主持类"; - } else if (fileName.contains("书法")) { - majorType = "书法类"; - } else if (fileName.contains("戏曲")) { - majorType = "戏曲类"; - } else if (fileName.contains("体育")) { - majorType = "体育类"; - } else if (fileName.contains("表演")) { - majorType = "表演类"; - } else { - throw new JeecgBootException("专业类别未获取"); - } - - //批次 - String batch = null; - if (fileName.contains("提前批")) { - batch = "提前批"; - } else if (fileName.contains("A") || fileName.contains("a")) { - batch = "本科A段"; - } else if (fileName.contains("B") || fileName.contains("b")) { - batch = "本科B段"; - } else if (fileName.contains("本科")) { - batch = "本科"; - } else if (fileName.contains("高职高专") || fileName.contains("专科")) { - batch = "高职高专"; - } else { - throw new JeecgBootException("批次未获取"); - } - - - //获取 23年省控线 - LambdaQueryWrapper yxHistoryScoreControlLineLambdaQueryWrapper = new LambdaQueryWrapper<>(); - //yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getYear, ); - yxHistoryScoreControlLineLambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory, majorType.equals("舞蹈类") ? majorTypeChild + "类" : majorType); - List historyScoreControlLineList = yxHistoryScoreControlLineService.list(yxHistoryScoreControlLineLambdaQueryWrapper); - Map historyScoreControlLineMap = new LinkedHashMap<>(); - String key = null; - for (YxHistoryScoreControlLine yhsl : historyScoreControlLineList) { - key = yhsl.getYear() + "_" + yhsl.getBatch() + "_" + yhsl.getCategory(); - if (StringUtils.isNotBlank(majorTypeChild)) { - key += "_" + majorTypeChild + "类"; - } else { - key += "_" + yhsl.getProfessionalCategory(); - } - historyScoreControlLineMap.put(key, yhsl); - } - - - //获取专业信息 - LambdaQueryWrapper yxMajorLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if ("高职高专".equals(batch)) { - yxMajorLambdaQueryWrapper.eq(YxMajor::getEducationalLevel, 2); - } else { - yxMajorLambdaQueryWrapper.eq(YxMajor::getEducationalLevel, 1); - } - List yxMajorList = yxMajorService.list(yxMajorLambdaQueryWrapper); - Map majorMap = new LinkedHashMap<>(); - for (YxMajor yxMajor : yxMajorList) { - majorMap.put(yxMajor.getMajorName(), yxMajor); - } - - String yuanxiaoCode = null; - String yuanxiao = null; - String kelei = null; - String nianfen = null; - String zhuanyeCode = null; - String zhuanye = null; - String sortType = null; - String wenhuaBili = null; - String zhuanyeBili = null; - String jihuashu = null; - String luqushu = null; - String yizhiyuanluqushu = null; - String yizhiyuanzuidipaixuchengji = null; - String majorName = null; - int i3 = 0; - YxHistoryScoreControlLine yxHistoryScoreControlLine = null; - YxHistoryMajorEnroll yxHistoryMajorEnroll = null; - YxMajor yxMajor = null; - - for (LiNianShuJuZhuanDTO liNianShuJuDTO : list) { - i++; - yuanxiao = liNianShuJuDTO.getYuanxiao(); - kelei = liNianShuJuDTO.getKelei();//科类 - nianfen = liNianShuJuDTO.getNianfen();//年份 - //zhuanyeCode = liNianShuJuDTO.getZhuanyeCode();//专业代码 - zhuanye = liNianShuJuDTO.getZhuanye();//专业名称 - sortType = liNianShuJuDTO.getSortType();//排序方法 - wenhuaBili = liNianShuJuDTO.getWenhuaBili();//文化成绩比例 - zhuanyeBili = liNianShuJuDTO.getZhuanyeBili();//专业成绩比例 - jihuashu = liNianShuJuDTO.getJihuashu();//计划数 - luqushu = "";//录取数 - yizhiyuanluqushu = "";//一志愿录取数 - yizhiyuanzuidipaixuchengji = liNianShuJuDTO.getYizhiyuanzuidipaixuchengji();//一志愿最低成绩 - - if (StringUtils.isNotBlank(yizhiyuanzuidipaixuchengji)) { - continue; - } - if (yuanxiao.contains("银川科技学院")) { - System.out.println("111"); - } - //更正数据 - yuanxiao = yuanxiao.replace("(", "(").replace(")", ")"); - yuanxiao = yuanxiao.replace("\n" + - " ", ""); - yuanxiao = yuanxiao.replace("\n", ""); - yuanxiao = yuanxiao.replace(" ", ""); - //拆出院校代码 - yuanxiaoCode = yuanxiao.substring(1, 5); - yuanxiao = yuanxiao.substring(6, yuanxiao.length()); - //yuanxiaoCode = liNianShuJuDTO.getYuanxiaoCode();//院校代码 - - zhuanye = zhuanye.replace("(", "(").replace(")", ")"); - zhuanyeCode = zhuanye.substring(1, 3); - zhuanye = zhuanye.substring(4, zhuanye.length()); - i3 = zhuanye.indexOf("("); - majorName = zhuanye; - if (i3 != -1) { - majorName = zhuanye.substring(0, i3); - } - - //获取省控线 - key = nianfen + "_" + (batch.equals("提前批") ? "本科A段" : batch.equals("高职高专") ? "高职高专" : batch) + "_" + kelei; - if (StringUtils.isNotBlank(majorTypeChild)) { - key += "_" + majorTypeChild + "类"; - } else { - key += "_" + majorType; - } - yxHistoryScoreControlLine = historyScoreControlLineMap.get(key); - if (yxHistoryScoreControlLine == null) { - notHistoryList.add(key); - continue; - } - - if (majorName.equals("广告设计与制作")) { - majorName = "广告艺术设计"; - } - - yxMajor = majorMap.get(majorName); - if (yxMajor == null) { - notMajorList.add(zhuanye); - continue; - } - - //组合保存对象 - yxHistoryMajorEnroll = new YxHistoryMajorEnroll(); - yxHistoryMajorEnroll.setSchoolCode(yuanxiaoCode); - yxHistoryMajorEnroll.setSchoolName(yuanxiao); - yxHistoryMajorEnroll.setInstitutionCode(yuanxiaoCode); - yxHistoryMajorEnroll.setMajorCode(yxMajor.getMajorCode()); - yxHistoryMajorEnroll.setMajorName(zhuanye); - yxHistoryMajorEnroll.setMajorType(majorType); - if (StringUtils.isNotBlank(majorTypeChild)) { - yxHistoryMajorEnroll.setMajorTypeChild(majorTypeChild); - } - yxHistoryMajorEnroll.setEnrollmentCode(zhuanyeCode); - yxHistoryMajorEnroll.setCategory(kelei); - yxHistoryMajorEnroll.setYear(nianfen); - yxHistoryMajorEnroll.setBatch(batch); - yxHistoryMajorEnroll.setEnrollNum(StringUtils.isBlank(jihuashu) ? 0 : Integer.parseInt(jihuashu));//计划数 - yxHistoryMajorEnroll.setAdmissionNum(StringUtils.isBlank(luqushu) ? 0 : Integer.parseInt(luqushu));//录取数 - yxHistoryMajorEnroll.setOneVolunteerAdmissionNum(StringUtils.isBlank(yizhiyuanluqushu) ? 0 : Integer.parseInt(yizhiyuanluqushu));//一志愿录取数 - if (StringUtils.isBlank(yizhiyuanzuidipaixuchengji)) { - //没有招生 - yxHistoryMajorEnroll.setAdmissionLine(new BigDecimal(0)); - } else { - yxHistoryMajorEnroll.setAdmissionLine(new BigDecimal(yizhiyuanzuidipaixuchengji)); - } - //============录取方式 - //文化成绩分 - BigDecimal culturalScore = yxHistoryScoreControlLine.getCulturalScore(); - //专业成绩分 - BigDecimal specialScore = yxHistoryScoreControlLine.getSpecialScore(); - if (StringUtils.isNotBlank(sortType) && sortType.contains("文化课排队")) { - //专过文排 - yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排"); - BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(wenhuaBl.multiply(culturalScore)); - } else if (StringUtils.isNotBlank(sortType) && sortType.contains("专业课排队")) { - //文过专排 - yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排"); - BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(zhuanyeBl.multiply(specialScore)); - } else if (StringUtils.isNotBlank(sortType) && sortType.equals("其他计算办法")) { - yxHistoryMajorEnroll.setRulesEnrollProbability("其他计算办法"); - } else { - if (StringUtils.isBlank(wenhuaBili) && StringUtils.isBlank(zhuanyeBili)) { - //没有招生 - } else { - if (wenhuaBili.equals("0") && zhuanyeBili.equals("100")) { - //文过专排 - yxHistoryMajorEnroll.setRulesEnrollProbability("文过专排"); - BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(zhuanyeBl.multiply(specialScore)); - } else if (wenhuaBili.equals("100") && zhuanyeBili.equals("0")) { - yxHistoryMajorEnroll.setRulesEnrollProbability("专过文排"); - BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - yxHistoryMajorEnroll.setControlLine(wenhuaBl.multiply(culturalScore)); - } else { - BigDecimal wenhuaBl = new BigDecimal(wenhuaBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - BigDecimal zhuanyeBl = new BigDecimal(zhuanyeBili).divide(bigDecimal100, 4, RoundingMode.HALF_UP); - BigDecimal controlLine = wenhuaBl.multiply(culturalScore).add(zhuanyeBl.multiply(specialScore)); - yxHistoryMajorEnroll.setControlLine(controlLine); - yxHistoryMajorEnroll.setRulesEnrollProbability("文" + wenhuaBl.toString() + "+专" + zhuanyeBl.toString()); - yxHistoryMajorEnroll.setProbabilityOperator("文*" + wenhuaBl.toString() + "+专*" + zhuanyeBl.toString()); - } - } - - } - yxHistoryMajorEnrollLambdaQueryWrapper.clear(); - yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorType, "体育类"); - yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getMajorName, yxHistoryMajorEnroll.getMajorName()); - yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getSchoolCode, yxHistoryMajorEnroll.getSchoolCode()); - yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getBatch, "高职高专"); - yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getCategory, kelei); - yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getYear, yxHistoryMajorEnroll.getYear()); - yxHistoryMajorEnrollLambdaQueryWrapper.eq(YxHistoryMajorEnroll::getEnrollmentCode, yxHistoryMajorEnroll.getEnrollmentCode()); - long count = yxHistoryMajorEnrollService.count(yxHistoryMajorEnrollLambdaQueryWrapper); - if (count == 0) { - historyMajorEnrollList.add(yxHistoryMajorEnroll); - } - } - } - - if (CollectionUtils.isEmpty(notMajorList) && CollectionUtils.isEmpty(notHistoryList)) { - //yxHistoryMajorEnrollService.saveBatch(historyMajorEnrollList); - } - return Result.ok("文件导入成功!数据行数:" + list.size()); - } catch (Exception e) { - System.out.println("索引:" + i); - 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 { - fileInputStream.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxVolunteerServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxVolunteerServiceImpl.java index 366bd35..ba20548 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxVolunteerServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxVolunteerServiceImpl.java @@ -258,6 +258,7 @@ public class YxVolunteerServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(YxVolunteer::getCreateBy, sysUser.getId()); queryWrapper.orderByDesc(YxVolunteer::getCreateTime); + queryWrapper.last("limit 0,5"); List volunteerList = this.list(queryWrapper); List list = new ArrayList<>(); VolunteerDTO volunteerDTO = null;