package com.chinaweal.aiccs.aiccs.revoke.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 吊销待办
 * </p>
 *
 * @author Lee
 * @since 2021-03-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tsrevtasklist")
public class Tsrevtasklist extends Model<Tsrevtasklist> {

    private static final long serialVersionUID=1L;

    /**
     * 待办主键
     */
    @TableId(value = "TASKLISTID", type = IdType.ASSIGN_UUID)
    private String tasklistid;

    /**
     * 线索主键
     */
    @TableField("CASEID")
    private String caseid;

    /**
     * 流程主键
     */
    @TableField("WORKFLOWID")
    private String workflowid;

    /**
     * 业务主键
     */
    @TableField("BIZSEQID")
    private String bizseqid;

    /**
     * 签收者ID
     */
    @TableField("SIGNUSERID")
    private String signuserid;

    /**
     * 发送机构ID
     */
    @TableField("SENDERORGID")
    private String senderorgid;

    /**
     * 发送者ID
     */
    @TableField("SENDERUSERID")
    private String senderuserid;

    /**
     * 发送到达机构ID
     */
    @TableField("SENDTOORGID")
    private String sendtoorgid;

    /**
     * 受理号
     */
    @TableField("ACCEPTNO")
    private String acceptno;

    /**
     * 业务名称
     */
    @TableField("BUSNAME")
    private String busname;

    /**
     * 签收/受理时间
     */
    @TableField("SIGNTIME")
    private LocalDate signtime;

    /**
     * 业务类型
     */
    @TableField("BUSTYPE")
    private String bustype;

    /**
     * 业务状态
     */
    @TableField("BUSSTATUS")
    private String busstatus;

    /**
     * 流程名称
     */
    @TableField("LINKNAME")
    private String linkname;

    /**
     * 当前审核部门
     */
    @TableField("AUDITDEPTTYPE")
    private String auditdepttype;

    /**
     * 是否签收
     */
    @TableField("ISSIGNON")
    private String issignon;

    /**
     * 签收者登入名
     */
    @TableField("SIGNLOGINNAME")
    private String signloginname;

    /**
     * 发送时间
     */
    @TableField("SENDERTIME")
    private LocalDateTime sendertime;

    /**
     * 发送者中文名
     */
    @TableField("SENDERNAME")
    private String sendername;

    /**
     * 接受组
     */
    @TableField("ACCEPTGROUPID")
    private String acceptgroupid;

    /**
     * 地区代码
     */
    @TableField("AREA_CODE")
    private String areaCode;

    /**
     * 最后更新时间
     */
    @TableField("LAUPTIME")
    private LocalDateTime lauptime;

    /**
     * 创建者id
     */
    @TableField("CREATEUSERID")
    private String createUserid;

    /**
     * 创建者中文名
     */
    @TableField("CREATEUSERNAME")
    private String createUsername;

    /**
     * 创建时间
     */
    @TableField("CREATETIME")
    private LocalDateTime createTime;


    /**
     * 参数
     */
    @TableField(exist = false)
    private Map<String, Object> parameterMap;

    @Override
    protected Serializable pkVal() {
        return this.tasklistid;
    }

    public String getCurrentNode() {
        if (parameterMap == null) {
            return null;
        }
        return (String) parameterMap.get("currentNode");
    }

    public void setCurrentNode(String currentNode) {
        if (parameterMap == null) {
            parameterMap = new HashMap<String, Object>();
        }
        parameterMap.put("currentNode", currentNode);
    }
    //业务状态
    public String getBizStatus() {
        if (parameterMap == null) {
            return null;
        }
        return (String) parameterMap.get("bizStatus");
    }

    public void setBizStatus(String bizStatus) {
        if (parameterMap == null) {
            parameterMap = new HashMap<String, Object>();
        }
        parameterMap.put("bizStatus", bizStatus);
    }
}
