Package org.openurp.edu.service
Interface TeachResourceService
- All Known Implementing Classes:
TeachResourceServiceImpl
public interface TeachResourceService
教学资源管理服务类
教学资源涉及到的范畴为: 1)班级,2)教师,3)教室,4)学生
教学资源服务主要用来:
1)查询各种教学资源在指定时间
教学资源涉及到的范畴为: 1)班级,2)教师,3)教室,4)学生
教学资源服务主要用来:
1)查询各种教学资源在指定时间
WeekTime内是否被使用.
此时的WeekTime的各种参数都要设置齐全.提供这种服务的方法有
1)以getFreeRoom开头的方法,可以获得制定条件的空闲教室
2)以getFreeTeacher开头的方法,可以获得制定条件的空闲教师
3)以isXXXXOcuupy为命名方式的方法,通过返回的布尔值,提供在指定时间内的是否被占用
true为占用,false为空闲
2)查询各种教学资源在指定时间上的教学活动(排课和排考以及任何其他的借用、占用)
此时的code>WeekTime的参数除了教学占用周(weekState)必备外,其他参数可选.
提供的方法以getXXXXActivities(...)方式命名
-
Method Summary
Modifier and TypeMethodDescriptiongetClassrooms(Integer[] roomIds) getClassrooms(String roomIdSeq) 返回指定id串的教室,按照教学楼和教室代码排序.getClassrooms(Collection roomIds) 返回指定id的教室getElectCountRoomUtilizationOfCourse(List<Department> departments, Semester semester, Float ratio) 根据教学班学生人数统计课程教室利用率getFreeRoomsIn(Collection roomIds, org.beangle.orm.hibernate.udt.WeekTime[] times, Room room) 在已有的教室中查找空闲的教室org.beangle.commons.dao.query.builder.OqlBuilder<Classroom> getFreeRoomsOf(org.beangle.commons.dao.query.builder.OqlBuilder<Classroom> query, Map<String, Object> params, List<Department> departs, org.beangle.orm.hibernate.udt.WeekTime unit, List<Classroom> rooms) 查询指定的教学活动类型中特定部门的符合条件的空闲教室getFreeRoomsOf(Project project, Long[] departIds, org.beangle.orm.hibernate.udt.WeekTime[] times, Room room, org.beangle.commons.collection.page.PageLimit pageLimit, org.beangle.commons.collection.Order order) getFreeTeachersIn(Collection teacherIds, org.beangle.orm.hibernate.udt.WeekTime[] times, Teacher teacher) 返回指定部门管理的在times上空闲的教师getFreeTeachersOf(Project project, org.beangle.orm.hibernate.udt.WeekTime[] times, Teacher teacher, Teacher replaceTeacher, org.beangle.commons.collection.page.PageLimit pageLimit, String order) getRoomActivities(Classroom room, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester) getRoomActivities(Classroom room, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester, List<Department> departments, Project project) getRoomOccupyInfos(Integer roomId, Long weekStateNum, Integer year) getRoomUtilizationOfCourse(List<Department> departments, Semester semester, Float ratio) 根据教学班人数上限统计课程教室利用率getSquadActivities(Squad squad, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester) getSquadOccupyInfos(Long adminClassId, Long weekStateNum, Integer year) getStdActivities(Long stdId, org.beangle.orm.hibernate.udt.WeekTime time, Class activityClass, Semester semester) 查询所有给定时间段内的排课教学活动.
时间段中的weekId/startUnit/units可以为null
前置条件:std.id不为空.
time中的weekStateNum必须设置.getStdActivities(Student student, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester) getTeacherActivities(Teacher teacher, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester) getTeacherOccupyInfos(Long teacherId, Long weekStateNum, Integer year) intgetTeacherPeriod(Clazz clazz, Teacher teacher) getTeachers(Collection teacherIds) 返回指定id数组的教师列表booleanisRoomOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Serializable roomId) 查询指定id的教室在该时间点上是否被占用booleanisSessionRoomOccupied(ClazzActivity activity) 查询指定的Session上设置的教室的时间是否被占用booleanisSquadesOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Collection adminClasses) 查询一组行政班级在给定的时间上是否被占用booleanisSquadOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Long adminClassId) 查询指定id的行政班级在给定的时间上是否被占用booleanisStdOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Long stdId) 学生在该时间是否被占用booleanisStdsOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Collection stdIds) 学生在该时间是否被占用booleanisStdsOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Collection stdIds, Clazz expect) 学生在该时间是否被占用,除指定的任务外booleanisTeacherOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Long teacherId) 查询指定id的教师在给定的时间上是否被占用querySquadByOccupyInfo(Semester semester, Integer startWeek, Integer endWeek, Integer startWeekDay, Integer endWeekDay, Integer startUnit, Integer endUnit, boolean busy, DataRealm dataRealm) 根据占用信息来详细查询班级
-
Method Details
-
isStdOccupied
学生在该时间是否被占用- Parameters:
time-std-- Returns:
-
isStdsOccupied
学生在该时间是否被占用- Parameters:
time-std-- Returns:
-
isStdsOccupied
boolean isStdsOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Collection stdIds, Clazz expect) 学生在该时间是否被占用,除指定的任务外- Parameters:
time-std-- Returns:
-
isRoomOccupied
查询指定id的教室在该时间点上是否被占用- Parameters:
time-roomId-- Returns:
-
isSessionRoomOccupied
查询指定的Session上设置的教室的时间是否被占用- Parameters:
time-roomId-- Returns:
-
isTeacherOccupied
查询指定id的教师在给定的时间上是否被占用- Parameters:
time-teacherId-- Returns:
-
isSquadOccupied
查询指定id的行政班级在给定的时间上是否被占用- Parameters:
time-adminClassId-- Returns:
-
isSquadesOccupied
查询一组行政班级在给定的时间上是否被占用- Parameters:
time-adminClasses- 班级对象集合- Returns:
-
getFreeRoomsIn
Collection getFreeRoomsIn(Collection roomIds, org.beangle.orm.hibernate.udt.WeekTime[] times, Room room) 在已有的教室中查找空闲的教室- Returns:
-
getFreeRoomsOf
org.beangle.commons.dao.query.builder.OqlBuilder<Classroom> getFreeRoomsOf(org.beangle.commons.dao.query.builder.OqlBuilder<Classroom> query, Map<String, Object> params, List<Department> departs, org.beangle.orm.hibernate.udt.WeekTime unit, List<Classroom> rooms) 查询指定的教学活动类型中特定部门的符合条件的空闲教室 -
getFreeRoomsOf
Collection getFreeRoomsOf(Project project, Long[] departIds, org.beangle.orm.hibernate.udt.WeekTime[] times, Room room, org.beangle.commons.collection.page.PageLimit pageLimit, org.beangle.commons.collection.Order order) -
getStdActivities
List getStdActivities(Long stdId, org.beangle.orm.hibernate.udt.WeekTime time, Class activityClass, Semester semester) 查询所有给定时间段内的排课教学活动.
时间段中的weekId/startUnit/units可以为null
前置条件:std.id不为空.
time中的weekStateNum必须设置.- Parameters:
time-room-- Returns:
-
getRoomOccupyInfos
-
getTeacherOccupyInfos
-
getSquadOccupyInfos
-
getClassrooms
返回指定id的教室- Parameters:
roomIds- allocate scope- Returns:
-
getTeachers
返回指定id数组的教师列表- Parameters:
teacherIds-- Returns:
-
getClassrooms
返回指定id串的教室,按照教学楼和教室代码排序.- Parameters:
roomIdSeq-- Returns:
-
getClassrooms
-
getRoomUtilizationOfCourse
Map<ClazzActivity,Object[]> getRoomUtilizationOfCourse(List<Department> departments, Semester semester, Float ratio) 根据教学班人数上限统计课程教室利用率- Parameters:
semester-ratio-examType-limit-- Returns:
-
getElectCountRoomUtilizationOfCourse
Map<ClazzActivity,Object[]> getElectCountRoomUtilizationOfCourse(List<Department> departments, Semester semester, Float ratio) 根据教学班学生人数统计课程教室利用率- Parameters:
semester-ratio-examType-limit-- Returns:
-
querySquadByOccupyInfo
Collection<Squad> querySquadByOccupyInfo(Semester semester, Integer startWeek, Integer endWeek, Integer startWeekDay, Integer endWeekDay, Integer startUnit, Integer endUnit, boolean busy, DataRealm dataRealm) 根据占用信息来详细查询班级- Parameters:
semester- 学期startWeek- 起始周endWeek- 结束周startWeekDay- 起始星期endWeekDay- 结束星期startUnit- 起始小节endUnit- 结束小节busy- 在以上提供的上课信息上是否有课dataRealm- 数据级权限,如果为null,则不做权限控制- Returns:
-
getSquadActivities
List<ClazzActivity> getSquadActivities(Squad squad, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester) -
getTeacherActivities
List<ClazzActivity> getTeacherActivities(Teacher teacher, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester) -
getRoomActivities
List<ClazzActivity> getRoomActivities(Classroom room, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester) -
getRoomActivities
List<ClazzActivity> getRoomActivities(Classroom room, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester, List<Department> departments, Project project) -
getStdActivities
List<ClazzActivity> getStdActivities(Student student, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester) -
getFreeTeachersIn
Collection getFreeTeachersIn(Collection teacherIds, org.beangle.orm.hibernate.udt.WeekTime[] times, Teacher teacher) 返回指定部门管理的在times上空闲的教师- Parameters:
times-departIds-- Returns:
-
getFreeTeachersOf
-
getTeacherPeriod
-