This commit is contained in:
2026-08-28 11:52:33 +08:00
parent 84f1e9d4fd
commit 762e880a41
@@ -305,16 +305,19 @@ public class SchStudentLogService {
public void setTransferInLog(UserContext.UserInfo user, List<SchStudent> toUpdateStudents, public void setTransferInLog(UserContext.UserInfo user, List<SchStudent> toUpdateStudents,
Integer targetSchId, Integer targetClassId) { Integer targetSchId, Integer targetClassId) {
try { try {
String schName = comSchTreeService.getSchoolName(user.getSchId()); String schName = comSchTreeService.getSchoolName(targetSchId);
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// 1. 获取目标班级名称(本校) // 1. 获取目标班级名称(本校;按班级组ID查,兼容K12/职教,重复行取第一条不抛错)
String targetClassName = "未知班级"; String targetClassName = "未知班级";
List<BaseSchClassVO> targetClassList = schClassService.searcBaseSchClass( if (targetSchId != null && targetClassId != null) {
targetSchId, null, null, targetClassId); List<SchClass> targetClasses = schClassRepository.findBySchIdAndClassIds(
if (!targetClassList.isEmpty()) { targetSchId, Collections.singletonList(targetClassId));
BaseSchClassVO vo = targetClassList.get(0); if (!targetClasses.isEmpty()) {
targetClassName = vo.getGradeName() + vo.getName(); SchClass targetClass = targetClasses.get(0);
Map<Integer, String> targetGradeMap = baseSchsystemGradeService.getGradeNameMap(targetSchId, null, null);
targetClassName = targetGradeMap.getOrDefault(targetClass.getGradeId(), "未知年级") + targetClass.getName();
}
} }
// 2. 循环每个学生,生成独立日志 // 2. 循环每个学生,生成独立日志
@@ -327,12 +330,14 @@ public class SchStudentLogService {
String originalSchName = comSchTreeService.getSchoolName(originalSchId); String originalSchName = comSchTreeService.getSchoolName(originalSchId);
Map<Integer, String> gradeMap = baseSchsystemGradeService.getGradeNameMap(originalSchId, null, null); Map<Integer, String> gradeMap = baseSchsystemGradeService.getGradeNameMap(originalSchId, null, null);
// 查询原班级名称(可能跨校) // 查询原班级名称(可能跨校;按班级组ID查,重复行取第一条不抛错)
String originalClassName = "未知班级"; String originalClassName = "未知班级";
if (originalSchId != null && originalClassId != null) { if (originalSchId != null && originalClassId != null) {
SchClass originalClass = schClassRepository.findByClassIdAndSchId(originalClassId, originalSchId).orElse(null); List<SchClass> originalClasses = schClassRepository.findBySchIdAndClassIds(
if (originalClass != null) { originalSchId, Collections.singletonList(originalClassId));
originalClassName = gradeMap.get(originalClass.getGradeId()) + originalClass.getName(); if (!originalClasses.isEmpty()) {
SchClass originalClass = originalClasses.get(0);
originalClassName = gradeMap.getOrDefault(originalClass.getGradeId(), "未知年级") + originalClass.getName();
} }
} }