package com.zcxk.evaluation.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zcxk.base.BaseEntity;
import com.zcxk.model.ProgramItem;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * sc_evaluation_item
 * @author: WYY
 * @date 2021-05-08 09:25
 */
@Data
@TableName("sc_evaluation_item")
public class EvaluationItemEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 类型(0任务完成数 1任务按时完成率 2自定义) */
    @ApiModelProperty(value = "类型(0任务完成数 1任务按时完成率 2自定义)")
    private Long type;

    /** 名称 */
    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "所属公司名称")
    @TableField(exist = false)
    private String companyOrgName;

    @ApiModelProperty(value = "所属部门名称")
    @TableField(exist = false)
    private String deptOrgName;

    @ApiModelProperty(value = "所属部门IDs")
    @TableField(exist = false)
    private List<Integer> deptOrgIds;
    /** 分值 */
    @ApiModelProperty(value = "分值")
    private Double value;

    /** 条件值 */
    @ApiModelProperty(value = "条件值")
    private Double valueCondition;

    /** 周期(0月度 1季度 2年度) */
    @ApiModelProperty(value = "周期(0月度 1季度 2年度)")
    private String cycle;

    /** 周期(0月度 1季度 2年度) */
    @ApiModelProperty(value = "周期(0月度 1季度 2年度)")
    @TableField(exist = false)
    private String cycleName;


    /** 评分标准 */
    @ApiModelProperty(value = "评分标准")
    private String remarks;

    @ApiModelProperty(value ="考评项分值")
    @TableField(exist = false)
    List<EvaluationItemValueEntity> itemValues;

    @ApiModelProperty(value ="权限",hidden = true)
    @TableField(exist = false)
    @JsonIgnore
    private List<ProgramItem> programItems;

    @ApiModelProperty(value="用户权限类型")
    @TableField(exist = false)
    @JsonIgnore
    private Integer permissonType;

    /** 用户类型 */
    @ApiModelProperty(value = "用户类型(-9999 超管 -999普通用户 2普通用户)")
    @TableField(exist = false)
    @JsonIgnore
    private String userType;

  }
