package com.qmth.sop.business.bean.result;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.LinkedHashMap;

/**
 * @Description: 流程节点result
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2021/8/6
 */
public class FlowResult implements Serializable {

    @ApiModelProperty(value = "流程id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    @ApiModelProperty(value = "流程部署id")
    private String flowDeploymentId;

    @ApiModelProperty(value = "流程名称")
    private String flowName;

    @ApiModelProperty(value = "流程数据")
    private LinkedHashMap<String, FlowTaskResult> setupMap;

    @ApiModelProperty(value = "流程版本")
    private Integer version;

    @ApiModelProperty(value = "crm信息")
    CrmProjectResult crmInfo;

    public FlowResult() {

    }

    public FlowResult(String flowDeploymentId, String flowName, LinkedHashMap<String, FlowTaskResult> setupMap) {
        this.flowDeploymentId = flowDeploymentId;
        this.flowName = flowName;
        this.setupMap = setupMap;
    }

    public CrmProjectResult getCrmInfo() {
        return crmInfo;
    }

    public void setCrmInfo(CrmProjectResult crmInfo) {
        this.crmInfo = crmInfo;
    }

    public Long getId() {
        return id;
    }

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

    public String getFlowDeploymentId() {
        return flowDeploymentId;
    }

    public void setFlowDeploymentId(String flowDeploymentId) {
        this.flowDeploymentId = flowDeploymentId;
    }

    public String getFlowName() {
        return flowName;
    }

    public void setFlowName(String flowName) {
        this.flowName = flowName;
    }

    public LinkedHashMap<String, FlowTaskResult> getSetupMap() {
        return setupMap;
    }

    public void setSetupMap(LinkedHashMap<String, FlowTaskResult> setupMap) {
        this.setupMap = setupMap;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }
}
