All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openurp.edu.base.model.Course.scala Maven / Gradle / Ivy

There is a newer version: 0.18.1
Show newest version
/*
 * OpenURP, Agile University Resource Planning Solution
 *
 * Copyright (c) 2014-2015, OpenURP Software.
 *
 * OpenURP is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * OpenURP is distributed in the hope that it will be useful.
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with OpenURP.  If not, see .
 */
package org.openurp.edu.base.model

import org.beangle.commons.collection.Collections
import org.beangle.data.model.{ Coded, LongId, Named, TemporalOn, Updated }
import org.beangle.data.model.annotation.code
import org.openurp.base.model.Department
import org.openurp.edu.base.ProjectBased
import org.openurp.edu.base.code.model.{ CourseAbilityRate, CourseCategory, CourseHourType, CourseType, Education, ExamMode, ScoreMarkStyle }

/**
 * 课程基本信息 

* 记录课程代码、名称、学分、课时等基本信息,课程的关键业务属性为课程名称、学分、课时、考核方式等与课程有关的属性,其它类似课程类别、所属部门等 * 均可以看作非关键属性。

如课程不要求记录学分、不做考核要求、不计算绩点等额外要求需要培养方案、成绩等环节进行额外处理,不在课程部分进行规定。 *

* 课程的学历层次可以不加指定,为空时表示适用与对应项目下的所有学历层次。 * * @depend - - - CourseCategory * @depend - - - Department * @depend - - - CourseType * @depend - - - ExamMode * @author chaostone * @since 2008-09-24 */ class Course extends LongId with ProjectBased with Ordered[Course] with Updated with TemporalOn with Coded with Named { /**课程英文名*/ var enName: String = _ /** 学历层次 */ var educations = Collections.newBuffer[Education] /**课程种类代码*/ var category: CourseCategory = _ /**学分*/ var credits: java.lang.Float = _ /** 学时/总课时 */ var period: Int = _ /**课程类型*/ var courseType: CourseType = _ /** 分类课时 */ var hours: collection.mutable.Seq[CourseHour] = new collection.mutable.ListBuffer[CourseHour] /** 周数*/ var weeks: Int = _ /**周课时*/ var weekHour: Int = _ /**院系*/ var department: Department = _ /** 考试方式 */ var examMode: ExamMode = _ /** 成绩记录方式 */ var markStyle: ScoreMarkStyle = _ /** 能力等级 */ var abilityRates = Collections.newSet[CourseAbilityRate] /**针对专业*/ var majors = Collections.newSet[Major] /**排除专业*/ var xmajors = Collections.newSet[Major] /**推荐教材*/ var textbooks = Collections.newSet[Textbook] /**教师*/ var teachers = Collections.newSet[Teacher] /**课程备注*/ var remark: String = _ /** 是否计算绩点 **/ var calgp: Boolean = _ override def compare(other: Course): Int = { code.compareTo(other.code) } def this(id: java.lang.Long, code: String, name: String, enName: String) { this() this.id = id this.code = code this.name = name this.enName = enName } } /** * 课程分类课时信息 * * @author chaostone */ class CourseHour extends LongId { var course: Course = _ var period: Int = _ var weekHour: Int = _ var weeks: Int = _ var hourType: CourseHourType = _ }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy