package com.lz.modules.flow.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* </p>*考核模板流程记录表
* @author quyixiao
* @since 2020-10-21
*/

@Data
@TableName("lz_flow_chart_detail_record")
@ApiModel(value = "考核模板流程记录表")
public class FlowChartDetailRecord implements java.io.Serializable {
    //
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    //是否删除状态，1：删除，0：有效
    @ApiModelProperty(value = "是否删除状态，1：删除，0：有效", name = "isDelete")
    private Integer isDelete;
    //创建时间
    @ApiModelProperty(value = "创建时间", name = "gmtCreate")
    private Date gmtCreate;
    //最后修改时间
    @ApiModelProperty(value = "最后修改时间", name = "gmtModified")
    private Date gmtModified;
    //flow_chart_id ,流程图表id
    @ApiModelProperty(value = "flow_chart_id ,流程图表id", name = "chartId")
    private Long chartId;
    //考核组ID
    @ApiModelProperty(value = "考核组ID", name = "evaluationGroupId")
    private Long evaluationGroupId;
    //0关闭，1开启
    @ApiModelProperty(value = "0关闭，1开启", name = "status")
    private Integer status;
    //操作者id集合，逗号隔开，当opt_type为0时才有值
    @ApiModelProperty(value = "操作者id集合，逗号隔开，当opt_type为0时才有值", name = "optIds")
    private String optIds;
    //-1考核人员自己，0人员id，1一级主管，2二级主管....
    @ApiModelProperty(value = "-1考核人员自己，0人员id，1一级主管，2二级主管....", name = "optType")
    private Integer optType;
    //role id集合，逗号隔开
    @ApiModelProperty(value = "role id集合，逗号隔开", name = "roleIds")
    private String roleIds;
    //步骤类型0：依次，1或签（同时通知，一人通过或拒绝即可），2会签（同时通知，所有人同意才可以）
    @ApiModelProperty(value = "步骤类型0：依次，1或签（同时通知，一人通过或拒绝即可），2会签（同时通知，所有人同意才可以）", name = "stepType")
    private Integer stepType;
    //第几步从0开始，按照有小到排序
    @ApiModelProperty(value = "第几步从0开始，按照有小到排序，大节点中的排序", name = "stepIndex")
    private Integer stepIndex;
    //权重，评分时所占权重
    @ApiModelProperty(value = "权重，评分时所占权重", name = "weight")
    private BigDecimal weight;
    /**
     *  
     * @return
     */
    public Long getId() {
        return id;
    }
    /**
     *  
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 是否删除状态，1：删除，0：有效 
     * @return
     */
    public Integer getIsDelete() {
        return isDelete;
    }
    /**
     * 是否删除状态，1：删除，0：有效 
     * @param isDelete
     */
    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 创建时间 
     * @return
     */
    public Date getGmtCreate() {
        return gmtCreate;
    }
    /**
     * 创建时间 
     * @param gmtCreate
     */
    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 最后修改时间 
     * @return
     */
    public Date getGmtModified() {
        return gmtModified;
    }
    /**
     * 最后修改时间 
     * @param gmtModified
     */
    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     * flow_chart_id ,流程图表id 
     * @return
     */
    public Long getChartId() {
        return chartId;
    }
    /**
     * flow_chart_id ,流程图表id 
     * @param chartId
     */
    public void setChartId(Long chartId) {
        this.chartId = chartId;
    }

    /**
     * 考核组ID 
     * @return
     */
    public Long getEvaluationGroupId() {
        return evaluationGroupId;
    }
    /**
     * 考核组ID 
     * @param evaluationGroupId
     */
    public void setEvaluationGroupId(Long evaluationGroupId) {
        this.evaluationGroupId = evaluationGroupId;
    }

    /**
     * 0关闭，1开启 
     * @return
     */
    public Integer getStatus() {
        return status;
    }
    /**
     * 0关闭，1开启 
     * @param status
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 操作者id集合，逗号隔开，当opt_type为0时才有值 
     * @return
     */
    public String getOptIds() {
        return optIds;
    }
    /**
     * 操作者id集合，逗号隔开，当opt_type为0时才有值 
     * @param optIds
     */
    public void setOptIds(String optIds) {
        this.optIds = optIds;
    }

    /**
     * -1考核人员自己，0人员id，1一级主管，2二级主管.... 
     * @return
     */
    public Integer getOptType() {
        return optType;
    }
    /**
     * -1考核人员自己，0人员id，1一级主管，2二级主管.... 
     * @param optType
     */
    public void setOptType(Integer optType) {
        this.optType = optType;
    }

    /**
     * role id集合，逗号隔开 
     * @return
     */
    public String getRoleIds() {
        return roleIds;
    }
    /**
     * role id集合，逗号隔开 
     * @param roleIds
     */
    public void setRoleIds(String roleIds) {
        this.roleIds = roleIds;
    }

    /**
     * 步骤类型0：依次，1或签（同时通知，一人通过或拒绝即可），2会签（同时通知，所有人同意才可以） 
     * @return
     */
    public Integer getStepType() {
        return stepType;
    }
    /**
     * 步骤类型0：依次，1或签（同时通知，一人通过或拒绝即可），2会签（同时通知，所有人同意才可以） 
     * @param stepType
     */
    public void setStepType(Integer stepType) {
        this.stepType = stepType;
    }

    /**
     * 第几步从0开始，按照有小到排序 
     * @return
     */
    public Integer getStepIndex() {
        return stepIndex;
    }
    /**
     * 第几步从0开始，按照有小到排序 
     * @param stepIndex
     */
    public void setStepIndex(Integer stepIndex) {
        this.stepIndex = stepIndex;
    }

    /**
     * 权重，评分时所占权重 
     * @return
     */
    public BigDecimal getWeight() {
        return weight;
    }
    /**
     * 权重，评分时所占权重 
     * @param weight
     */
    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    @Override
    public String toString() {
        return "FlowChartDetailRecord{" +
                ",id=" + id +
                ",isDelete=" + isDelete +
                ",gmtCreate=" + gmtCreate +
                ",gmtModified=" + gmtModified +
                ",chartId=" + chartId +
                ",evaluationGroupId=" + evaluationGroupId +
                ",status=" + status +
                ",optIds=" + optIds +
                ",optType=" + optType +
                ",roleIds=" + roleIds +
                ",stepType=" + stepType +
                ",stepIndex=" + stepIndex +
                ",weight=" + weight +
                "}";
    }
}