From 04123f2fdcda29b36bec55e81e4a25f45363f2a1 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Tue, 25 Jun 2024 10:13:56 +0800 Subject: [PATCH] =?UTF-8?q?updates=E7=9C=81=E6=8E=A7=E7=BA=BF24=E5=B9=B4?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yx/service/impl/BiaoyanService.java | 42 ++++++++++++++-- .../modules/yx/service/impl/MusicService.java | 48 ++++++++++++++++--- .../impl/YxCalculationMajorServiceImpl.java | 12 ++--- 3 files changed, 85 insertions(+), 17 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BiaoyanService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BiaoyanService.java index 54ac291..16a0077 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BiaoyanService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/BiaoyanService.java @@ -1,6 +1,7 @@ package org.jeecg.modules.yx.service.impl; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; @@ -19,6 +20,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -53,7 +55,18 @@ public class BiaoyanService { BigDecimal professionalScore2 = null;//对应主考成绩 BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后 BigDecimal nowYearDiff = null;//当前年分差 - Map batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); + Map batchControlLineMaps = new LinkedHashMap<>(); + // batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); + LambdaQueryWrapper yhsclWrapper = new LambdaQueryWrapper<>(); + yhsclWrapper.eq(YxHistoryScoreControlLine::getCategory,activeCurrentUserScore.getCognitioPolyclinic()); + yhsclWrapper.in(YxHistoryScoreControlLine::getBatch,"本科","高职高专"); + yhsclWrapper.like(YxHistoryScoreControlLine::getProfessionalCategory,"表演类-"); + List yhsclList = yxHistoryScoreControlLineService.list(yhsclWrapper); + for (YxHistoryScoreControlLine yhscl : yhsclList) { + String key = yhscl.getCategory()+"-"+ yhscl.getBatch()+"-"+yhscl.getProfessionalCategory(); + batchControlLineMaps.put(key,yhscl); + } + BigDecimal culturalControlLine = null;//文化分省控线 BigDecimal specialControlLine = null;//专业分省控线 BigDecimal nowYearProvincialControlLine = null;//当前年省控线 @@ -95,14 +108,35 @@ public class BiaoyanService { int index = 0; if (CollectionUtils.isNotEmpty(recommendMajorList)) { + String batchControlLineKey = ""; + String majorChild_mainSubjects = ""; + YxHistoryScoreControlLine yxHistoryScoreControlLine = null; //遍历专业列表 for (RecommendMajorDTO recommendMajorDTO : recommendMajorList) { //取出往年的分数信息, 算出 三年平均差值 historyMajorEnrollList = recommendMajorDTO.getHistoryMajorEnrollList(); rulesEnrollProbability = recommendMajorDTO.getPrivateRulesEnrollProbability(); probabilityOperator = recommendMajorDTO.getPrivateProbabilityOperator(); - culturalControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getCulturalScore(); - specialControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getSpecialScore(); + mainSubjects = recommendMajorDTO.getMainSubjects(); + + if ("戏剧影视表演".equals(mainSubjects)) { + majorChild_mainSubjects="戏剧影视表演"; + } else if ("戏剧影视导演".equals(mainSubjects)) { + majorChild_mainSubjects="戏剧影视导演"; + } else if ("服装表演".equals(mainSubjects)) { + majorChild_mainSubjects="服装表演"; + } + + batchControlLineKey = recommendMajorDTO.getCategory()+"-" + + (recommendMajorDTO.getBatch().contains("本科")?"本科":"高职高专")+"-表演类-"+ + majorChild_mainSubjects; + yxHistoryScoreControlLine = batchControlLineMaps.get(batchControlLineKey); + if (yxHistoryScoreControlLine==null) { + continue; + } + culturalControlLine = yxHistoryScoreControlLine.getCulturalScore(); + specialControlLine = yxHistoryScoreControlLine.getSpecialScore(); + //没有计算方式 或 没有往年录取分数线信息 ,或者没有过该批次 时跳过 if (StringUtils.isBlank(rulesEnrollProbability) || StringUtils.isBlank(probabilityOperator) @@ -114,7 +148,7 @@ public class BiaoyanService { historyMajorEnrollList = historyMajorEnrollList.stream().filter(h -> YxConstant.cankaoYearList.contains(h.getYear())).collect(Collectors.toList()); //将当期成绩按照专业录取分数方式折算 //majorTypeChild = recommendMajorDTO.getMajorTypeChild(); - mainSubjects = recommendMajorDTO.getMainSubjects(); + //判断 使用什么成绩 if ("高职高专".equals(recommendMajorDTO.getBatch()) || "兼报".equals(mainSubjects)) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java index 24fe6db..24d3373 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java @@ -1,5 +1,6 @@ package org.jeecg.modules.yx.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.jeecg.modules.web.dto.ArtTestCulturalDTO; @@ -17,6 +18,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -51,7 +53,18 @@ public class MusicService { BigDecimal professionalScore2 = null;//对应主考成绩 BigDecimal professionalScore3 = null;//对应主考成绩 换算去年成绩后 BigDecimal nowYearDiff = null;//当前年分差 - Map batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()); + Map batchControlLineMaps = new LinkedHashMap<>(); + // batchControlLineMaps = yxHistoryScoreControlLineService.mapsBatchByProfessionalCategoryOfYear(Integer.parseInt(YxConstant.nowYear), professionalCategory, activeCurrentUserScore.getCognitioPolyclinic()) + LambdaQueryWrapper yhsclWrapper = new LambdaQueryWrapper<>(); + yhsclWrapper.eq(YxHistoryScoreControlLine::getCategory,activeCurrentUserScore.getCognitioPolyclinic()); + yhsclWrapper.in(YxHistoryScoreControlLine::getBatch,"本科","高职高专"); + yhsclWrapper.like(YxHistoryScoreControlLine::getProfessionalCategory,"音乐类-"); + List yhsclList = yxHistoryScoreControlLineService.list(yhsclWrapper); + for (YxHistoryScoreControlLine yhscl : yhsclList) { + String key = yhscl.getCategory()+"-"+ yhscl.getBatch()+"-"+yhscl.getProfessionalCategory(); + batchControlLineMaps.put(key,yhscl); + } + BigDecimal culturalControlLine = null; BigDecimal specialControlLine = null; BigDecimal nowYearProvincialControlLine = null;//当前年省控线 @@ -102,13 +115,38 @@ public class MusicService { BigDecimal yyScoreNow = yybysy.max(yybyqy).max(yyjy); int index = 0; if (CollectionUtils.isNotEmpty(recommendMajorList)) { + String majorChild_mainSubjects = ""; + String batchControlLineKey = ""; + YxHistoryScoreControlLine yxHistoryScoreControlLine = null; + String userProfessionalCategoryChildren = activeCurrentUserScore.getProfessionalCategoryChildren(); //遍历专业列表 for (RecommendMajorDTO recommendMajorDTO : recommendMajorList) { rulesEnrollProbability = recommendMajorDTO.getPrivateRulesEnrollProbability(); probabilityOperator = recommendMajorDTO.getPrivateProbabilityOperator(); + //将当期成绩按照专业录取分数方式折算 + majorTypeChild = recommendMajorDTO.getMajorTypeChild(); + mainSubjects = recommendMajorDTO.getMainSubjects(); - culturalControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getCulturalScore(); - specialControlLine = batchControlLineMaps.get(recommendMajorDTO.getBatch()).getSpecialScore(); + if(majorTypeChild.contains("音乐表演")){ + majorChild_mainSubjects="音乐表演"; + }else if(majorTypeChild.contains("音乐教育")){ + majorChild_mainSubjects="音乐教育"; + } + if(StringUtils.isNotBlank(userProfessionalCategoryChildren) && userProfessionalCategoryChildren.contains("声乐")){ + majorChild_mainSubjects+="声乐"; + }else if(StringUtils.isNotBlank(userProfessionalCategoryChildren) && userProfessionalCategoryChildren.contains("器乐")){ + majorChild_mainSubjects+="器乐"; + } + + batchControlLineKey = recommendMajorDTO.getCategory()+"-" + + (recommendMajorDTO.getBatch().contains("本科")?"本科":"高职高专")+"-音乐类-"+ + majorChild_mainSubjects; + yxHistoryScoreControlLine = batchControlLineMaps.get(batchControlLineKey); + if (yxHistoryScoreControlLine==null) { + continue; + } + culturalControlLine = yxHistoryScoreControlLine.getCulturalScore(); + specialControlLine = yxHistoryScoreControlLine.getSpecialScore(); //没有计算方式 跳过 if (StringUtils.isBlank(rulesEnrollProbability)) { continue; @@ -128,10 +166,6 @@ public class MusicService { continue; } - //将当期成绩按照专业录取分数方式折算 - majorTypeChild = recommendMajorDTO.getMajorTypeChild(); - mainSubjects = recommendMajorDTO.getMainSubjects(); - if (!"高职高专".equals(recommendMajorDTO.getBatch())) { if (recommendMajorDTO.getRulesEnrollProbability().equals("文过专排主科")) { professionalScore2 = activeCurrentUserScore.getProfessionalScore(); 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 703bd7d..293bb01 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 @@ -409,12 +409,12 @@ public class YxCalculationMajorServiceImpl extends ServiceImpl(Arrays.asList(activeCurrentUserScore.getProfessionalCategoryChildren().split(",")))); - if("表演类".equals(activeCurrentUserScore.getProfessionalCategory())){ - queryRecommendMajorVO.getPCategoryChildrenList().add("兼报"); - } - } +// if (StringUtils.isNotBlank(activeCurrentUserScore.getProfessionalCategoryChildren()) && !"高职高专".equals(queryRecommendMajorVO.getBatch())) { +// queryRecommendMajorVO.setPCategoryChildrenList(new ArrayList<>(Arrays.asList(activeCurrentUserScore.getProfessionalCategoryChildren().split(",")))); +// if("表演类".equals(activeCurrentUserScore.getProfessionalCategory())){ +// queryRecommendMajorVO.getPCategoryChildrenList().add("兼报"); +// } +// } //标签类别 if (StringUtils.isNotBlank(queryRecommendMajorVO.getTagsStrs())) { queryRecommendMajorVO.setTagsList(Arrays.asList(queryRecommendMajorVO.getTagsStrs().split(",")));