|
@@ -154,14 +154,20 @@ public class VoluntaryService {
|
|
|
|
|
|
|
|
public R<List<VoluntaryDto.AIRenderRule>> getAIRenderRules(VoluntaryDto.AIRenderRequest req) {
|
|
public R<List<VoluntaryDto.AIRenderRule>> getAIRenderRules(VoluntaryDto.AIRenderRequest req) {
|
|
|
Map cond = new HashMap();
|
|
Map cond = new HashMap();
|
|
|
- cond.put("year", getPlanYear(SecurityUtils.getLoginUser().getUser()));
|
|
|
|
|
|
|
+ Integer planYear = getPlanYear(SecurityUtils.getLoginUser().getUser());
|
|
|
|
|
+ cond.put("year", planYear);
|
|
|
Set<String> majorCodeSet = null;
|
|
Set<String> majorCodeSet = null;
|
|
|
|
|
+ String majorGroup = null;
|
|
|
if (ArrayUtils.isNotEmpty(req.getMajorEnrollCodes()) && StringUtils.isNotBlank(req.getMajorEnrollCodes()[0])) {
|
|
if (ArrayUtils.isNotEmpty(req.getMajorEnrollCodes()) && StringUtils.isNotBlank(req.getMajorEnrollCodes()[0])) {
|
|
|
List<Long> majorEnrollCodes = Arrays.asList(req.getMajorEnrollCodes()).stream().map(t -> NumberUtils.toLong(t, 0L)).collect(Collectors.toList());
|
|
List<Long> majorEnrollCodes = Arrays.asList(req.getMajorEnrollCodes()).stream().map(t -> NumberUtils.toLong(t, 0L)).collect(Collectors.toList());
|
|
|
- majorCodeSet = aMarjorPlanMapper.selectMajorCodesByIds(majorEnrollCodes.toArray(new Long[majorEnrollCodes.size()])).stream().collect(Collectors.toSet());
|
|
|
|
|
|
|
+ for(AMarjorPlan plan : aMarjorPlanMapper.selectMajorCodesByIds(majorEnrollCodes.toArray(new Long[majorEnrollCodes.size()]), planYear)) {
|
|
|
|
|
+ majorGroup = StringUtils.trimToEmpty(plan.getMajorGroup());
|
|
|
|
|
+ majorCodeSet = Sets.newHashSet(plan.getMajorCode());
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
if(CollectionUtils.isNotEmpty(majorCodeSet)) {
|
|
if(CollectionUtils.isNotEmpty(majorCodeSet)) {
|
|
|
- cond.put("majorCodes", majorCodeSet.toArray(new String[majorCodeSet.size()]));
|
|
|
|
|
|
|
+ cond.put("majorGroup", majorGroup);
|
|
|
|
|
+ cond.put("majorGroupCodes", majorCodeSet.toArray(new String[majorCodeSet.size()]));
|
|
|
} else if (ArrayUtils.isNotEmpty(req.getMajorCodes()) && StringUtils.isNotBlank(req.getMajorCodes()[0])) {
|
|
} else if (ArrayUtils.isNotEmpty(req.getMajorCodes()) && StringUtils.isNotBlank(req.getMajorCodes()[0])) {
|
|
|
cond.put("majorCodes", req.getMajorCodes());
|
|
cond.put("majorCodes", req.getMajorCodes());
|
|
|
} else if (ArrayUtils.isNotEmpty(req.getMajorTypes()) && StringUtils.isNotBlank(req.getMajorTypes()[0])) {
|
|
} else if (ArrayUtils.isNotEmpty(req.getMajorTypes()) && StringUtils.isNotBlank(req.getMajorTypes()[0])) {
|
|
@@ -576,11 +582,14 @@ public class VoluntaryService {
|
|
|
AMarjorSubmit lastSubmit = null;
|
|
AMarjorSubmit lastSubmit = null;
|
|
|
Boolean typeChange = false;
|
|
Boolean typeChange = false;
|
|
|
VoluntaryDto.FormulaScoreStat formulaScoreStat = new VoluntaryDto.FormulaScoreStat();
|
|
VoluntaryDto.FormulaScoreStat formulaScoreStat = new VoluntaryDto.FormulaScoreStat();
|
|
|
|
|
+ String needGroup = StringUtils.trimToEmpty(null != currPlan && null != currPlan.getMajorGroup() ? currPlan.getMajorGroup() : "");
|
|
|
String needMajor = StringUtils.trimToEmpty(null != currPlan ? currPlan.getMajorName() : (null != prof ? prof.getName() : ""));
|
|
String needMajor = StringUtils.trimToEmpty(null != currPlan ? currPlan.getMajorName() : (null != prof ? prof.getName() : ""));
|
|
|
String needDirect = StringUtils.trimToEmpty(null != currPlan ? currPlan.getMajorDirection() : "");
|
|
String needDirect = StringUtils.trimToEmpty(null != currPlan ? currPlan.getMajorDirection() : "");
|
|
|
String needMajorDirect = needMajor + needDirect;
|
|
String needMajorDirect = needMajor + needDirect;
|
|
|
// 判断是否政策变化情况
|
|
// 判断是否政策变化情况
|
|
|
- List<AEnrollUniversity> validEuList = enrollUniversityList.stream().filter(t -> t.getMajorNames().contains(needMajor)).collect(Collectors.toList());
|
|
|
|
|
|
|
+ List<AEnrollUniversity> validEuList = enrollUniversityList.stream()
|
|
|
|
|
+ .filter(t -> needGroup.equals(StringUtils.trimToEmpty(t.getMajorGroups())) && t.getMajorNames().contains(needMajor))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
typeChange = CollectionUtils.isNotEmpty(validEuList) && new Integer(1).equals(validEuList.get(0).getTypeChange());
|
|
typeChange = CollectionUtils.isNotEmpty(validEuList) && new Integer(1).equals(validEuList.get(0).getTypeChange());
|
|
|
|
|
|
|
|
Set<String> existSet = Sets.newHashSet();
|
|
Set<String> existSet = Sets.newHashSet();
|
|
@@ -605,7 +614,9 @@ public class VoluntaryService {
|
|
|
List<AEnrollScore> fEnrollScoreList = Lists.newArrayList();
|
|
List<AEnrollScore> fEnrollScoreList = Lists.newArrayList();
|
|
|
String inclMajorDirection = needMajor + "(" + needDirect + ")";
|
|
String inclMajorDirection = needMajor + "(" + needDirect + ")";
|
|
|
String exclMajorDirection = needMajor + "(";
|
|
String exclMajorDirection = needMajor + "(";
|
|
|
- Map<Boolean, List<AEnrollScore>> majorEnrollScoresMap = scoreList.stream().collect(Collectors.groupingBy(t -> StringUtils.isNotBlank(t.getMajorNames())));
|
|
|
|
|
|
|
+ Map<Boolean, List<AEnrollScore>> majorEnrollScoresMap = scoreList.stream()
|
|
|
|
|
+ .filter(t -> needGroup.equals(StringUtils.trimToEmpty(t.getMajorGroups())))
|
|
|
|
|
+ .collect(Collectors.groupingBy(t -> StringUtils.isNotBlank(t.getMajorNames())));
|
|
|
|
|
|
|
|
List<AEnrollScore> tmpEnrollScoreList = majorEnrollScoresMap.get(Boolean.TRUE);
|
|
List<AEnrollScore> tmpEnrollScoreList = majorEnrollScoresMap.get(Boolean.TRUE);
|
|
|
AEnrollScore skillEnrollScore = null;
|
|
AEnrollScore skillEnrollScore = null;
|