package com.tofly.flow.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import org.apache.ibatis.type.JdbcType;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;


/**
 * 流程实例节点信息表
 *
 * @author zhoux
 * @date Mon Oct 21 00:00:00 CST 2019
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_PROCESS_INSTANCE_NODE_INFO" )
@KeySequence("TF_PROCESS_INSTANCE_NODE_INFO")
@ApiModel
public class ProcessInstanceNodeInfo extends Model<ProcessInstanceNodeInfo> {
    private static final long serialVersionUID = 1L;

        /**
     * 主键ID
     */
        @TableId(value = "ID",type= IdType.INPUT)
        @ApiModelProperty(value = "主键ID")
            private Long id;
        /**
     * 审批人ID
     */
        @ApiModelProperty(value = "审批人ID")
            private Long approvalPersonId;
        
        /**
     * 审批人姓名
     */
        @ApiModelProperty(value = "审批人姓名")
            private String approvalPersonName;
        
        /**
     * 审批时间
     */
        @ApiModelProperty(value = "审批时间")
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        @TableField(jdbcType = JdbcType.DATE,updateStrategy = FieldStrategy.IGNORED)
        private Date approvalTime;
         
        /**
     * 审批意见
     */
        @ApiModelProperty(value = "审批意见")
            private String approvalSuggest;
        
        
        /**
     * 审批状态
     */
        @ApiModelProperty(value = "审批状态 1、审核通过  2、回退 3、拒绝")
        private Integer approvalStatus;

        /**
         * 流程实例ID
         */
        @ApiModelProperty(value = "流程实例ID")
        private Long processId;
        
        
        /**
         * 表单实例ID
         */
        @ApiModelProperty(value = "表单实例ID")
        private Long formId;
        
        /**
         * 流程节点别名
         */
        @ApiModelProperty(value = "流程节点别名")
        private String nodeAlias;
        
        /**
         * 流程节点序号
         */
        @ApiModelProperty(value = "流程节点序号")
        private Integer nodeSortNum;
        
        /**
         * 流程节点名称
         */
        @ApiModelProperty(value = "流程节点名称")
        private String processNodeName;
        
        
        
}