Package org.openurp.edu.program.plan.dao
Interface PlanCourseGroupCommonDao
- All Known Implementing Classes:
PlanCourseGroupCommonDaoHibernate
public interface PlanCourseGroupCommonDao
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddCourseGroupToPlan(CourseGroup group, CourseGroup parent, CoursePlan plan) 给培养计划添加二级/更低级的课程组
会重算课程组和整个计划的学分voidaddCourseGroupToPlan(CourseGroup group, CoursePlan plan) Deprecated.copyCourseGroup(CourseGroup sourceCourseGroup, CourseGroup parentAttachTo, CoursePlan planAttachTo, Class<?> groupClazz, Class<?> pcClazz) copyPlanCourse(PlanCourse sourcePlanCourse, CourseGroup courseGroupAttachTo, Class<?> pcClazz) extractCourseInCourseGroup(ExecutiveCourseGroup group, String terms) 获得一个课程组内,属于terms学期的课程extractPlanCourseInCourseGroup(ExecutiveCourseGroup group, Set<String> terms) 获得一个课程组内,属于terms学期的计划课程getCourseGroupByCourseType(CourseGroup planGroup, Long planId, Integer courseTypeId) 根据课程类别获得一个计划中的课程组getTopGroup(CourseGroup group) 获得当前课程组的最祖先的节点,有可能直接返回自己voidremoveCourseGroup(CourseGroup group) 删除一个课程组,不管这个课程组处于第几层
会重算课程组和整个计划的学分void保存/更新培养计划课程组,但是仅限于课程组的父课程类别没有变动过的情况
会重算课程组和整个计划的学分voidupdateCourseGroupMoveDown(CourseGroup courseGroup) Deprecated.voidupdateCourseGroupMoveUp(CourseGroup courseGroup) Deprecated.voidupdateCourseGroupParent(CourseGroup group, CourseGroup newParent, CoursePlan plan) Deprecated.void统计从当前课程组往下(包括当前课程组)所有层级的学分要求
采用递归统计,先从最地下开始统计,逐渐往上回溯
统计逻辑为:
如果是必修课程组,则将所有子组学分相加
如果非必修课程组,则维持原学分要求,不改变
统计学分分布
统计课时分布
-
Method Details
-
saveOrUpdateCourseGroup
保存/更新培养计划课程组,但是仅限于课程组的父课程类别没有变动过的情况
会重算课程组和整个计划的学分- Parameters:
group-- See Also:
-
addCourseGroupToPlan
Deprecated.给培养计划添加一级课程组
会重算课程组和整个计划的学分- Parameters:
group- 必须是一个transient瞬态对象plan- 必须是一个persistent持久化对象- See Also:
-
addCourseGroupToPlan
给培养计划添加二级/更低级的课程组
会重算课程组和整个计划的学分- Parameters:
group- 必须是一个transient瞬态对象parent- 必须是一个persistent持久化对象,parent课程组必须已经是plan的子课程组plan- 必须是一个persistent持久化对象- See Also:
-
removeCourseGroup
删除一个课程组,不管这个课程组处于第几层
会重算课程组和整个计划的学分- Parameters:
group-plan-- See Also:
-
updateCourseGroupMoveDown
Deprecated.将课程组下移一个位置- Parameters:
courseGroup-
-
updateCourseGroupMoveUp
Deprecated.将课程组上移一个位置- Parameters:
courseGroup-
-
getCourseGroupByCourseType
根据课程类别获得一个计划中的课程组- Parameters:
planId-courseTypeId-plan-- Returns:
-
updateCourseGroupParent
Deprecated.这个方法还未实现,实现起来有难度
将一个group的parent换成别的parent
parent可以为null,这样一来就变成了顶级课程组- Parameters:
group- 必须是persisitent对象newParent- 必须是persisitent对象或者为nullplan- 必须是persisitent对象
-
extractCourseInCourseGroup
获得一个课程组内,属于terms学期的课程- Parameters:
group-terms-- Returns:
-
extractPlanCourseInCourseGroup
List<ExecutivePlanCourse> extractPlanCourseInCourseGroup(ExecutiveCourseGroup group, Set<String> terms) 获得一个课程组内,属于terms学期的计划课程- Parameters:
group-terms-- Returns:
-
updateGroupTreeCredits
统计从当前课程组往下(包括当前课程组)所有层级的学分要求
采用递归统计,先从最地下开始统计,逐渐往上回溯
统计逻辑为:
如果是必修课程组,则将所有子组学分相加
如果非必修课程组,则维持原学分要求,不改变
统计学分分布
统计课时分布- Parameters:
group-
-
getTopGroup
获得当前课程组的最祖先的节点,有可能直接返回自己- Parameters:
group-- Returns:
-
copyCourseGroup
CourseGroup copyCourseGroup(CourseGroup sourceCourseGroup, CourseGroup parentAttachTo, CoursePlan planAttachTo, Class<?> groupClazz, Class<?> pcClazz) -
copyPlanCourse
PlanCourse copyPlanCourse(PlanCourse sourcePlanCourse, CourseGroup courseGroupAttachTo, Class<?> pcClazz)
-