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

org.openurp.edu.lesson.model.Teachclass.scala Maven / Gradle / Ivy

/*
 * OpenURP, Agile University Resource Planning Solution
 *
 * Copyright (c) 2014-2017, OpenURP Software.
 *
 * OpenURP is free software: you can redistribute it and/or modify
 * it under the terms of the GNU 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with OpenURP.  If not, see .
 */
package org.openurp.edu.lesson.model

import org.beangle.commons.collection.Collections
import org.beangle.commons.lang.annotation.value
import org.beangle.data.model.Component
import org.beangle.data.model.pojo.Named
import org.openurp.base.model.Department

import Teachclass.GenderRatio

class Teachclass extends Cloneable with Component with Named {

  /** 学生所在部门 */
  var depart: Option[Department] = None

  /**年级*/
  var grade: Option[String] = None

  /** 学生人数 */
  var stdCount: Int = _

  /** 最大人数 */
  var limitCount: Int = _

  /**
   * 是否锁定人数上限
   */
  var limitLocked: Boolean = false

  /**男女比例*/
  var genderRatio: GenderRatio = GenderRatio.empty

  /**
   * 保留人数
* 一个任务的真实的人数上限 = limitCount - reservedCount */ var reservedCount: Int = _ /** 上课名单 */ var courseTakers = Collections.newBuffer[CourseTaker] /** 考试名单 */ var examTakers: collection.mutable.Set[ExamTaker] = _ /** * 限制条件组 */ var groups = Collections.newBuffer[LessonLimitGroup] } object Teachclass { @value class GenderRatio(val value: Short) extends Ordered[GenderRatio] with Serializable { override def compare(other: GenderRatio): Int = { if (this.value < other.value) -1 else if (this.value == other.value) 0 else 1 } } object GenderRatio { val empty = new GenderRatio(0) } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy