package com.dayou.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.dayou.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.dayou.annotation.ExcelSheet;
import com.dayou.annotation.ExportCell;
import com.dayou.annotation.ImportCell;
/**
 * <p>
 * 工作流节点
 * </p>
 *
 * @author wucl
 * @since 2023-10-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ExcelSheet(sheetName = "工作流节点")
public class WorkNode extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 工作流id
     */
    private Long flowId;

    /**
     * 前节点id
     */
    @TableField(fill = FieldFill.UPDATE)
    private Long priviousNodeId;

    /**
     * 节点名称
     */
    @ImportCell
    @ExportCell(columnName = "节点名称")
    private String name;

    /**
     * 节点编码
     */
    @ImportCell
    @ExportCell(columnName = "节点编码")
    private String code;

    /**
     * 是否可退回
     */
    @ImportCell
    @ExportCell(columnName = "是否可退回")
    private Boolean reversible;

    /**
     * 是否可重置
     */
    @ImportCell
    @ExportCell(columnName = "是否可重置")
    private Boolean restartable;

    /**
     * 是否可终止
     */
    @ImportCell
    @ExportCell(columnName = "是否可终止")
    private Boolean terminable;

    /**
     * 是否可跳过
     */
    @ImportCell
    @ExportCell(columnName = "是否可跳过")
    private Boolean skippable;

    /**
     * 节点类型（任务节点、状态节点）
     */
    @ImportCell
    @ExportCell(columnName = "节点类型（任务节点、状态节点）")
    private String type;

    /**
     * 截止时间(毫秒值)
     */
    private Long deadline;

    /**
     * 备注
     */
    @ImportCell
    @ExportCell(columnName = "备注")
    private String remark;

    /**
     * 截止时间（单位）
     */
    private String deadlineType;

    /**
     * 截止时间（单位值）
     */
    private Double deadlineNumber;

    /**
     * 校验业务类型（空则不校验）
     */
    private String verify;
}
