From 329833e5a8bb230db5d9eedc1020c3c4400a265b Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Fri, 14 Jun 2024 09:46:48 +0800 Subject: [PATCH] updates --- .../java/org/jeecg/common/util/RestUtil.java | 29 +++++++- .../YxHistoryMajorEnrollController.java | 74 +++++++++++++++---- .../impl/YxCalculationMajorServiceImpl.java | 17 +++++ .../java/org/jeecg/modules/yx/util/IpKit.java | 40 ++++++++++ 4 files changed, 146 insertions(+), 14 deletions(-) diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java index ef0d10f..fdf4a79 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java @@ -22,7 +22,7 @@ public class RestUtil { private static String domain = null; private static String path = null; - + private static String getDomain() { if (domain == null) { domain = SpringContextUtils.getDomain(); @@ -117,6 +117,13 @@ public class RestUtil { return postNative(url, variables, params).getBody(); } + /** + * 发送 Post 请求 + */ + public static JSONObject post(String url, JSONObject variables, JSONObject params,JSONObject headers) { + return postNative(url, variables, params,headers).getBody(); + } + /** * 发送 POST 请求,返回原生 ResponseEntity 对象 */ @@ -124,6 +131,14 @@ public class RestUtil { return request(url, HttpMethod.POST, variables, params); } + /** + * 发送 POST 请求,返回原生 ResponseEntity 对象 + */ + public static ResponseEntity postNative(String url, JSONObject variables, JSONObject params,JSONObject headers) { + return request(url, HttpMethod.POST, variables, params,headers); + } + + /** * 发送 put 请求 */ @@ -180,6 +195,18 @@ public class RestUtil { return request(url, method, getHeaderApplicationJson(), variables, params, JSONObject.class); } + /** + * 发送请求 + */ + public static ResponseEntity request(String url, HttpMethod method, JSONObject variables, JSONObject params,JSONObject headers) { + HttpHeaders headerApplicationJson = getHeaderApplicationJson(); + for (String s : headers.keySet()) { + headerApplicationJson.add(s,headers.getString(s)); + } + + return request(url, method, headerApplicationJson, variables, params, JSONObject.class); + } + /** * 发送请求 * 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 91d67a4..3611457 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 @@ -1,10 +1,7 @@ package org.jeecg.modules.yx.controller; -import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.math.BigDecimal; -import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; @@ -18,24 +15,19 @@ import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.AssertUtils; import org.jeecg.modules.yx.constant.YxConstant; -import org.jeecg.modules.yx.dto.LiNianShuJuBenDTO; -import org.jeecg.modules.yx.dto.LiNianShuJuDTO; -import org.jeecg.modules.yx.dto.LiNianShuJuZhuanDTO; import org.jeecg.modules.yx.entity.*; -import org.jeecg.modules.yx.service.IYxHistoryMajorEnrollService; - +import org.jeecg.modules.yx.service.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; - import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.modules.yx.service.IYxHistoryScoreControlLineService; -import org.jeecg.modules.yx.service.IYxMajorService; -import org.jeecg.modules.yx.service.IYxSchoolService; -import org.jeecg.modules.yx.util.ScoreUtil; import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -62,6 +54,10 @@ public class YxHistoryMajorEnrollController extends JeecgController dataList = yxHistoryMajorEnrollService.list(new LambdaQueryWrapper() + .eq(YxHistoryMajorEnroll::getYear,"2023") + .in(YxHistoryMajorEnroll::getBatch,"高职高专")); + Set notAddSet = new LinkedHashSet<>(); + for (YxHistoryMajorEnroll y : dataList) { + notAddSet.add(y.getSchoolCode()+"_"+y.getEnrollmentCode()+"_"+y.getMajorType()+"_"+y.getCategory()); + } + List schoolMajorList = yxSchoolMajorService.list(new LambdaQueryWrapper() + .in(YxSchoolMajor::getBatch,"高职高专")); + List schoolChildList = yxSchoolChildService.list(); + Map schoolNameMap = schoolChildList.stream().collect(Collectors.toMap(YxSchoolChild::getSchoolCode, YxSchoolChild::getSchoolName)); + String schoolName = ""; + + YxHistoryMajorEnroll yxHistoryMajorEnroll = null; + for (YxSchoolMajor yxSchoolMajor : schoolMajorList) { + if (notAddSet.contains(yxSchoolMajor.getSchoolCode()+"_"+yxSchoolMajor.getEnrollmentCode()+"_"+yxSchoolMajor.getMajorType()+"_"+yxSchoolMajor.getCategory())) { + continue; + } + yxHistoryMajorEnroll = new YxHistoryMajorEnroll(); + schoolName = schoolNameMap.getOrDefault(yxSchoolMajor.getSchoolCode(), ""); + BeanUtils.copyProperties(yxSchoolMajor,yxHistoryMajorEnroll); + yxHistoryMajorEnroll.setSchoolName(schoolName); + yxHistoryMajorEnroll.setEnrollNum(yxSchoolMajor.getPlanNum()); + yxHistoryMajorEnroll.setRulesEnrollProbability(yxSchoolMajor.getPrivateRulesEnrollProbability()); + yxHistoryMajorEnroll.setProbabilityOperator(yxSchoolMajor.getPrivateProbabilityOperator()); + if (yxSchoolMajor.getTuition()!=null) { + yxHistoryMajorEnroll.setTuition(yxSchoolMajor.getTuition().toString()); + } + dataList.add(yxHistoryMajorEnroll); + } + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + // 导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "23高职高专待录数据"); + // 注解对象Class + mv.addObject(NormalExcelConstants.CLASS, YxHistoryMajorEnroll.class); + // 自定义表格参数 + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("历年录取数据表", "导出人:admin", "历年录取数据表")); + // 导出数据列表 + mv.addObject(NormalExcelConstants.DATA_LIST, dataList); + return mv; + } + /** * 通过excel导入数据 */ 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 54ea28e..4906c5b 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,6 +213,7 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl recommendMajorList = baseMapper.recommendMajorList(activeCurrentUserScore.getCalculationTableName(),queryRecommendMajorVO); yxHistoryMajorEnrollService.recommendMajorDTOListSetHistoryInfo(recommendMajorList); ArtRecommendMajorBaseDTO artRecommendMajorBaseDTO = new ArtRecommendMajorBaseDTO(); + convertRecommendMajorListToNull(recommendMajorList); artRecommendMajorBaseDTO.setList(recommendMajorList); return artRecommendMajorBaseDTO; } + /** + * 转变要隐藏的数据 + * @param recommendMajorList + */ + private static void convertRecommendMajorListToNull(List recommendMajorList) { + List rulesEnrollProbabilitySxList = Arrays.asList("专过文排", "文8专2", "文*0.8+文*0.5", "文7专3", "文*0.7+文*0.75", "文6专4", "文*0.6+专*1", "文5专5", "文*0.5+专*1.25"); + recommendMajorList.forEach(r->{ + r.setPlanNum(null); + if (StringUtils.isNotBlank(r.getRulesEnrollProbabilitySx()) && !rulesEnrollProbabilitySxList.contains(r.getRulesEnrollProbabilitySx())) { + r.setRulesEnrollProbability(null); + } + }); + } + @Override public ArtRecommendMajorBaseDTO checkLevelNum(List recommendMajorList) { int number = 0; @@ -340,6 +356,7 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl