package com.jwipc.inquiry.dto;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 询价模板和字段关联表
 * </p>
 *
 * @author shenyang.ou
 * @since 2024-02-04
 */
@Data
public class InquiryTemplateFieldDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 字段id
     */
    private Long fieldId;

    /**
     * 模板id
     */
    private Long templateId;

    /**
     * 可见范围(多选)；0-全部；1-询价大厅；2-报价；3-议价；4-定价
     */
    private String showFlag;

    /**
     * 编辑范围(多选)；0-不可编辑；1-全部；2-询价大厅；3-报价；4-议价；5-定价
     */
    private String editFlag;

    /**
     * 是否必填；0-选填；1-必填
     */
    private Integer required;

    /**
     * 字段名称
     */
    private String fieldName;

    /**
     * 模板字段分组；0-基础字段；1-基础扩展；2-阶梯报价；3-自定义扩展字段
     */
    private Integer fieldGroup;

    /**
     * 模板字段分组名称
     */
    private String groupName;

    /**
     * 字段类型
     */
    private String fieldType;


    /**
     * 页面显示label
     */
    private String labelName;

    /**
     * 前端显示宽度
     */
    private Integer labelWidth;

    /**
     * 字段别名
     */
    private String fieldAlias;

    /**
     * 字段顺序
     */
    private Integer fieldSort;

    /**
     * 小数点保留位数
     */
    private Integer decimalPoint;

    /**
     * 复制按钮显示；0-否；1-是；
     */
    private Integer copyFlag;

    /**
     * 供应商显示；0-否；1-是；
     */
    private Integer supplierLookFlag;

    /**
     * 定价显示；0-否；1-是；
     */
    private Integer fixLookFlag;

    /**
     * 允许编辑；0-否；1-是；
     */
    private Integer allowEditFlag;

    /**
     * 系统标识；0-系统字段不可更改；1-自定义字段可修改
     */
    private Integer sysFlag;

    /**
     * 验证规则
     */
    private String validateStr;

    /**
     * 字典类型编码
     */
    private String dictTypeCode;

    /**
     * 查询数据sql，用于下拉框加载
     */
    private String sqlSentence;
    private String remark;

    /**
     * 字段转驼峰处理
     */
    public String getFieldName(){
        return StrUtil.toCamelCase(this.fieldName);
    }
}
