Class PlanCourseGroupCommonDaoHibernate
java.lang.Object
org.beangle.orm.hibernate.HibernateEntityDao
org.openurp.edu.program.plan.dao.impl.PlanCourseGroupCommonDaoHibernate
- All Implemented Interfaces:
org.beangle.commons.dao.EntityDao,PlanCourseGroupCommonDao
public class PlanCourseGroupCommonDaoHibernate
extends org.beangle.orm.hibernate.HibernateEntityDao
implements PlanCourseGroupCommonDao
-
Nested Class Summary
Nested classes/interfaces inherited from class org.beangle.orm.hibernate.HibernateEntityDao
org.beangle.orm.hibernate.HibernateEntityDao.QuerySupport -
Field Summary
Fields inherited from class org.beangle.orm.hibernate.HibernateEntityDao
logger, modelMeta, sessionFactory -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCourseGroupToPlan(CourseGroup group, CourseGroup parent, CoursePlan plan) 给培养计划添加二级/更低级的课程组
会重算课程组和整个计划的学分voidaddCourseGroupToPlan(CourseGroup group, CoursePlan plan) 给培养计划添加一级课程组
会重算课程组和整个计划的学分protected static voidaddGroup(CoursePlan plan, CourseGroup group) copyCourseGroup(CourseGroup sourceCourseGroup, CourseGroup parentAttachTo, CoursePlan planAttachTo, Class<?> groupClazz, Class<?> pcClazz) 复制一个课程组(包括子课程组)到一个培养计划中copyPlanCourse(PlanCourse sourcePlanCourse, CourseGroup courseGroupAttachTo, Class<?> pcClazz) List<? extends PlanCourse>copyPlanCourses(List<? extends PlanCourse> sourcePlanCourses, CourseGroup courseGroupAttachTo, Class<?> pcClazz) extractCourseInCourseGroup(ExecutiveCourseGroup group, String terms) 获得一个课程组内,属于terms学期的课程extractPlanCourseInCourseGroup(ExecutiveCourseGroup group, Set<String> terms) 获得一个课程组内,属于terms学期的计划课程getCourseGroupByCourseType(CourseGroup planGroup, Long planId, Integer courseTypeId) 根据课程类别获得一个计划中的课程组protected static List<CourseGroup>getTopGroup(CourseGroup group) 获得当前课程组的最祖先的节点,有可能直接返回自己voidremoveCourseGroup(CourseGroup group) 删除一个课程组,不管这个课程组处于第几层
会重算课程组和整个计划的学分protected static voidreSortCourseGroups(CoursePlan plan) 重新对课程组进行排序,课程组是树形结构的(一个课程组可以有子课程组)
但是在TeachPlan里面的courseGroups是将所有课程组里都存放进来(不考虑树形结构)
这些课程组是以前序遍历的结果为顺序排列的void保存/更新培养计划课程组,但是仅限于课程组的父课程类别没有变动过的情况
会重算课程组和整个计划的学分voidsetPlanCommonDao(PlanCommonDao planCommonDao) voidupdateCourseGroupMoveDown(CourseGroup courseGroup) 将课程组下移一个位置voidupdateCourseGroupMoveUp(CourseGroup courseGroup) 将课程组上移一个位置voidupdateCourseGroupParent(CourseGroup group, CourseGroup newParent, CoursePlan plan) 这个方法还未实现,实现起来有难度
将一个group的parent换成别的parent
parent可以为null,这样一来就变成了顶级课程组void统计从当前课程组往下(包括当前课程组)所有层级的学分要求
采用递归统计,先从最地下开始统计,逐渐往上回溯
统计逻辑为:
如果是必修课程组,则将所有子组学分相加
如果非必修课程组,则维持原学分要求,不改变
统计学分分布
统计课时分布void级联更新指定组的父组学分Methods inherited from class org.beangle.orm.hibernate.HibernateEntityDao
count, count, count, createBlob, createBlob, createClob, duplicate, duplicate, evict, execute, execute, executeUpdate, executeUpdate, executeUpdateRepeatly, exist, exist, exist, get, get, get, get, get, get, get, get, get, getAll, getSession, initialize, refresh, remove, remove, remove, remove, remove, save, saveOrUpdate, saveOrUpdate, saveOrUpdate, saveOrUpdate, search, search, search, search, search, setModelMeta, setSessionFactory, uniqueResult, update, update
-
Constructor Details
-
PlanCourseGroupCommonDaoHibernate
public PlanCourseGroupCommonDaoHibernate()
-
-
Method Details
-
saveOrUpdateCourseGroup
Description copied from interface:PlanCourseGroupCommonDao保存/更新培养计划课程组,但是仅限于课程组的父课程类别没有变动过的情况
会重算课程组和整个计划的学分- Specified by:
saveOrUpdateCourseGroupin interfacePlanCourseGroupCommonDao- See Also:
-
PlanCourseGroupCommonDao.updateGroupTreeCreditsPlanCommonDao.statPlanCredits
-
updateCourseGroupParent
Description copied from interface:PlanCourseGroupCommonDao这个方法还未实现,实现起来有难度
将一个group的parent换成别的parent
parent可以为null,这样一来就变成了顶级课程组- Specified by:
updateCourseGroupParentin interfacePlanCourseGroupCommonDao- Parameters:
group- 必须是persisitent对象newParent- 必须是persisitent对象或者为nullplan- 必须是persisitent对象
-
addCourseGroupToPlan
Description copied from interface:PlanCourseGroupCommonDao给培养计划添加一级课程组
会重算课程组和整个计划的学分- Specified by:
addCourseGroupToPlanin interfacePlanCourseGroupCommonDao- Parameters:
group- 必须是一个transient瞬态对象plan- 必须是一个persistent持久化对象- See Also:
-
PlanCourseGroupCommonDao.updateGroupTreeCreditsPlanCommonDao.statPlanCredits
-
addCourseGroupToPlan
Description copied from interface:PlanCourseGroupCommonDao给培养计划添加二级/更低级的课程组
会重算课程组和整个计划的学分- Specified by:
addCourseGroupToPlanin interfacePlanCourseGroupCommonDao- Parameters:
group- 必须是一个transient瞬态对象parent- 必须是一个persistent持久化对象,parent课程组必须已经是plan的子课程组plan- 必须是一个persistent持久化对象- See Also:
-
PlanCourseGroupCommonDao.updateGroupTreeCreditsPlanCommonDao.statPlanCredits
-
removeCourseGroup
Description copied from interface:PlanCourseGroupCommonDao删除一个课程组,不管这个课程组处于第几层
会重算课程组和整个计划的学分- Specified by:
removeCourseGroupin interfacePlanCourseGroupCommonDao- See Also:
-
PlanCourseGroupCommonDao.updateGroupTreeCreditsPlanCommonDao.statPlanCredits
-
getTopGroup
Description copied from interface:PlanCourseGroupCommonDao获得当前课程组的最祖先的节点,有可能直接返回自己- Specified by:
getTopGroupin interfacePlanCourseGroupCommonDao- Returns:
-
updateParentGroupCredits
级联更新指定组的父组学分- Parameters:
group-
-
updateGroupTreeCredits
Description copied from interface:PlanCourseGroupCommonDao统计从当前课程组往下(包括当前课程组)所有层级的学分要求
采用递归统计,先从最地下开始统计,逐渐往上回溯
统计逻辑为:
如果是必修课程组,则将所有子组学分相加
如果非必修课程组,则维持原学分要求,不改变
统计学分分布
统计课时分布- Specified by:
updateGroupTreeCreditsin interfacePlanCourseGroupCommonDao
-
updateCourseGroupMoveDown
Description copied from interface:PlanCourseGroupCommonDao将课程组下移一个位置- Specified by:
updateCourseGroupMoveDownin interfacePlanCourseGroupCommonDao
-
getPreOrderTraversalChildren
-
reSortCourseGroups
重新对课程组进行排序,课程组是树形结构的(一个课程组可以有子课程组)
但是在TeachPlan里面的courseGroups是将所有课程组里都存放进来(不考虑树形结构)
这些课程组是以前序遍历的结果为顺序排列的 -
addGroup
-
updateCourseGroupMoveUp
Description copied from interface:PlanCourseGroupCommonDao将课程组上移一个位置- Specified by:
updateCourseGroupMoveUpin interfacePlanCourseGroupCommonDao
-
getCourseGroupByCourseType
public ExecutiveCourseGroup getCourseGroupByCourseType(CourseGroup planGroup, Long planId, Integer courseTypeId) Description copied from interface:PlanCourseGroupCommonDao根据课程类别获得一个计划中的课程组- Specified by:
getCourseGroupByCourseTypein interfacePlanCourseGroupCommonDao- Returns:
-
extractCourseInCourseGroup
Description copied from interface:PlanCourseGroupCommonDao获得一个课程组内,属于terms学期的课程- Specified by:
extractCourseInCourseGroupin interfacePlanCourseGroupCommonDao- Returns:
-
extractPlanCourseInCourseGroup
public List<ExecutivePlanCourse> extractPlanCourseInCourseGroup(ExecutiveCourseGroup group, Set<String> terms) Description copied from interface:PlanCourseGroupCommonDao获得一个课程组内,属于terms学期的计划课程- Specified by:
extractPlanCourseInCourseGroupin interfacePlanCourseGroupCommonDao- Returns:
-
copyCourseGroup
public CourseGroup copyCourseGroup(CourseGroup sourceCourseGroup, CourseGroup parentAttachTo, CoursePlan planAttachTo, Class<?> groupClazz, Class<?> pcClazz) 复制一个课程组(包括子课程组)到一个培养计划中- Specified by:
copyCourseGroupin interfacePlanCourseGroupCommonDao- Parameters:
sourceCourseGroup-parentAttachTo- 必须是一个持久态persistent对象,复制成哪个课程组的子课程组,可以为null,如果为null则为顶级课程组,planAttachTo- 必须是一个持久态persistent对象- Returns:
-
copyPlanCourses
public List<? extends PlanCourse> copyPlanCourses(List<? extends PlanCourse> sourcePlanCourses, CourseGroup courseGroupAttachTo, Class<?> pcClazz) -
copyPlanCourse
public PlanCourse copyPlanCourse(PlanCourse sourcePlanCourse, CourseGroup courseGroupAttachTo, Class<?> pcClazz) - Specified by:
copyPlanCoursein interfacePlanCourseGroupCommonDao
-
setPlanCommonDao
-