diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/SchDicSubjectService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/SchDicSubjectService.java index 1d1af47..ba02a01 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/SchDicSubjectService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/SchDicSubjectService.java @@ -348,6 +348,16 @@ public class SchDicSubjectService implements ISchDicSubjectService { List list = getSchDicSubjectCacheList(schId, schsystemId).stream() .filter(s -> Boolean.TRUE.equals(s.getEnable())) .collect(Collectors.toList()); - return ModelMapperUtil.toMap(list, SchDicSubject::getCode, SchDicSubject::getName); + // 按序号升序排序(null 排最后),与学科管理列表口径一致 + list.sort(Comparator.comparing(SchDicSubject::getSort, + Comparator.nullsLast(Comparator.naturalOrder()))); + // LinkedHashMap 保持排序后的遍历顺序;重复 code 保留第一个 + Map map = new LinkedHashMap<>(); + for (SchDicSubject subject : list) { + if (subject.getCode() != null) { + map.putIfAbsent(subject.getCode(), subject.getName()); + } + } + return map; } }