package com.xjrsoft.module.student.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
* @title: 专业表
* @Author wyf
* @Date: 2024-07-01
* @Version 1.0
*/
@Data
@TableName("base_major")
@ApiModel(value = "base_major", description = "专业表")
public class BaseMajor implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 主键
    */
    @ApiModelProperty("主键")
    @TableId
    private Long id;
    /**
    * 创建人
    */
    @ApiModelProperty("创建人")
    @TableField(fill = FieldFill.INSERT)
    private Long createUserId;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createDate;
    /**
    * 修改人
    */
    @ApiModelProperty("修改人")
    @TableField(fill = FieldFill.UPDATE)
    private Long modifyUserId;
    /**
    * 修改时间
    */
    @ApiModelProperty("修改时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date modifyDate;
    /**
    * 删除标记
    */
    @ApiModelProperty("删除标记")
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer deleteMark;
    /**
    * 有效标志
    */
    @ApiModelProperty("有效标志")
    @TableField(fill = FieldFill.INSERT)
    private Integer enabledMark;
    /**
    * 专业名称
    */
    @ApiModelProperty("专业名称")
    private String name;
    /**
    * 专业代码
    */
    @ApiModelProperty("专业代码")
    private String code;
    /**
    * 修业年限(0.5的整数倍)
    */
    @ApiModelProperty("修业年限(0.5的整数倍)")
    private BigDecimal studyYear;
    /**
    * 重点专业(xjr_dictionary_item[key_major])
    */
    @ApiModelProperty("重点专业(xjr_dictionary_item[key_major])")
    private String keyMajor;
    /**
    * 特色专业(xjr_dictionary_item[feature_major])
    */
    @ApiModelProperty("特色专业(xjr_dictionary_item[feature_major])")
    private String featureMajor;
    /**
    * 批准设置日期
    */
    @ApiModelProperty("批准设置日期")
    private Date approveSetDate;
    /**
    * 首次招生日期(年月)
    */
    @ApiModelProperty("首次招生日期(年月)")
    private Date firstRecruitStudentDate;
    /**
    * 专业状态(1:正常、2:停招、3:撤销)
    */
    @ApiModelProperty("专业状态(1:正常、2:停招、3:撤销)")
    private Integer status;
    /**
    * 专业带头人
    */
    @ApiModelProperty("专业带头人")
    private String leaderName;
    /**
    * 专业负责人
    */
    @ApiModelProperty("专业负责人")
    private String directorName;
    /**
    * 任职日期开始
    */
    @ApiModelProperty("任职日期开始")
    private Date officeStartDate;
    /**
    * 任职日期结束
    */
    @ApiModelProperty("任职日期结束")
    private Date officeEndDate;
    /**
    * 是否全日制
    */
    @ApiModelProperty("是否全日制")
    private Integer isFullTime;
    /**
    * 办学层次(base_major_gradation)
    */
    @ApiModelProperty("办学层次(base_major_gradation)")
    private Long majorGradationId;
    /**
    * 专业分类(base_major_categor)
    */
    @ApiModelProperty("专业分类(base_major_categor)")
    private Long majorCategorId;
    /**
    * 所属机构(xjr_department)
    */
    @ApiModelProperty("所属机构(xjr_department)")
    private Long departmentId;


}
