package com.codvision.workflow.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.io.Serializable;
import java.util.Date;

/**
 * @author hxl
 */
@Data
@ApiModel
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("tbl_work_flow_record")
public class WorkFlowRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("流程部署ID")
    private String deployId;

    @ApiModelProperty("流程实例ID")
    private String instanceId;

    @ApiModelProperty("流程执行实例ID")
    private String executionId;

    @ApiModelProperty("流程任务ID")
    private String taskId;

    @ApiModelProperty("流程任务名称")
    private String taskName;

    @ApiModelProperty("操作人ID")
    private Integer operatorUid;

    @ApiModelProperty("操作人姓名")
    private String operatorName;

    @ApiModelProperty("操作人所属组织OID")
    private Integer operatorOid;

    @ApiModelProperty("操作人所属组织名称")
    private String operatorOrgName;

    @ApiModelProperty("处理动作类型")
    private Integer action;

    @ApiModelProperty("处理动作编码")
    private String actionCode;

    @ApiModelProperty("处理动作描述")
    private String actionDesc;

    @ApiModelProperty("接收时间")
    private String receiveTime;

    @ApiModelProperty("办结时间")
    private String completeTime;

    @ApiModelProperty("审核意见")
    private String comment;

    @ApiModelProperty("活动ID")
    private String activityId;

    @ApiModelProperty("活动类型")
    private String activityType;

    @ApiModelProperty("截止时间")
    private String deadlineTime;

    @ApiModelProperty("是否已超期")
    private Boolean isExpired;

    @ApiModelProperty("表单数据")
    private String formDataJson;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty("创建时间")
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty("更新时间")
    private Date updateTime;

}
