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;
	@io.swagger.annotations.ApiModelProperty(value="业务id",name="businessId")
	private Long businessId; //业务id
	@io.swagger.annotations.ApiModelProperty(value="业务类型1合同审批2账单审批3合同终止",name="businessType")
	private Integer businessType;//业务类型 1合同审批2账单审批
	@io.swagger.annotations.ApiModelProperty(value="用户id",name="userId")
	private Long userId;//用户id
	@io.swagger.annotations.ApiModelProperty(value="姓名",name="userName")
	private String userName;//姓名
	@io.swagger.annotations.ApiModelProperty(value="审批意见",name="remark")
	private String remark;//审批意见
	@io.swagger.annotations.ApiModelProperty(value="状态1发起申请2审批通过3审批驳回4待审批5合同作废6撤回",name="status")
	private Integer status;//状态 1新建2审批3驳回4审批通过
	@io.swagger.annotations.ApiModelProperty(value="任务id",name="taskId")
	private String taskId;//任务id
	@io.swagger.annotations.ApiModelProperty(value="流程实例id",name="processInstanceId")
	private String processInstanceId;//流程实例id
	//申请时间
	@io.swagger.annotations.ApiModelProperty(value="申请时间",name="startDate")
	private Date startDate;
	@io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate")
	private Date createDate;
	@io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate")
	private Date updateDate;
	private String tenantId;
	private String taskKey;	// key
	private String taskName;// 名称
	@io.swagger.annotations.ApiModelProperty(value="当前状态同apply_status0未审核1审核中2审核完成3驳回4合同作废5撤回",name="currStatus")
	private Integer currStatus;// 当前状态
	@io.swagger.annotations.ApiModelProperty(value="流程附加值",name="variables")
	private String variables;// 流程附加值
	private String contractType;
	private String contractNumber;
	private Integer endProperty;

	@Transient
	protected List<Long> ids;
	//是否最后一个启动节点
	@Transient
	private Integer isLastStart;
	@Transient
	private Integer limit;

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Integer getLimit() {
		return limit;
	}

	public void setLimit(Integer limit) {
		this.limit = limit;
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	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;
	}
}
