接口 TeachResourceService

所有已知实现类:
TeachResourceServiceImpl

public interface TeachResourceService
教学资源管理服务类
教学资源涉及到的范畴为: 1)班级,2)教师,3)教室,4)学生
教学资源服务主要用来:
1)查询各种教学资源在指定时间WeekTime内是否被使用.
此时的WeekTime的各种参数都要设置齐全.提供这种服务的方法有
1)以getFreeRoom开头的方法,可以获得制定条件的空闲教室
2)以getFreeTeacher开头的方法,可以获得制定条件的空闲教师
3)以isXXXXOcuupy为命名方式的方法,通过返回的布尔值,提供在指定时间内的是否被占用
true为占用,false为空闲
2)查询各种教学资源在指定时间上的教学活动(排课和排考以及任何其他的借用、占用)
此时的code>WeekTime的参数除了教学占用周(weekState)必备外,其他参数可选.
提供的方法以getXXXXActivities(...)方式命名
  • 方法详细资料

    • isStdOccupied

      boolean isStdOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Long stdId)
      学生在该时间是否被占用
      参数:
      time -
      std -
      返回:
    • isStdsOccupied

      boolean isStdsOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Collection stdIds)
      学生在该时间是否被占用
      参数:
      time -
      std -
      返回:
    • isStdsOccupied

      boolean isStdsOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Collection stdIds, Clazz expect)
      学生在该时间是否被占用,除指定的任务外
      参数:
      time -
      std -
      返回:
    • isRoomOccupied

      boolean isRoomOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Serializable roomId)
      查询指定id的教室在该时间点上是否被占用
      参数:
      roomId -
      time -
      返回:
    • isSessionRoomOccupied

      boolean isSessionRoomOccupied(Session activity)
      查询指定的Session上设置的教室的时间是否被占用
      参数:
      time -
      roomId -
      返回:
    • isTeacherOccupied

      boolean isTeacherOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Long teacherId)
      查询指定id的教师在给定的时间上是否被占用
      参数:
      time -
      teacherId -
      返回:
    • isSquadOccupied

      boolean isSquadOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Long adminClassId)
      查询指定id的行政班级在给定的时间上是否被占用
      参数:
      time -
      adminClassId -
      返回:
    • isSquadesOccupied

      boolean isSquadesOccupied(org.beangle.orm.hibernate.udt.WeekTime time, Collection adminClasses)
      查询一组行政班级在给定的时间上是否被占用
      参数:
      time -
      adminClasses - 班级对象集合
      返回:
    • getFreeRoomsIn

      Collection getFreeRoomsIn(Collection roomIds, org.beangle.orm.hibernate.udt.WeekTime[] times, Room room)
      在已有的教室中查找空闲的教室
      返回:
    • 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必须设置.

      参数:
      room -
      time -
      返回:
    • getRoomOccupyInfos

      List getRoomOccupyInfos(Integer roomId, Long weekStateNum, Integer year)
    • getTeacherOccupyInfos

      List getTeacherOccupyInfos(Long teacherId, Long weekStateNum, Integer year)
    • getSquadOccupyInfos

      List getSquadOccupyInfos(Long adminClassId, Long weekStateNum, Integer year)
    • getClassrooms

      List getClassrooms(Collection roomIds)
      返回指定id的教室
      参数:
      roomIds - allocate scope
      返回:
    • getTeachers

      List getTeachers(Collection teacherIds)
      返回指定id数组的教师列表
      参数:
      teacherIds -
      返回:
    • getClassrooms

      List getClassrooms(String roomIdSeq)
      返回指定id串的教室,按照教学楼和教室代码排序.
      参数:
      roomIdSeq -
      返回:
    • getClassrooms

      List getClassrooms(Integer[] roomIds)
    • getRoomUtilizationOfCourse

      Map<Session,Object[]> getRoomUtilizationOfCourse(List<Department> departments, Semester semester, Float ratio)
      根据教学班人数上限统计课程教室利用率
      参数:
      semester -
      examType -
      limit -
      ratio -
      返回:
    • getElectCountRoomUtilizationOfCourse

      Map<Session,Object[]> getElectCountRoomUtilizationOfCourse(List<Department> departments, Semester semester, Float ratio)
      根据教学班学生人数统计课程教室利用率
      参数:
      semester -
      examType -
      limit -
      ratio -
      返回:
    • querySquadByOccupyInfo

      Collection<Squad> querySquadByOccupyInfo(Semester semester, Integer startWeek, Integer endWeek, Integer startWeekDay, Integer endWeekDay, Integer startUnit, Integer endUnit, boolean busy, DataRealm dataRealm)
      根据占用信息来详细查询班级
      参数:
      semester - 学期
      startWeek - 起始周
      endWeek - 结束周
      startWeekDay - 起始星期
      endWeekDay - 结束星期
      startUnit - 起始小节
      endUnit - 结束小节
      busy - 在以上提供的上课信息上是否有课
      dataRealm - 数据级权限,如果为null,则不做权限控制
      返回:
    • getSquadActivities

      List<Session> getSquadActivities(Squad squad, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester)
    • getTeacherActivities

      List<Session> getTeacherActivities(Teacher teacher, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester)
    • getRoomActivities

      List<Session> getRoomActivities(Classroom room, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester)
    • getRoomActivities

      List<Session> getRoomActivities(Classroom room, org.beangle.orm.hibernate.udt.WeekTime time, Semester semester, List<Department> departments, Project project)
    • getStdActivities

      List<Session> 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上空闲的教师
      参数:
      departIds -
      times -
      返回:
    • getFreeTeachersOf

      Collection<Teacher> getFreeTeachersOf(Project project, org.beangle.orm.hibernate.udt.WeekTime[] times, Teacher teacher, Teacher replaceTeacher, org.beangle.commons.collection.page.PageLimit pageLimit, String order)
    • getTeacherPeriod

      int getTeacherPeriod(Clazz clazz, Teacher teacher)