package cn.timer.api.bean.jxgl;

import java.util.Date;
import java.util.List;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;

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.extension.activerecord.Model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
* @author Tang 2020-05-26
*/

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("绩效考核")
public class JxglPerformanceAppraisal extends Model<JxglPerformanceAppraisal> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue
    @TableId (type = IdType.AUTO)
	
	@ApiModelProperty(value="编号 编号",example="10")
    private Integer id;
	
	@ApiModelProperty(value="企业id 企业id",example="10")
    private Integer orgCode;
	
	@ApiModelProperty(value="名称",example="名称")
    private String name;
	
	@ApiModelProperty(value="周期 0月 1季 2年 3半年",example="10")
    private Integer period;
	
	@ApiModelProperty(value="开始时间",example="2020-10-10 10:10:10")
    private Date appraisalStartTime;
	
	@ApiModelProperty(value="结束时间",example="2020-10-10 10:10:10")
    private Date appraisalEndTime;
	
	@ApiModelProperty(value="是否可见 0是 1否。评分及评分结果能否被员工看见",example="10")
    private Integer isVisible;
	
	@ApiModelProperty(value="状态 0目标制定 1绩效评分 2结果确认 3绩效归档 4终止考核",example="10")
    private Integer sts;
	
	@ApiModelProperty(value="范围",example="部门名称、被考核人名称")
    private String scope;
	
	@ApiModelProperty(value="考核模板名称",example="考核模板名称")
    private String appraisalTName;
	
	@ApiModelProperty(value="考核模板id",example="考核模板id")
	private Integer appraisalTId;
	
	@ApiModelProperty(value="考核人数 考核人数",example="10")
    private Integer appraisalPersonNum;
	
	@ApiModelProperty(value="流程节点",example="")
    private byte[] processNode;

	@ApiModelProperty(value="被考核人员",example="")
    private byte[] beingAppraisalPerson;
	
	@TableField(fill = FieldFill.INSERT)
	@ApiModelProperty(value = "创建时间", example = "创建时间")
	private Date createTime;
	
	@TableField(fill = FieldFill.UPDATE)
	@ApiModelProperty(value = "最近处理时间 ", example = "最近处理时间")
	private Date updateTime;
	
	@TableField(exist = false)
	private Integer targetSeting;
	
	@TableField(exist = false)
	private Integer performanceScore;
	
	@TableField(exist = false)
	private Integer resultVerification;
	
	@TableField(exist = false)
	private Integer performanceArchive;
	
	/**
	 * 考核完成
	 */
	@TableField(exist = false)
	private Integer assessmentComplete;
	
	/**
	 * 终止考核
	 */
	@TableField(exist = false)
	private Integer terminationAssessment;
	
	/**
	 * 考核节点状态
	 */
	@TableField(exist = false)
	private Integer noteSts;
	
	@TableField(exist = false)
	private JxglAppraisal appraisal;
	
	@TableField(exist = false)
	private JxglAppraisalAssessment appraisalAssessment;
	
}