package com.yuchen.saas.flow.api.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.mp.base.BaseEntity;

import java.util.Date;

/**
 * <p>
 * 流程记录
 * </p>
 *
 * @author zhouhanwei
 * @since 2024-02-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("saas_flow_process_instance_record")
@ApiModel(value="SaasFlowProcessInstanceRecord对象", description="流程记录")
public class SaasFlowProcessInstanceRecord extends BaseEntity {

    /**
     * 流程名字
     */
    @ApiModelProperty(name = "name", value = "流程名字")
    private String name;
    /**
     * 头像
     */
    @ApiModelProperty(name = "logo", value = "头像")
    private String logo;
    /**
     * 用户id
     */
    @ApiModelProperty(name = "userId", value = "用户id")
    private String userId;
    /**
     * 流程id
     */
    @ApiModelProperty(name = "flowId", value = "流程id")
    private String flowId;
    /**
     * 流程实例id
     */
    @ApiModelProperty(name = "processInstanceId", value = "流程实例id")
    private String processInstanceId;

    @ApiModelProperty(name = "projectId", value = "项目id")
    private Long projectId;
    /**
     * 表单数据
     */
    @ApiModelProperty(name = "formData", value = "表单数据")
    private String formData;
    /**
     * 组id
     */
    @ApiModelProperty(name = "groupId", value = "组id")
    private Long groupId;
    /**
     * 组名称
     */
    @ApiModelProperty(name = "groupName", value = "组名称")
    private String groupName;
    /**
     * 状态
     */
    @ApiModelProperty(name = "nodeStatus", value = "状态0:未开始,1:进行中,2已结束,3:已撤回,4已驳回")
    private Integer nodeStatus;
    /**
     * 结束时间
     */
    @ApiModelProperty(name = "endTime", value = "结束时间")
    private Date endTime;
    /**
     * 上级流程实例id
     */
    @ApiModelProperty(name = "parentProcessInstanceId", value = "上级流程实例id")
    private String parentProcessInstanceId;
    private String process;
    /**
     * 流程结果
     */
    @ApiModelProperty(name = "result", value = "流程结果")
    private Boolean result;

    @ApiModelProperty(name = "submitAssetsFlowReqJson", value = "提交数据的完整json")
    private String submitAssetsFlowReqJson;

}
