package cn.timer.api.dto.jxgl;

import java.io.Serializable;
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 cn.timer.api.bean.jxgl.JxglAppraisalAssessment;
import cn.timer.api.bean.jxgl.JxglAppraisalIndicators;
import cn.timer.api.bean.jxgl.JxglAppraisalLog;
import cn.timer.api.bean.jxgl.JxglProcessNode;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppraisalDetail implements Serializable{

	/**
	 * 
	 */
	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 performanceAppraisalId;

	@ApiModelProperty(value = "员工id 员工id", example = "10")
	private Integer empNum;

	@ApiModelProperty(value = "名称", example = "名称")
	private String name;

	@ApiModelProperty(value = "考核说明", example = "考核说明")
	private String appraisalExplain;
	
	@ApiModelProperty(value = "总分", example = "0")
	private String total;
//	private Integer total;
	
	@ApiModelProperty(value = "等级", example = "0")
	private String level;
	
	@TableField(fill = FieldFill.INSERT)
	@ApiModelProperty(value = "创建时间", example = "2020-10-10 10:10:10")
	private Date createTime;
	
	@TableField(fill = FieldFill.UPDATE)
	@ApiModelProperty(value = "更新时间", example = "2020-10-10 10:10:10")
	private Date updateTime;

	@ApiModelProperty(value = "状态 0目标填写 1目标确认 2自评 3上级评分 4 结果确认 5考核完成 6终止考核 7归档", example = "0")
	private Integer sts;
	
	private Integer isEdit;
	
	private String appraisalName;
	
	private String headUrl;
	
	private List<JxglProcessNode> processNodes;
	
	private List<JxglAppraisalAssessment> appraisalAssessments;
	
	private List<JxglAppraisalLog> appraisalLogs;
	
	private List<JxglAppraisalIndicators> appraisalIndicators;
	
}