From 3e18856c0c04d1ed04da4d1791e2aeb4ac49f5dc Mon Sep 17 00:00:00 2001 From: wanghu Date: Sun, 20 Sep 2026 19:28:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E7=A7=91=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SchDicSubjectService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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; } }