diff --git a/src/main/java/com/yunhai/bschclassmanage/service/IBaseSchsystemService.java b/src/main/java/com/yunhai/bschclassmanage/service/IBaseSchsystemService.java index 18bcdcd..6d0762d 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/IBaseSchsystemService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/IBaseSchsystemService.java @@ -9,5 +9,5 @@ import java.util.List; public interface IBaseSchsystemService { List getSchsystemList(); - + String getAcademicStageName(Integer schsystemId); } diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/BaseSchsystemService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/BaseSchsystemService.java index da8c853..bd47c07 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/BaseSchsystemService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/BaseSchsystemService.java @@ -3,10 +3,12 @@ package com.yunhai.bschclassmanage.service.impl; import com.yunhai.bschclassmanage.Repository.BaseSchsystemGradeRepository; import com.yunhai.bschclassmanage.Repository.BaseSchsystemRepository; import com.yunhai.bschclassmanage.entity.BaseSchsystem; +import com.yunhai.bschclassmanage.enums.AcademicStage; import com.yunhai.bschclassmanage.model.vo.TreeSelectVO; import com.yunhai.bschclassmanage.service.IBaseSchsystemService; import com.yunhai.bschclassmanage.utils.RedisConstants; import com.yunhai.bschclassmanage.utils.RedisUtil; +import com.yunhai.platform.utils.exception.DException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -52,4 +54,14 @@ public class BaseSchsystemService implements IBaseSchsystemService { } + public String getAcademicStageName(Integer schsystemId) + { + return getSchsystemList().stream() + .filter(s -> schsystemId.equals(s.getId())) + .findFirst() + .map(BaseSchsystem::getAcademicStage) + .map(AcademicStage::nameById) + .orElseThrow(()->new DException("学制未找到!")); + } + } diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java index ce7f798..967c688 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java @@ -252,7 +252,7 @@ public class SchBinSchsystemService implements ISchBinSchsystemService { //获取学段 List schsystemIds= getSchBinSchsystemIds(schId); - List baseSchsystems=baseSchsystemService.getSchsystemList().stream().filter(s->schsystemIds.contains(s.getId())).collect(Collectors.toList()); + //List baseSchsystems=baseSchsystemService.getSchsystemList().stream().filter(s->schsystemIds.contains(s.getId())).collect(Collectors.toList()); List schBinSchsystemList= getSchBinSchsystemList(schId); if(newList.size()==1) @@ -262,16 +262,10 @@ public class SchBinSchsystemService implements ISchBinSchsystemService { { Integer scort=1; for (SchBinSchsystem schsystem:schBinSchsystemList) { - //添加学段组 - Optional baseSchsystemFirst= baseSchsystems.stream().filter(s->Objects.equals( schsystem.getSchSystemId(),s.getId())).findFirst(); - if(baseSchsystemFirst.isPresent()) - { - String academicStageName= AcademicStage.nameById(baseSchsystemFirst.get().getAcademicStage()); - BoaGroup sectionGroup= sendUserBaseService.addGroup(academicStageName,stuGroup.getId(),scort,NodeType.SECTION,schId); - schsystem.setGroupId(sectionGroup.getId()); - scort++; - } - + String academicStageName= baseSchsystemService.getAcademicStageName(schsystem.getSchSystemId()); + BoaGroup sectionGroup= sendUserBaseService.addGroup(academicStageName,stuGroup.getId(),scort,NodeType.SECTION,schId); + schsystem.setGroupId(sectionGroup.getId()); + scort++; } }else { throw new DException("请选择学制!"); diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/classes/SchClassInfoService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/classes/SchClassInfoService.java index 0219a43..f95dd6f 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/classes/SchClassInfoService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/classes/SchClassInfoService.java @@ -50,6 +50,9 @@ public class SchClassInfoService { @Autowired private ISendUserBaseService sendUserBaseService; + @Autowired + private IBaseSchsystemService baseSchsystemService; + @Autowired private SchClassLogService logService; @@ -65,14 +68,10 @@ public class SchClassInfoService { throw new DException("学生组不存在!"); } Integer parentId=stuGroup.getId(); - Integer schsystemId = baseSchsystemGradeService.getSchGradeIdBySchsystemId(schId, gradeId); - - Map schsystemMap = schBinSchsystemService.getSchBinSchsystemMap(schId); - - if(schsystemMap.size()>1) + if(schBinSchsystemService.getSchBinSchsystemIds(schId).size()>1) { - String academicStageName= schsystemMap.get(schsystemId); + String academicStageName= baseSchsystemService.getAcademicStageName(schsystemId); List schAcademicStageList= comSchTreeService.getAcademicStageGroupList(schId); Optional academicStageFirst= schAcademicStageList.stream().filter(s->Objects.equals(s.getName(),academicStageName)).findFirst();