From 2a9d09ae360444f602074853ca501a1655bd1b21 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Sun, 23 Jun 2024 16:35:48 +0800 Subject: [PATCH] updates --- .../yx/controller/YxSchoolController.java | 207 ++++++------------ .../controller/YxSchoolMajorController.java | 9 +- .../jeecg/modules/yx/dto/SchoolExportDTO.java | 40 ++++ .../org/jeecg/modules/yx/entity/YxSchool.java | 7 +- .../modules/yx/mapper/YxSchoolMapper.java | 2 + .../modules/yx/mapper/xml/YxSchoolMapper.xml | 13 ++ .../yx/service/IYxSchoolChildService.java | 10 + .../modules/yx/service/IYxSchoolService.java | 3 + .../impl/YxCalculationMajorServiceImpl.java | 5 +- .../impl/YxSchoolChildServiceImpl.java | 24 ++ .../yx/service/impl/YxSchoolServiceImpl.java | 5 + 11 files changed, 183 insertions(+), 142 deletions(-) create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/dto/SchoolExportDTO.java diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolController.java index e61a4f6..eb1e043 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolController.java @@ -7,23 +7,25 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import java.net.URLDecoder; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import antlr.collections.impl.LList; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.util.StringUtil; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.yx.dto.LiNianShuJuDTO; -import org.jeecg.modules.yx.dto.SchoolImport2; -import org.jeecg.modules.yx.dto.SchoolMajorImport3; -import org.jeecg.modules.yx.dto.SchoolUpdateCodeImport; +import org.jeecg.modules.web.vo.QueryRecommendMajorVO; +import org.jeecg.modules.yx.dto.*; import org.jeecg.modules.yx.entity.*; import org.jeecg.modules.yx.service.*; @@ -63,23 +65,27 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; public class YxSchoolController extends JeecgController { @Autowired private IYxSchoolService yxSchoolService; - @Autowired - private IYxSchoolChildService yxSchoolChildService; - @Autowired - private IYxMajorService yxMajorService; - @Autowired + @Resource private IYxSchoolMajorService yxSchoolMajorService; @Autowired - private IYxHistoryMajorEnrollService yxHistoryMajorEnrollService; - @Autowired - private IYxFirstLevelDisciplinesService yxFirstLevelDisciplinesService; - @Autowired - private IYxHistoryScoreControlLineService yxHistoryScoreControlLineService; + private IYxSchoolChildService yxSchoolChildService; + @GetMapping(value = "/queryNotHasSchool") + public Result queryNotHasSchool(){ + List schoolCodeList = yxSchoolChildService.getSchoolCodeList(null); + if (CollectionUtil.isNotEmpty(schoolCodeList)) { + LambdaQueryWrapper schoolMajorLambdaQueryWrapper = new LambdaQueryWrapper<>(); + schoolMajorLambdaQueryWrapper.notIn(YxSchoolMajor::getSchoolCode,schoolCodeList); + schoolMajorLambdaQueryWrapper.select(YxSchoolMajor::getSchoolCode); + schoolMajorLambdaQueryWrapper.groupBy(YxSchoolMajor::getSchoolCode); + List list = yxSchoolMajorService.list(schoolMajorLambdaQueryWrapper); + schoolCodeList = list.stream().map(YxSchoolMajor::getSchoolCode).collect(Collectors.toList()); + } + return Result.OK(schoolCodeList); + } /** * 分页列表查询 * - * @param yxSchool * @param pageNo * @param pageSize * @param req @@ -88,14 +94,12 @@ public class YxSchoolController extends JeecgController> queryPageList(YxSchool yxSchool, + public Result> queryPageList(QueryRecommendMajorVO queryRecommendMajorVO, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(yxSchool, req.getParameterMap()); Page page = new Page<>(pageNo, pageSize); - IPage pageList = yxSchoolService.page(page, queryWrapper); - return Result.OK(pageList); + return Result.OK(yxSchoolService.queryPageList(page,queryRecommendMajorVO)); } /** @@ -180,7 +184,46 @@ public class YxSchoolController extends JeecgController queryWrapper = new LambdaQueryWrapper<>(); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + queryWrapper.select(YxSchool::getId); + queryWrapper.select(YxSchool::getSchoolName); + queryWrapper.in(YxSchool::getId,selectionList); + } + List exportList = service.list(queryWrapper); + Map schoolIdMap = exportList.stream().collect(Collectors.toMap(YxSchool::getId, YxSchool::getSchoolName)); + + List schoolExportDTOList =new ArrayList<>(); + if (CollectionUtil.isNotEmpty(exportList)) { + List schoolIdList = exportList.stream().map(YxSchool::getId).collect(Collectors.toList()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(YxSchoolChild::getSchoolId,schoolIdList); + lambdaQueryWrapper.orderByDesc(YxSchoolChild::getSchoolCode); + lambdaQueryWrapper.select(YxSchoolChild::getSchoolId,YxSchoolChild::getSchoolName,YxSchoolChild::getSchoolCode); + List schoolChildList = yxSchoolChildService.list(lambdaQueryWrapper); + SchoolExportDTO schoolExportDTO = null; + for (YxSchoolChild yxSchoolChild : schoolChildList) { + schoolExportDTO = new SchoolExportDTO(); + schoolExportDTO.setSchoolName(yxSchoolChild.getSchoolName()); + schoolExportDTO.setSchoolCode(yxSchoolChild.getSchoolCode()); + schoolExportDTO.setMasterSchoolName(schoolIdMap.get(yxSchoolChild.getSchoolId())); + schoolExportDTOList.add(schoolExportDTO); + } + } + + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, SchoolExportDTO.class); + ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, schoolExportDTOList); + return mv; } /** @@ -203,21 +246,17 @@ public class YxSchoolController extends JeecgController list = ExcelImportUtil.importExcel(file.getInputStream(), YxSchool.class, params); - -// if (CollectionUtils.isNotEmpty(list)) { -// for (YxSchool yxSchool : list) { -// long count = service.count(new LambdaQueryWrapper().eq(YxSchool::getSchoolCode, yxSchool.getSchoolCode())); -// if (count > 0) { -// return Result.error(String.format("文件导入失败:学校代码-%s-已存在!", yxSchool.getSchoolCode())); -// } -// } +// List schoolList = yxSchoolService.list(new LambdaQueryWrapper().select(YxSchool::getId, YxSchool::getSchoolName)); +// Map schoolNameMap = schoolList.stream().collect(Collectors.toMap(YxSchool::getSchoolName, YxSchool::getId)); +// List list = ExcelImportUtil.importExcel(file.getInputStream(), SchoolExportDTO.class, params); +// long start = System.currentTimeMillis(); +// for (SchoolExportDTO schoolExportDTO : list) { +// schoolNameMap.get(schoolExportDTO.getMasterSchoolName()); // } - //update-begin-author:taoyan date:20190528 for:批量插入数据 - long start = System.currentTimeMillis(); - service.saveBatch(list); - log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒"); - return Result.ok("文件导入成功!数据行数:" + list.size()); +// service.saveBatch(list); +// log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒"); +// return Result.ok("文件导入成功!数据行数:" + list.size()); + return Result.ok("暂未开放"); } catch (Exception e) { String msg = e.getMessage(); log.error(msg, e); @@ -237,104 +276,4 @@ public class YxSchoolController extends JeecgController importSchoolMajor() { - //将本科专业 入库 - //获取 本科 专业 分类 - LambdaQueryWrapper yxFirstLevelDisciplinesLambdaQueryWrapper = new LambdaQueryWrapper<>(); - yxFirstLevelDisciplinesLambdaQueryWrapper.eq(YxFirstLevelDisciplines::getEducationalLevel, 1); - List yxFirstLevelDisciplinesList = yxFirstLevelDisciplinesService.list(yxFirstLevelDisciplinesLambdaQueryWrapper); - Map types = new LinkedHashMap<>(); - //本科 - types.put("1693636614636453889", "艺术学");//设计类 - types.put("1693636948259782657", "13");//美术类 - types.put("1729330561128599553", "13");//戏剧与影视学类 - types.put("1729330693307895810", "13");//艺术学理论类 - types.put("1729330817086001154", "13");//音乐与舞蹈学类 - types.put("1722224567122784257", "4");//体育类 - //本科 职业教育 - types.put("1731184193902026753", "35");//艺术设计类 - types.put("1731184290459099137", "35");//表演艺术类 - types.put("1731184354581618689", "35");//文化服务类 - types.put("1731184415533244417", "37");//体育类(本科职业教育) - //高职高专 - types.put("1729375855455334402", "57");//体育类 - types.put("1731488738330918913", "56");//广播影视类 - types.put("1729376034648584193", "55");//艺术设计类 - types.put("1729376091326214145", "55");//表演艺术类 - types.put("1729376162675519489", "55");//民族文化艺术类 - types.put("1729376220997316609", "55");//文化服务类 - //获取 省控线 数据 - List yxHistoryScoreControlLineList = yxHistoryScoreControlLineService.list(new LambdaQueryWrapper().eq(YxHistoryScoreControlLine::getYear, "2023")); - Map yxHistoryScoreControlLineMap = yxHistoryScoreControlLineList.stream().collect(Collectors.toMap(c -> c.getProfessionalCategory() + "_" + c.getCategory() + "_" + c.getBatch(), c -> c)); - - //获取本科专业 - LambdaQueryWrapper yxMajorLambdaQueryWrapper = new LambdaQueryWrapper<>(); - yxMajorLambdaQueryWrapper.eq(YxMajor::getEducationalLevel, 1);//本科 - List majorBenlist = yxMajorService.list(yxMajorLambdaQueryWrapper); - List benMajorCodeList = majorBenlist.stream().map(YxMajor::getMajorCode).collect(Collectors.toList()); - //获取本科专业 - yxMajorLambdaQueryWrapper.clear(); - yxMajorLambdaQueryWrapper.eq(YxMajor::getEducationalLevel, 2);//高职高专 - List majorZhuanlist = yxMajorService.list(yxMajorLambdaQueryWrapper); - List zhuanMajorCodeList = majorZhuanlist.stream().map(YxMajor::getMajorCode).collect(Collectors.toList()); - - LambdaQueryWrapper yxHistoryMajorEnrollLambdaQueryWrapper = new LambdaQueryWrapper<>(); - yxHistoryMajorEnrollLambdaQueryWrapper.groupBy(YxHistoryMajorEnroll::getSchoolCode, YxHistoryMajorEnroll::getMajorName, YxHistoryMajorEnroll::getBatch, YxHistoryMajorEnroll::getCategory); - List list = yxHistoryMajorEnrollService.list(yxHistoryMajorEnrollLambdaQueryWrapper); - YxSchoolMajor yxSchoolMajor = new YxSchoolMajor(); - List schoolMajorList = new ArrayList<>(); - YxHistoryScoreControlLine yxHistoryScoreControlLine = null; - - LambdaQueryWrapper yxSchoolMajorLambdaQueryWrapper = new LambdaQueryWrapper<>(); - String batch2 = null; - for (YxHistoryMajorEnroll yxHistoryMajorEnroll : list) { - batch2 = yxHistoryMajorEnroll.getBatch(); - if (yxHistoryMajorEnroll.getBatch().contains("提前批")) { - batch2 = "本科A段"; - } else if (yxHistoryMajorEnroll.getBatch().contains("专")) { - batch2 = "高职高专"; - } -// if(!zhuanMajorCodeList.contains(yxHistoryMajorEnroll.getMajorCode())){ -// continue; -// } -// if(!benMajorCodeList.contains(yxHistoryMajorEnroll.getMajorCode())){ -// continue; -// } - yxSchoolMajorLambdaQueryWrapper.clear(); - yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getMajorName, yxHistoryMajorEnroll.getMajorName()); - yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getSchoolCode, yxHistoryMajorEnroll.getSchoolCode()); - yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getBatch, yxHistoryMajorEnroll.getBatch()); - yxSchoolMajorLambdaQueryWrapper.eq(YxSchoolMajor::getCategory, yxHistoryMajorEnroll.getCategory()); - yxSchoolMajor = yxSchoolMajorService.getOne(yxSchoolMajorLambdaQueryWrapper); - if (yxSchoolMajor == null) { - yxSchoolMajor = new YxSchoolMajor(); - } - yxSchoolMajor.setSchoolCode(yxHistoryMajorEnroll.getSchoolCode()); - yxSchoolMajor.setMajorCode(yxHistoryMajorEnroll.getMajorCode()); - yxSchoolMajor.setMajorName(yxHistoryMajorEnroll.getMajorName()); - yxSchoolMajor.setTuition(new BigDecimal(0)); - yxSchoolMajor.setDetail(null); - yxSchoolMajor.setCategory(yxHistoryMajorEnroll.getCategory()); - yxSchoolMajor.setRulesEnrollProbability(yxHistoryMajorEnroll.getRulesEnrollProbability()); - yxSchoolMajor.setProbabilityOperator(yxHistoryMajorEnroll.getProbabilityOperator()); - yxSchoolMajor.setBatch(yxHistoryMajorEnroll.getBatch()); - yxSchoolMajor.setEnrollmentCode(yxHistoryMajorEnroll.getEnrollmentCode()); - yxSchoolMajor.setMajorType(yxHistoryMajorEnroll.getMajorType()); - yxHistoryScoreControlLine = yxHistoryScoreControlLineMap.get(yxHistoryMajorEnroll.getMajorType() + "_" + yxHistoryMajorEnroll.getCategory() + "_" + batch2); - if (yxHistoryScoreControlLine == null) { - System.out.println(yxHistoryMajorEnroll.getMajorType() + "_" + yxHistoryMajorEnroll.getCategory()); - throw new JeecgBootException("未获取到分数线"); - } - yxSchoolMajor.setCulturalControlLine(yxHistoryScoreControlLine.getCulturalScore()); - yxSchoolMajor.setSpecialControlLine(yxHistoryScoreControlLine.getSpecialScore()); - - schoolMajorList.add(yxSchoolMajor); - } - //yxSchoolMajorService.saveOrUpdateBatch(schoolMajorList); - System.out.println(list.size()); - return Result.OK(); - } - } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolMajorController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolMajorController.java index bd1a94f..f504360 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolMajorController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolMajorController.java @@ -126,7 +126,7 @@ public class YxSchoolMajorController extends JeecgController schoolCodeSet = list.stream().map(YxSchoolMajor::getSchoolCode).collect(Collectors.toSet()); + List schoolCodeList = yxSchoolChildService.getSchoolCodeList(Collections.singleton(schoolCodeSet)); index=3; YxSchoolMajor yxSchoolMajor; String probabilityOperator =""; @@ -427,6 +433,7 @@ public class YxSchoolMajorController extends JeecgController { List artSchoolList2(@Param("province") String province,@Param("schoolType") String schoolType ); List artSchoolListBySchoolCodeList(@Param("schoolCodeList") List schoolCodeList); + + IPage queryPageList(@Param("page") Page page, @Param("qvo") QueryRecommendMajorVO queryRecommendMajorVO); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/mapper/xml/YxSchoolMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/mapper/xml/YxSchoolMapper.xml index 35a9816..543e4d8 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/mapper/xml/YxSchoolMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/mapper/xml/YxSchoolMapper.xml @@ -475,4 +475,17 @@ #{b} ORDER BY FIELD(sc.school_code,#{b}) + diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxSchoolChildService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxSchoolChildService.java index 237200e..f648e5b 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxSchoolChildService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxSchoolChildService.java @@ -3,6 +3,9 @@ package org.jeecg.modules.yx.service; import org.jeecg.modules.yx.entity.YxSchoolChild; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Collection; +import java.util.List; + /** * @Description: 子级院校表 * @Author: jeecg-boot @@ -10,5 +13,12 @@ import com.baomidou.mybatisplus.extension.service.IService; * @Version: V1.0 */ public interface IYxSchoolChildService extends IService { + /** + * 判断院校代码是否存在 + * @param schoolCode + * @return + */ + public boolean checkHasSchoolCode(String schoolCode); + public List getSchoolCodeList(Collection collection); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxSchoolService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxSchoolService.java index b2d8165..c82bd92 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxSchoolService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/IYxSchoolService.java @@ -1,6 +1,7 @@ package org.jeecg.modules.yx.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.web.dto.ArtHotSchoolDTO; import org.jeecg.modules.web.dto.ArtSchoolDTO; import org.jeecg.modules.web.vo.QueryRecommendMajorVO; @@ -38,5 +39,7 @@ public interface IYxSchoolService extends IService { */ IPage miniSchoolSearch(QueryRecommendMajorVO queryRecommendMajorVO); + IPage queryPageList(Page page, QueryRecommendMajorVO queryRecommendMajorVO); + //小程序代码================================================= } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java index 8b5a0dd..65ae6f1 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxCalculationMajorServiceImpl.java @@ -213,7 +213,10 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl implements IYxSchoolChildService { + @Override + public boolean checkHasSchoolCode(String schoolCode) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(YxSchoolChild::getSchoolCode,schoolCode); + return count(lambdaQueryWrapper)>0; + } + + @Override + public List getSchoolCodeList(Collection collection) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (CollectionUtil.isNotEmpty(collection)) { + lambdaQueryWrapper.in(YxSchoolChild::getSchoolCode,collection); + } + lambdaQueryWrapper.select(YxSchoolChild::getSchoolCode); + List list = list(lambdaQueryWrapper); + return list.stream().map(YxSchoolChild::getSchoolCode).collect(Collectors.toList()); + } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolServiceImpl.java index 39e974d..d38987a 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolServiceImpl.java @@ -152,6 +152,11 @@ public class YxSchoolServiceImpl extends ServiceImpl i return dtoPage; } + @Override + public IPage queryPageList(Page page, QueryRecommendMajorVO queryRecommendMajorVO) { + return baseMapper.queryPageList(page,queryRecommendMajorVO); + } + ///==========================PC端 @Override public IPage search(QueryRecommendMajorVO queryRecommendMajorVO) {