package com.yida.data.common.core.entity.smart;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
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 com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 智慧迎新班级预分表Entity
 */
@Data
@TableName("edu_smart_welcome_guide_step_class")
public class EduSmartWelcomeGuideStepClass implements Serializable {


    private static final long serialVersionUID = 2227499769143173816L;
    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 是否删除，1删除0未删除，默认0
     */
    @ApiModelProperty(value = "是否删除，1删除0未删除，默认0")
    @TableField("del_flag")
    @TableLogic(value = "0", delval = "1")
    private Integer delFlag;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_date", fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createDate;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    @TableField(value = "create_id", fill = FieldFill.INSERT)
    private Long createId;

    /**
     * 最后修改时间
     */
    @ApiModelProperty(value = "最后修改时间")
    @TableField(value = "update_date", fill = FieldFill.UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateDate;

    /**
     * 最后修改人id
     */
    @ApiModelProperty(value = "最后修改人id")
    @TableField(value = "update_id", fill = FieldFill.UPDATE)
    private Long updateId;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    @TableField("dept_id")
    private Long deptId;


    /**
     * 指南id
     */
    @ApiModelProperty(value = "指南id")
    @TableField("guide_id")
    private Long guideId;


    /**
     * 步骤id
     */
    @ApiModelProperty(value = "步骤id")
    @TableField("step_id")
    private Long stepId;

    /**
     * 学校id
     */
    @ApiModelProperty(value = "学校id")
    @TableField("school_id")
    private Long schoolId;
    /**
     * 学区id
     */
    @ApiModelProperty(value = "学区id")
    @TableField("campus_id")
    private Long campusId;

    /**
     * 学段id
     */
    @ApiModelProperty(value = "学段id")
    @TableField("section_id")
    private Long sectionId;


    /**
     * 年级id
     */
    @ApiModelProperty(value = "年级id")
    @TableField("grade_id")
    private Long gradeId;


    /**
     * 班级id
     */
    @ApiModelProperty(value = "班级id")
    @TableField("class_id")
    private Long classId;


    /**
     * 计划班级人数
     */
    @ApiModelProperty(value = "计划班级人数")
    @TableField("number")
    private Integer number;

    /**
     * 男性人数
     */
    @ApiModelProperty(value = "男性人数")
    @TableField("male_number")
    private Integer maleNumber;

    /**
     * 实际男生人数
     */
    @ApiModelProperty(value = "实际男生人数")
    @TableField("real_male_number")
    private Integer realMaleNumber;

    /**
     * 男性占比
     */
    @ApiModelProperty(value = "男性占比")
    @TableField("male")
    private Integer male;

    /**
     * 女性人数
     */
    @ApiModelProperty(value = "女性人数")
    @TableField("female_number")
    private Integer femaleNumber;
    /**
     * 实际女生人数
     */
    @ApiModelProperty(value = "实际女生人数")
    @TableField("real_female_number")
    private Integer realFemaleNumber;

    /**
     * 女性占比
     */
    @ApiModelProperty(value = "女性占比")
    @TableField("female")
    private Integer female;

    /**
     * 系部ID
     */
    @ApiModelProperty(value = "系部ID")
    @TableField("department_id")
    private Long departmentId;

    /**
     * 系部名称
     */
    @ApiModelProperty(value = "系部名称")
    @TableField("department_name")
    private String departmentName;
    /**
     * 专业ID
     */
    @ApiModelProperty(value = "专业ID")
    @TableField("major_id")
    private Long majorId;

    /**
     * 专业名称
     */
    @ApiModelProperty(value = "专业名称")
    @TableField("major_name")
    private String majorName;
}