学制树

This commit is contained in:
2026-08-18 11:54:43 +08:00
parent 6976d1d9a5
commit 30461621b3
6 changed files with 64 additions and 5 deletions
@@ -8,6 +8,7 @@ import com.yunhai.bschclassmanage.enums.UserRole;
import com.yunhai.bschclassmanage.enums.UserType;
import com.yunhai.bschclassmanage.model.vo.AcademicStageSchsystemVO;
import com.yunhai.bschclassmanage.model.vo.SelectIntVO;
import com.yunhai.bschclassmanage.model.vo.TreeSelectVO;
import com.yunhai.bschclassmanage.service.IComSchTreeService;
import com.yunhai.bschclassmanage.service.ISchBinSchsystemService;
import com.yunhai.bschclassmanage.utils.LogContextHolder;
@@ -126,5 +127,10 @@ public class SchsystemController {
return schBinSchsystemService.selectSchBinSchsystem(UserContext.getSchId());
}
@GetMapping("selectTree")
public List<TreeSelectVO> selectSchsystemTree() {
return schBinSchsystemService.selectSchsystemTree();
}
}
@@ -0,0 +1,23 @@
package com.yunhai.bschclassmanage.model.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @Author wanghu
* @Date 2026-6-10 15:09 (可以根据需要修改)
* @Description:
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TreeSelectVO {
private String title;
private Integer value;
private List<TreeSelectVO> children;
}
@@ -5,6 +5,7 @@ import com.yunhai.bschclassmanage.enums.AcademicStage;
import com.yunhai.bschclassmanage.enums.SchType;
import com.yunhai.bschclassmanage.model.vo.AcademicStageSchsystemVO;
import com.yunhai.bschclassmanage.model.vo.SelectIntVO;
import com.yunhai.bschclassmanage.model.vo.TreeSelectVO;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -31,7 +32,10 @@ public interface ISchBinSchsystemService {
List<SelectIntVO> selectSchBinSchsystem(Integer schId);
List<TreeSelectVO> selectSchsystemTree();
Map<Integer, String> getSchBinSchsystemMap(Integer schId);
}
@@ -3,6 +3,7 @@ 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.model.vo.TreeSelectVO;
import com.yunhai.bschclassmanage.service.IBaseSchsystemService;
import com.yunhai.bschclassmanage.utils.RedisConstants;
import com.yunhai.bschclassmanage.utils.RedisUtil;
@@ -9,6 +9,7 @@ import com.yunhai.bschclassmanage.model.entityField.EntityFieldNames;
import com.yunhai.bschclassmanage.model.vo.AcademicStageSchsystemVO;
import com.yunhai.bschclassmanage.model.vo.SchSystemVO;
import com.yunhai.bschclassmanage.model.vo.SelectIntVO;
import com.yunhai.bschclassmanage.model.vo.TreeSelectVO;
import com.yunhai.bschclassmanage.service.IBaseSchsystemGradeService;
import com.yunhai.bschclassmanage.service.IBaseSchsystemService;
import com.yunhai.bschclassmanage.service.ISchBinSchsystemService;
@@ -209,4 +210,27 @@ public class SchBinSchsystemService implements ISchBinSchsystemService {
(oldVal, newVal) -> oldVal // 若key冲突,保留旧值(理论上不会冲突)
));
}
//学制树:第一层学段(value=学段id,title=学段名称),第二层学制(value=学制id,title=学制名称)
public List<TreeSelectVO> selectSchsystemTree() {
List<AcademicStageSchsystemVO> cached = getAcademicStageSchsystemList(null);
List<TreeSelectVO> list = new ArrayList<>();
for (AcademicStageSchsystemVO item : cached) {
List<TreeSelectVO> children = new ArrayList<>();
if (item.getAcademicStageList() != null) {
for (SchSystemVO sys : item.getAcademicStageList()) {
children.add(TreeSelectVO.builder()
.value(sys.getId())
.title(sys.getName())
.build());
}
}
list.add(TreeSelectVO.builder()
.value(item.getAcademicStageId())
.title(item.getAcademicStageName())
.children(children)
.build());
}
return list;
}
}
@@ -28,13 +28,14 @@ public class SyncGroupService implements ISyncGroupService {
if(Objects.equals(group.getType(),NodeType.SCHOOL.getId())){
addOrUpdateSchool(group);
}
if(Objects.equals(group.getType(),NodeType.CLASS.getId())){
//添加班级组 202406
//添加班级 gradeid ?
// 获取年级组 2024 获取当前学校学制 >1 获取学段组 初中 高中
{
//添加班级组 需要 年级组id
//判断是否绑定了学制
//判断年级组是哪个学制的 年级组名称(2026) 学制下的 年级id(grade_id)
}
}
}