package com.iformall.domain.po;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Table(name = "wx_flow_record")
public class WxFlowRecord implements Serializable {
	private static final long serialVersionUID = 1849242743274278L;

	@Id
    private Long id;
	private Long businessId; //业务id
	private Integer businessType;//业务类型 1合同审批2账单审批
	private Long userId;//用户id
	private String userName;//姓名
	private String remark;//审批意见
	private Integer status;//状态 1新建2审批3驳回4审批通过
	private String taskId;//任务id
	private String processInstanceId;//流程实例id
	private Date createDate;
	private Date updateDate;
	private String tenantId;
	private String taskKey;	// key
	private String taskName;// 名称
	private Integer currStatus;// 当前状态
	private String variables;// 流程附加值

	private String contractType;
	private String contractNumber;
	private Integer endProperty;

	@Transient
	protected List<Long> ids;

	//是否最后一个启动节点
	@Transient
	private Integer isLastStart;

	public WxFlowRecord(){}
	public WxFlowRecord(Long businessId){
		this.businessId = businessId;
	}
	public WxFlowRecord(String processInstanceId,Integer currStatus){
		this.processInstanceId = processInstanceId;
		this.currStatus = currStatus;
	}
	public WxFlowRecord(Long businessId,String tenantId){
		this.businessId = businessId;
		this.tenantId = tenantId;
	}

	public String getVariables() {
		return variables;
	}

	public void setVariables(String variables) {
		this.variables = variables;
	}

	public String getContractType() {
		return contractType;
	}

	public void setContractType(String contractType) {
		this.contractType = contractType;
	}

	public String getContractNumber() {
		return contractNumber;
	}

	public void setContractNumber(String contractNumber) {
		this.contractNumber = contractNumber;
	}

	public Integer getEndProperty() {
		return endProperty;
	}

	public void setEndProperty(Integer endProperty) {
		this.endProperty = endProperty;
	}

	public Integer getCurrStatus() {
		return currStatus;
	}

	public void setCurrStatus(Integer currStatus) {
		this.currStatus = currStatus;
	}

	public Integer getIsLastStart() {
		return isLastStart;
	}

	public void setIsLastStart(Integer isLastStart) {
		this.isLastStart = isLastStart;
	}

	public List<Long> getIds() {
		return ids;
	}

	public void setIds(List<Long> ids) {
		this.ids = ids;
	}

	public String getTaskKey() {
		return taskKey;
	}

	public void setTaskKey(String taskKey) {
		this.taskKey = taskKey;
	}

	public String getTaskName() {
		return taskName;
	}

	public void setTaskName(String taskName) {
		this.taskName = taskName;
	}

	public String getTenantId() {
		return tenantId;
	}

	public void setTenantId(String tenantId) {
		this.tenantId = tenantId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getBusinessId() {
		return businessId;
	}

	public void setBusinessId(Long businessId) {
		this.businessId = businessId;
	}

	public Integer getBusinessType() {
		return businessType;
	}

	public void setBusinessType(Integer businessType) {
		this.businessType = businessType;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getTaskId() {
		return taskId;
	}

	public void setTaskId(String taskId) {
		this.taskId = taskId;
	}

	public String getProcessInstanceId() {
		return processInstanceId;
	}

	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Date getUpdateDate() {
		return updateDate;
	}

	public void setUpdateDate(Date updateDate) {
		this.updateDate = updateDate;
	}
}
