package com.ningdatech.pmapi.performance.model.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.ningdatech.pmapi.performance.model.vo.PerformanceAppraisalApplicationVO;
import com.ningdatech.pmapi.performance.model.vo.PerformanceAppraisalProjectVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Classname PerformanceAppraisalCreateDTO
 * @Description 绩效评价对象
 * @Date 2023/6/19 14:02
 * @Author PoffyZhang
 */
@Data
@ApiModel(value = "绩效评价创建对象", description = "绩效评价创建对象")
public class PerformanceAppraisalCreateDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("计划名称")
    @NotBlank(message = "请输入计划名称")
    @Size(max = 50)
    private String name;

    @ApiModelProperty("终验后 xx 天开始自评")
    @NotNull(message = "开始自评时间不能为空")
    @Range(min = 0, max = 100, message = "数值范围不正确,数值应为1~100")
    private Integer startSelfDays;

    @ApiModelProperty("xx 天需完成自评")
    @NotNull(message = "完成自评时间不能为空")
    @Range(min = 0, max = 100, message = "数值范围不正确,数值应为1~100")
    private Integer completeSelfDays;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("评价目标 1项目 2应用 可多选 1,2")
    @NotBlank(message = "评价目标不能为空")
    private String target;

    @ApiModelProperty("评价项目 只有ID 和是否复评")
    private List<AppraisalProjectDTO> projects;

    @ApiModelProperty("评价应用ids")
    private List<Long> applicationIds;
}
