package com.mortals.xhx.module.task.model;

import com.mortals.framework.model.BaseEntityLong;

import java.util.Date;

/**
*
* Description:TaskProcess
* date: 2021-8-5 0:41:48
*/
public class TaskProcessEntity extends BaseEntityLong{
    private static final long serialVersionUID = 1628095308107L;


    /**
    * 流程编号
    */
    private String procInsId;

    /**
    * 流程名称
    */
    private String procDefName;

    /**
    * 流程分类
    */
    private String category;

    /**
    * 流程状态
    */
    private Integer flowStatus;

    /**
     * 耗时时间
     */
    private String duration;

    /**
    * 当前节点
    */
    private String taskName;

    /**
    * 流程版本
    */
    private String procDefVersion;

    /**
    * 办理人
    */
    private String assigneeName;

    /**
    * 提交时间
    */
    private Date createTime;

    /**
    * 任务完成时间
    */
    private Date finishTime;

    /**
    * 创建人ID
    */
    private Long createUserId;

    public String getDuration() {
        return duration;
    }

    public void setDuration(String duration) {
        this.duration = duration;
    }

    public TaskProcessEntity(){

    }
    /**
    * 获取 流程编号
    * @return procInsId
    */
    public String getProcInsId() {
        return this.procInsId;
    }
    /**
    * 设置 流程编号
    * @param procInsId
    */
    public void setProcInsId(String procInsId) {
        this.procInsId = procInsId;
    }
    /**
    * 获取 流程名称
    * @return procDefName
    */
    public String getProcDefName() {
        return this.procDefName;
    }
    /**
    * 设置 流程名称
    * @param procDefName
    */
    public void setProcDefName(String procDefName) {
        this.procDefName = procDefName;
    }
    /**
    * 获取 流程分类
    * @return category
    */
    public String getCategory() {
        return this.category;
    }
    /**
    * 设置 流程分类
    * @param category
    */
    public void setCategory(String category) {
        this.category = category;
    }
    /**
    * 获取 流程状态
    * @return flowStatus
    */
    public Integer getFlowStatus() {
        return this.flowStatus;
    }
    /**
    * 设置 流程状态
    * @param flowStatus
    */
    public void setFlowStatus(Integer flowStatus) {
        this.flowStatus = flowStatus;
    }
    /**
    * 获取 当前节点
    * @return taskName
    */
    public String getTaskName() {
        return this.taskName;
    }
    /**
    * 设置 当前节点
    * @param taskName
    */
    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }
    /**
    * 获取 流程版本
    * @return procDefVersion
    */
    public String getProcDefVersion() {
        return this.procDefVersion;
    }
    /**
    * 设置 流程版本
    * @param procDefVersion
    */
    public void setProcDefVersion(String procDefVersion) {
        this.procDefVersion = procDefVersion;
    }
    /**
    * 获取 办理人
    * @return assigneeName
    */
    public String getAssigneeName() {
        return this.assigneeName;
    }
    /**
    * 设置 办理人
    * @param assigneeName
    */
    public void setAssigneeName(String assigneeName) {
        this.assigneeName = assigneeName;
    }
    /**
    * 获取 提交时间
    * @return createTime
    */
    public Date getCreateTime() {
        return this.createTime;
    }
    /**
    * 设置 提交时间
    * @param createTime
    */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    /**
    * 获取 任务完成时间
    * @return finishTime
    */
    public Date getFinishTime() {
        return this.finishTime;
    }
    /**
    * 设置 任务完成时间
    * @param finishTime
    */
    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }
    /**
    * 获取 创建人ID
    * @return createUserId
    */
    public Long getCreateUserId() {
        return this.createUserId;
    }
    /**
    * 设置 创建人ID
    * @param createUserId
    */
    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null)
            return false;
        if (obj instanceof TaskProcessEntity) {
            TaskProcessEntity tmp = (TaskProcessEntity) obj;
            if (this.getId().longValue() == tmp.getId().longValue()) {
                return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb
        .append(",id:").append(getId())
                .append(",procInsId:").append(getProcInsId())
                .append(",procDefName:").append(getProcDefName())
                .append(",category:").append(getCategory())
                .append(",flowStatus:").append(getFlowStatus())
                .append(",taskName:").append(getTaskName())
                .append(",procDefVersion:").append(getProcDefVersion())
                .append(",assigneeName:").append(getAssigneeName())
                .append(",createTime:").append(getCreateTime())
                .append(",finishTime:").append(getFinishTime())
                .append(",createUserId:").append(getCreateUserId())
        ;
        return sb.toString();
    }

    public void initAttrValue(){
         this.procInsId = null;
         this.procDefName = null;
         this.category = null;
         this.flowStatus = null;
         this.taskName = null;
         this.procDefVersion = null;
         this.assigneeName = null;
         this.createTime = null;
         this.finishTime = null;
         this.createUserId = null;
    }
}