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

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.sop.business.bean.BaseFlowData;
import com.qmth.sop.common.enums.FlowApproveOperationEnum;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * @Description: TFFlowLogResult
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2021/11/22
 */
public class TFFlowViewLogResult extends BaseFlowData implements Serializable {

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

    @ApiModelProperty(value = "任务id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long objectId;

    @ApiModelProperty(value = "审核人id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long approveId;

    @ApiModelProperty(value = "审核步骤")
    private Integer approveSetup;

    @ApiModelProperty(value = "审核意见")
    private String approveRemark;

    @ApiModelProperty(value = "审批操作，START：提交，DRAFT：草稿，APPROVE：审批，REJECT：驳回，END：终止，CANCEL：撤销，EXCHANGE：转他人审批，FINISH：结束")
    private FlowApproveOperationEnum approveOperation;

    @ApiModelProperty(value = "表单审批意见")
    private String approveFormSuggestion;

    @ApiModelProperty(value = "待审核人id")
    private String pendApproveId;

    @ApiModelProperty(value = "待审核人")
    private String pendApproveUserName = "--";

    @ApiModelProperty(value = "已审核人")
    private String approveUserName = "--";

    @ApiModelProperty(value = "创建时间")
    private Long createTime;

    @ApiModelProperty(value = "流程审核节点")
    private String taskName;

    public String getApproveFormSuggestion() {
        return approveFormSuggestion;
    }

    public void setApproveFormSuggestion(String approveFormSuggestion) {
        this.approveFormSuggestion = approveFormSuggestion;
    }

    public String getTaskName() {
        return taskName;
    }

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

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public String getPendApproveUserName() {
        return pendApproveUserName;
    }

    public void setPendApproveUserName(String pendApproveUserName) {
        this.pendApproveUserName = pendApproveUserName;
    }

    public String getApproveUserName() {
        return approveUserName;
    }

    public void setApproveUserName(String approveUserName) {
        this.approveUserName = approveUserName;
    }

    public Long getFlowId() {
        return flowId;
    }

    public void setFlowId(Long flowId) {
        this.flowId = flowId;
    }

    public Long getObjectId() {
        return objectId;
    }

    public void setObjectId(Long objectId) {
        this.objectId = objectId;
    }

    public Long getApproveId() {
        return approveId;
    }

    public void setApproveId(Long approveId) {
        this.approveId = approveId;
    }

    public Integer getApproveSetup() {
        return approveSetup;
    }

    public void setApproveSetup(Integer approveSetup) {
        this.approveSetup = approveSetup;
    }

    public String getApproveRemark() {
        return approveRemark;
    }

    public void setApproveRemark(String approveRemark) {
        this.approveRemark = approveRemark;
    }

    public FlowApproveOperationEnum getApproveOperation() {
        return approveOperation;
    }

    public void setApproveOperation(FlowApproveOperationEnum approveOperation) {
        this.approveOperation = approveOperation;
    }

    public String getPendApproveId() {
        return pendApproveId;
    }

    public void setPendApproveId(String pendApproveId) {
        this.pendApproveId = pendApproveId;
    }
}
