package com.xjrsoft.module.assessment.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
import java.util.Date;


/**
* @title: 考核计划
* @Author dzx
* @Date: 2024-04-01
* @Version 1.0
*/
@Data
@TableName("assessment_template_plan")
@ApiModel(value = "assessment_template_plan", description = "考核计划")
public class AssessmentTemplatePlan 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 Long score;
    /**
    * 计划开始时间
    */
    @ApiModelProperty("计划开始时间")
    private Date startTime;
    /**
    * 计划结束时间
    */
    @ApiModelProperty("计划结束时间")
    private Date endTime;
    /**
    * 状态(0:未发布 1:已发布)
    */
    @ApiModelProperty("状态(0:未发布 1:已发布)")
    private Integer status;
    /**
    * 考核模板id(assessment_template)
    */
    @ApiModelProperty("考核模板id(assessment_template)")
    private Long assessmentTemplateId;

    /**
     * 学期id(base_semester)
     */
    @ApiModelProperty("学期id(base_semester)")
    private Long baseSemesterId;

    /**
     * 选人方式
     */
    @ApiModelProperty("选人方式(全部：all 随机：random)")
    private String type;

    /**
     * 随机人数
     */
    @ApiModelProperty("随机人数")
    private Integer randomNumber;

    /**
    * assessmentPlanQuestion
    */
    @ApiModelProperty("assessmentPlanQuestion子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "assessmentTemplatePlanId")
    private List<AssessmentPlanQuestion> assessmentPlanQuestionList;
    /**
    * assessmentPlanAnswerClass
    */
    @ApiModelProperty("assessmentPlanAnswerClass子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "assessmentTemplatePlanId")
    private List<AssessmentPlanAnswerClass> assessmentPlanAnswerClassList;
    /**
    * assessmentPlanAnswerStudent
    */
    @ApiModelProperty("assessmentPlanAnswerStudent子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "assessmentTemplatePlanId")
    private List<AssessmentPlanAnswerStudent> assessmentPlanAnswerStudentList;

}