package cn.com.oa.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

@TableName("bpm_flow_model")
@Data
public class FlowModel {
    /**
     * 流程模版id
     */
    @TableId(value = "l_model_id")
    private Long modelId;
    /**
     * 流程模版名称
     */
    @TableField(value = "v_model_name")
    private String modelName;
    /**
     * 流程类型
     */
    @TableField(value = "l_type_id")
    private Long typeId;
    /**
     * 创建时间
     */
    @TableField(value = "d_createdate")
    private Date createdate;
    /**
     * 注销时间
     */
    @TableField(value = "d_canceldate")
    private Date canceldate;
    /**
     * 流程模版状态 1 启用 0 停用 -1 删除
     */
    @TableField(value = "n_state")
    private Integer state;
    /**
     * 流程模版创建人
     */
    @TableField(value = "v_creator")
    private String creator;
    /**
     * 流程模版备注
     */
    @TableField(value = "v_remark")
    private String remark;

    /**
     * 流程模版所属部门
     */
    @TableField(value = "v_dept")
    private String dept;
    /**
     * 流程控制方式 0 手写 1 引擎
     */
    @TableField(value = "n_control")
    private Integer control;
    /**
     *
     */
    @TableField(value = "n_control_url")
    private String controlUrl;

    /**
     * 是否自定义撤销0:否，1是
     */
    @TableField(value = "n_custom_cancel")
    private Integer customCancel;

    /**
     * 是否默认0:否,1:是
     */
    @TableField(value = "n_is_default")
    private Integer isDefault;
    /**
     * 流程允许撤销人员
     */
    @TableField(value = "v_allow_cancels")
    private String allowCancels;

    /**
     * 流程对应表单
     */
    @TableField(value = "l_form_id")
    private Long formId;
    /**
     * 是否含有office控件 1 是 0 否
     */
    @TableField(value = "n_has_office")
    private Integer hasOffice;
    /**
     * 是否允许撤销流程 1 是 0 否
     */
    @TableField(value = "n_is_cancel")
    private Integer isCancel;
    /**
     * 是否允许撤销办结流程 1 是 0 否
     */
    @TableField(value = "n_end_cancel")
    private Integer endCancel;
    /**
     * 是否允许查看撤销流程 1 是 0 否
     */
    @TableField(value = "n_cancel_can_read")
    private Integer cancelCanRead;
    /**
     * 是否图形化配置 1 是 0 否
     */
    @TableField(value = "n_is_graph")
    private Integer isGraph;
    /**
     * 是否控制办结流程查看 -1 不限制 0 限制
     */
    @TableField(value = "n_is_view_limit")
    private Integer isViewLimit;
    /**
     * 是否限定使用 -1 不限制 0 部门 1 人员 2 职位
     */
    @TableField(value = "n_limit_use_type")
    private Integer limitUseType;
    /**
     * 限定使用的人员
     */
    @TableField(value = "v_limit_use")
    private String limitUse;
    /**
     * 限定使用的职位的类型（-1不限制0指定部门）
     */
    @TableField(value = "n_limit_position_type")
    private Integer limitPositionType;
    /**
     * 限定使用的职位所在的部门
     */
    @TableField(value = "v_limit_position_dept")
    private String limitPositionDept;
    /**
     * 是否自定义打印
     */
    @TableField(value = "n_is_custom_print")
    private Integer customPrint;
}
