package com.lz.modules.flow.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
* <p>
* </p>*业绩记录表
* @author quyixiao
* @since 2020-10-27
*/

@Data
@ApiModel(value = "绩效详情Dto")
public class ResultRecordDetailDto {
    //
    @ApiModelProperty(value = "", name = "id")
    private Long id;

    //0.新建，1 提交审批中，2 拒绝, 3 侍提交 ，4 审批通过,5 驳回，6申述，7 流程终止
    @ApiModelProperty(value = "0.新建，1 提交审批中，2 拒绝, 3 侍提交 ，4 审批通过,5 驳回，6申述，7 流程终止", name = "status")
    private Integer status;
    //最后得分
    @ApiModelProperty(value = "最后得分", name = "lastScore")
    private BigDecimal lastScore;
    //总分
    @ApiModelProperty(value = "总分", name = "allScore")
    private BigDecimal allScore;
    //备注
    @ApiModelProperty(value = "备注", name = "remark")
    private String remark;
    @ApiModelProperty(value = "业绩评论id", name = "commandId")
    private Long commentId;
    //员工id
    @ApiModelProperty(value = "员工id", name = "staffId")
    private Long staffId;

    @ApiModelProperty(value = "任务id", name = "startId")
    private Long startId;

    @ApiModelProperty(value = "暂存", name = "save")
    private Integer save;



    //使用的哪个等级。等级组id，lz_result_grade的group_id
    @ApiModelProperty(value = "使用的哪个等级。等级组id，lz_result_grade的group_id", name = "gradeGroupId")
    private Long gradeGroupId;
    //当前审批流转所在员工 id
    @ApiModelProperty(value = "当前审批流转所在员工 id", name = "flowStaffIdRole")
    private Long flowStaffIdRole;
    //员工所在部门 id
    @ApiModelProperty(value = "员工所在部门 id", name = "departmentId")
    private String departmentId;
    //员工所在部门名称
    @ApiModelProperty(value = "员工所在部门名称", name = "departmentName")
    private String departmentName;
    //员工姓名
    @ApiModelProperty(value = "员工姓名", name = "staffName")
    private String staffName;
    //员工姓名
    @ApiModelProperty(value = "员工头像", name = "avatar")
    private String avatar;
    //员工姓名
    @ApiModelProperty(value = "员工工号", name = "jobNumber")
    private String jobNumber;
    //当前审批的员工 id
    @ApiModelProperty(value = "当前审批的员工 id", name = "currentApprovalStaffId")
    private Long currentApprovalStaffId;
    //当前审批的员工名，以逗号隔开
    @ApiModelProperty(value = "当前审批的员工名，以逗号隔开", name = "currentApprovalStaffName")
    private String currentApprovalStaffName;
    //等级
    @ApiModelProperty(value = "等级", name = "scoreLevel")
    private String scoreLevel;

    //当前是目标确认还是评分，0，目标制定，1，目标确认，2执行中，3，结果值录入，4，评分，5考核结束
    @ApiModelProperty(value = "当前是目标确认还是评分，0，目标制定，1，目标确认，2执行中，3，结果值录入，4，评分，5考核结束", name = "flowProcess")
    private Integer flowProcess;
    @ApiModelProperty(value = "考核维度合计", name = "recortModelDtos")
    List<ResultRecortModelDto> recortModelDtos;
    @ApiModelProperty(value = "当前指标权重之和", name = "weight")
    BigDecimal weight;

    //新增导出所需数据
    @ApiModelProperty(value = "考核周期", name = "assessCycle")
    private String assessCycle;
    //一级部门
    @ApiModelProperty(value = "一级部门", name = "departmentOne")
    private String departmentOne;
    //二级部门
    @ApiModelProperty(value = "二级部门", name = "departmentTwo")
    private String departmentTwo;
    //三级部门
    @ApiModelProperty(value = "三级部门", name = "departmentThree")
    private String departmentThree;
    @ApiModelProperty(value = "职位", name = "position")
    private String position;

    /**
     *  
     * @return
     */
    public Long getId() {
        return id;
    }
    /**
     *  
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }


    /**
     * 0.新建，1 提交审批中，2 拒绝, 3 侍提交 ，4 审批通过,5 驳回，6申述，7 流程终止 
     * @return
     */
    public Integer getStatus() {
        return status;
    }
    /**
     * 0.新建，1 提交审批中，2 拒绝, 3 侍提交 ，4 审批通过,5 驳回，6申述，7 流程终止 
     * @param status
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 最后得分 
     * @return
     */
    public BigDecimal getLastScore() {
        return lastScore;
    }
    /**
     * 最后得分 
     * @param lastScore
     */
    public void setLastScore(BigDecimal lastScore) {
        this.lastScore = lastScore;
    }

    /**
     * 总分 
     * @return
     */
    public BigDecimal getAllScore() {
        return allScore;
    }
    /**
     * 总分 
     * @param allScore
     */
    public void setAllScore(BigDecimal allScore) {
        this.allScore = allScore;
    }

    /**
     * 备注 
     * @return
     */
    public String getRemark() {
        return remark;
    }
    /**
     * 备注 
     * @param remark
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 员工id 
     * @return
     */
    public Long getStaffId() {
        return staffId;
    }
    /**
     * 员工id 
     * @param staffId
     */
    public void setStaffId(Long staffId) {
        this.staffId = staffId;
    }



    /**
     * 当前审批流转所在员工 id 
     * @return
     */
    public Long getFlowStaffIdRole() {
        return flowStaffIdRole;
    }
    /**
     * 当前审批流转所在员工 id 
     * @param flowStaffIdRole
     */
    public void setFlowStaffIdRole(Long flowStaffIdRole) {
        this.flowStaffIdRole = flowStaffIdRole;
    }

    /**
     * 员工所在部门 id 
     * @return
     */
    public String getDepartmentId() {
        return departmentId;
    }
    /**
     * 员工所在部门 id 
     * @param departmentId
     */
    public void setDepartmentId(String departmentId) {
        this.departmentId = departmentId;
    }

    /**
     * 员工所在部门名称 
     * @return
     */
    public String getDepartmentName() {
        return departmentName;
    }
    /**
     * 员工所在部门名称 
     * @param departmentName
     */
    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    /**
     * 员工姓名 
     * @return
     */
    public String getStaffName() {
        return staffName;
    }
    /**
     * 员工姓名 
     * @param staffName
     */
    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }

    /**
     * 当前审批的员工 id 
     * @return
     */
    public Long getCurrentApprovalStaffId() {
        return currentApprovalStaffId;
    }
    /**
     * 当前审批的员工 id 
     * @param currentApprovalStaffId
     */
    public void setCurrentApprovalStaffId(Long currentApprovalStaffId) {
        this.currentApprovalStaffId = currentApprovalStaffId;
    }

    /**
     * 当前审批的员工名，以逗号隔开 
     * @return
     */
    public String getCurrentApprovalStaffName() {
        return currentApprovalStaffName;
    }
    /**
     * 当前审批的员工名，以逗号隔开 
     * @param currentApprovalStaffName
     */
    public void setCurrentApprovalStaffName(String currentApprovalStaffName) {
        this.currentApprovalStaffName = currentApprovalStaffName;
    }

    /**
     * 等级 
     * @return
     */
    public String getScoreLevel() {
        return scoreLevel;
    }
    /**
     * 等级 
     * @param scoreLevel
     */
    public void setScoreLevel(String scoreLevel) {
        this.scoreLevel = scoreLevel;
    }


    /**
     * 当前是目标确认还是评分，0，目标制定，1，目标确认，2执行中，3，结果值录入，4，评分，5考核结束 
     * @return
     */
    public Integer getFlowProcess() {
        return flowProcess;
    }
    /**
     * 当前是目标确认还是评分，0，目标制定，1，目标确认，2执行中，3，结果值录入，4，评分，5考核结束 
     * @param flowProcess
     */
    public void setFlowProcess(Integer flowProcess) {
        this.flowProcess = flowProcess;
    }



    @Override
    public String toString() {
        return "ResultRecordDto{" +
                ",id=" + id +
                ",status=" + status +
                ",lastScore=" + lastScore +
                ",allScore=" + allScore +
                ",remark=" + remark +
                ",staffId=" + staffId +
                ",flowStaffIdRole=" + flowStaffIdRole +
                ",departmentId=" + departmentId +
                ",departmentName=" + departmentName +
                ",staffName=" + staffName +
                ",currentApprovalStaffId=" + currentApprovalStaffId +
                ",currentApprovalStaffName=" + currentApprovalStaffName +
                ",scoreLevel=" + scoreLevel +
                ",flowProcess=" + flowProcess +
                "}";
    }
}