package com.hz.pm.api.performance.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @Classname PerformanceAppraisalProject
 * @Description 绩效评价和项目关联对象
 * @Date 2023/6/19 14:02
 * @Author PoffyZhang
 */
@Data
@TableName("nd_performance_appraisal_project")
@ApiModel(value = "绩效评价和项目关联对象", description = "绩效评价和项目关联对象")
public class PerformanceAppraisalProject implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId(type = IdType.AUTO)
    private Long id;

    private LocalDateTime createOn;
    private LocalDateTime updateOn;
    private String createBy;
    private String updateBy;

    @ApiModelProperty("计划id")
    private Long appraisalId;

    @ApiModelProperty("项目id")
    private Long projectId;

    @ApiModelProperty("项目编码")
    private String projectCode;

    @ApiModelProperty("是否复评")
    private Boolean isReAppraisal;

    @ApiModelProperty("自评开始时间")
    private LocalDateTime selfAppraisalStart;

    @ApiModelProperty("自评结束时间")
    private LocalDateTime selfAppraisalEnd;

    @ApiModelProperty("自评总分")
    private BigDecimal selfAppraisalTotalScore;

    @ApiModelProperty("自评打分时间")
    private LocalDateTime selfAppraisalScoreTime;

    @ApiModelProperty("复评总分")
    private BigDecimal reAppraisalTotalScore;

    @ApiModelProperty("复评打分时间")
    private LocalDateTime reAppraisalScoreTime;

    @ApiModelProperty("核查总分")
    private BigDecimal verifyTotalScore;

    @ApiModelProperty("核查打分时间")
    private LocalDateTime verifyScoreTime;

    @ApiModelProperty("整改审核总分")
    private BigDecimal rectifyTotalScore;

    @ApiModelProperty("整改审核打分时间")
    private LocalDateTime rectifyScoreTime;

    @ApiModelProperty("项目是否需要整改")
    private Boolean isRectify;

    @ApiModelProperty("整改意见")
    private String rectifyOpinion;

    @ApiModelProperty("整改提交人员工code")
    private String rectifySubmitUserId;

    @ApiModelProperty("整改提交时间")
    private LocalDateTime rectifySubmitTime;

    @ApiModelProperty("是否完成自评")
    private Boolean isCompleteSelfAppraisal;

    @ApiModelProperty("是否完成复评")
    private Boolean isCompleteReAppraisal;

    @ApiModelProperty("是否完成核查")
    private Boolean isCompleteVerify;

    @ApiModelProperty("整改状态 1 整改情况待提交、2 整改核查不通过、3 整改待审核、4 整改审核通过")
    private Integer rectifyStatus;

    @ApiModelProperty("整改结果说明")
    private String rectifyResult;

    @ApiModelProperty("整改结果附件")
    private String rectifyResultAppendix;

    @ApiModelProperty("整改结果提交人员工code")
    private String rectifyResSubUserId;

    @ApiModelProperty("整改结果提交时间")
    private LocalDateTime rectifyResSubTime;

    @ApiModelProperty("整改审核结果 1 通过、2 不通过")
    private Integer rectifyAuditResult;

    @ApiModelProperty("整改审核意见")
    private String rectifyAuditOpinion;

    @ApiModelProperty("整改审核附件")
    private String rectifyAuditAppendix;
}
