package jnpf.model.personnels.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import jnpf.base.entity.SuperEntity;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.io.Serializable;

/**
 * 登记表字段
 *
 * @author admin
 * @create 2024-02-01
 */

@Getter
@Setter
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "ftb_personnels_registration_form_field")
public class FtbPersonnelsRegistrationFormField extends SuperEntity.SuperCUBaseEntity<String> implements Serializable {

    public FtbPersonnelsRegistrationFormField(String name, Integer isNeedFill, String rules) {
        this.name = name;
        this.isNeedFill = isNeedFill;
        this.rules = rules;
    }

    public FtbPersonnelsRegistrationFormField(String name, Integer isNeedFill, String rules, String formFiledId) {
        this.name = name;
        this.isNeedFill = isNeedFill;
        this.rules = rules;
        this.id = formFiledId;
    }

    /**
     * 登记表类型主键ID
     */
    @TableField(value = "F_FormTypeId")
    private String formTypeId;

    /**
     * 字段名称
     */
    @TableField(value = "F_Name")
    private String name;

    /**
     * 系统类型：0、系统类型 1、自定义类型
     */
    @TableField(value = "F_SystemType")
    private Integer systemType;

    /**
     * 类型：0、单行文本 1、多行文本 2、单选  3、多选 4、日期 5、附件  6、图片  7、整数 8、小数
     */
    @TableField(value = "F_Type")
    private Integer type;

    /**
     * 档案管理员是否可以修改已填字段，0、可以修改 1、不能修改
     */
    @TableField(value = "F_IsUpdateManager")
    private Integer isUpdateManager;

    /**
     * 员工是否可以修改已填字段，0、可以修改 1、不能修改
     */
    @TableField(value = "F_IsUpdateWorker")
    private Integer isUpdateWorker;

    /**
     * 是否允许被停用，0、允许  1、不允许
     */
    @TableField(value = "F_IsAllowStop")
    private Integer isAllowStop;

    /**
     * 员工是否必填，0、选填 1、必填
     */
    @TableField(value = "F_IsNeedFill")
    private Integer isNeedFill;

    /**
     * 是否允许必填，0、选填 1、必填
     */
    @TableField(value = "F_AllowNeedFill")
    private Integer allowNeedFill;

    /**
     * 是否在入职登记表中显示，0、显示  1、不显示
     */
    @TableField(value = "F_IsRegisterFormShow")
    private Integer isRegisterFormShow;


    /**
     * 选项类型，1、选项表中选项  2、省市区选项  3、组织选项 4、岗位选项 5、职等选项 6、门店选项 7、直接主管选项
     */
    @TableField(value = "F_OptionType")
    private Integer optionType;

    /**
     * 排序，数字越大，该类别在登记表中就越靠后
     */
    @TableField(value = "F_Sorts")
    private Long sorts;

    /**
     * 校验正则规则
     */
    @TableField(value = "F_Rules")
    private String rules;

    /**
     * 特殊字段打标记
     */
    @TableField(value = "F_Tag")
    private String tag;

    /**
     * 限制，如最大字符
     */
    @TableField(value = "F_Limit")
    private Long limits;

    /**
     * 状态：0、启用  1、禁用
     */
    @TableField(value = "F_Status")
    private Integer status;

    /**
     * 所属组
     */
    @TableField(value = "F_GroupName")
    private String groupName;

    /**
     * 有效标志，1无效 0有效
     */
    @TableField(value = "F_EnabledMark")
    private Integer enabledMark;

    /**
     * 文件大小，单位M
     */
    @TableField(value = "F_FileSize")
    private Integer fileSize;

    /**
     * 员工员工是否可见，0、可见 1、不可见
     */
    @TableField(value = "F_IsVisibleWorker")
    private Integer isVisibleWorker;

}
