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,
Integer targetSchId, Integer targetClassId) {
try {
String schName = comSchTreeService.getSchoolName(user.getSchId());
String schName = comSchTreeService.getSchoolName(targetSchId);
LocalDateTime now = LocalDateTime.now();
// 1. 获取目标班级名称(本校)
// 1. 获取目标班级名称(本校;按班级组ID查,兼容K12/职教,重复行取第一条不抛错)
String targetClassName = "未知班级";
List<BaseSchClassVO> targetClassList = schClassService.searcBaseSchClass(
targetSchId, null, null, targetClassId);
if (!targetClassList.isEmpty()) {
BaseSchClassVO vo = targetClassList.get(0);
targetClassName = vo.getGradeName() + vo.getName();
if (targetSchId != null && targetClassId != null) {
List<SchClass> targetClasses = schClassRepository.findBySchIdAndClassIds(
targetSchId, Collections.singletonList(targetClassId));
if (!targetClasses.isEmpty()) {
SchClass targetClass = targetClasses.get(0);
Map<Integer, String> targetGradeMap = baseSchsystemGradeService.getGradeNameMap(targetSchId, null, null);
targetClassName = targetGradeMap.getOrDefault(targetClass.getGradeId(), "未知年级") + targetClass.getName();
}
}
// 2. 循环每个学生,生成独立日志
@@ -327,12 +330,14 @@ public class SchStudentLogService {
String originalSchName = comSchTreeService.getSchoolName(originalSchId);
Map<Integer, String> gradeMap = baseSchsystemGradeService.getGradeNameMap(originalSchId, null, null);
// 查询原班级名称(可能跨校)
// 查询原班级名称(可能跨校;按班级组ID查,重复行取第一条不抛错)
String originalClassName = "未知班级";
if (originalSchId != null && originalClassId != null) {
SchClass originalClass = schClassRepository.findByClassIdAndSchId(originalClassId, originalSchId).orElse(null);
if (originalClass != null) {
originalClassName = gradeMap.get(originalClass.getGradeId()) + originalClass.getName();
List<SchClass> originalClasses = schClassRepository.findBySchIdAndClassIds(
originalSchId, Collections.singletonList(originalClassId));
if (!originalClasses.isEmpty()) {
SchClass originalClass = originalClasses.get(0);
originalClassName = gradeMap.getOrDefault(originalClass.getGradeId(), "未知年级") + originalClass.getName();
}
}