diff --git a/src/main/java/com/yunhai/bschclassmanage/controller/oapi/oa/TeaChesController.java b/src/main/java/com/yunhai/bschclassmanage/controller/oapi/oa/TeaChesController.java index 9864f05..880f4c0 100644 --- a/src/main/java/com/yunhai/bschclassmanage/controller/oapi/oa/TeaChesController.java +++ b/src/main/java/com/yunhai/bschclassmanage/controller/oapi/oa/TeaChesController.java @@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import com.yunhai.bschclassmanage.Repository.*; import com.yunhai.bschclassmanage.config.Config; import com.yunhai.bschclassmanage.entity.*; +import com.yunhai.bschclassmanage.enums.TransferStatus; import com.yunhai.bschclassmanage.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -20,7 +21,7 @@ import java.util.stream.Collectors; public class TeaChesController { @Autowired private SchClassTeachRepository teachingRepository; @Autowired private SchInfoRepository schoolRepository; - @Autowired private ISchTeacherService teacherService; + @Autowired private SchTeacherGroupRepository teacherGroupRepository; @Autowired private ISchClassService classService; @Autowired private ISchDicSubjectService subjectService; @@ -62,14 +63,14 @@ public class TeaChesController { List list = teachingRepository.findAll().stream().filter(t -> ids.contains(t.getSchId())).collect(Collectors.toList()); return ResponseEntity.ok(normalFiltered(list).stream().map(t -> OaCompatSupport.teaching(t, schoolSer(t.getSchId()))).collect(Collectors.toList())); } - /** 只保留正常教师(status=1)、正常班级(未毕业)、启用学科(enable=true)的任教记录,按学校分别过滤 */ + /** 只保留正常教师(sch_teacher_group 中 transfer_status=转入)、正常班级(未毕业)、启用学科(enable=true)的任教记录,按学校分别过滤 */ private List normalFiltered(List teaches) { List out = new ArrayList<>(); Map> bySch = new HashMap<>(); for (SchClassTeach t : teaches) if (t.getSchId() != null) bySch.computeIfAbsent(t.getSchId(), k -> new ArrayList<>()).add(t); for (Map.Entry> e : bySch.entrySet()) { Integer schId = e.getKey(); - Set teaIds = teacherService.getSchTeacherCacheList(schId).stream().filter(t -> t.getStatus() == 1).map(SchTeacher::getTeaId).collect(Collectors.toSet()); + Set teaIds = teacherGroupRepository.findBySchIdAndTransferStatus(schId, TransferStatus.IN.getId()).stream().map(SchTeacherGroup::getTeaId).collect(Collectors.toSet()); Set classIds = classService.getSchAllClassCacheList(schId).stream().filter(c -> !Boolean.TRUE.equals(c.getGraduate()) && c.getClassId() != null).map(SchClass::getClassId).collect(Collectors.toSet()); Set subCodes = subjectService.toEnableIdAndNameMap(schId, null).keySet(); for (SchClassTeach t : e.getValue()) if (teaIds.contains(t.getTeaId()) && classIds.contains(t.getClassId()) && t.getSubId() != null && subCodes.contains(t.getSubId())) out.add(t);