package com.persagy.proxy.object.model;

import com.fasterxml.jackson.databind.JsonNode;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

@Data
public class AdmObjectInfo {

    /** 全局id */
    private String id;

    /** 类型编码 */
    private String classCode;

    /** 动静分类:静态STATIC,脉冲PULSE,阶段GRADATION,时序SEQUENTIAL */
    private String category;

    /** 信息点编码 */
    private String code;

    /** 信息点名称 */
    private String name;

    /** 分类:commo平台级, group集团级, project项目级 */
    private String type="project";

    /** 集团id, 默认为"0" */
    private String groupCode;

    /** 项目id, 默认为"0" */
    private String projectId;

    /** 数据类型 */
    private String dataType;

    /** 数据格式 */
    private String formater;

    /** 数据格式 */
    private ArrayList<JsonNode> dataSource;

    /** 输入方式 */
    private String inputMode;

    /** 一级标签 */
    private String firstTag;

    /** 一级名称 */
    private String firstName;

    /** 二级标签 */
    private String secondTag;

    /** 二级名称 */
    private String secondName;

    /** 序列 */
    private String idx;

    /** 优先级,重要程度 */
    private String priority;

    /** 单位 */
    private String unit;

    /** 备注 */
    private String note;

    /** 输入类型 */
    private String origDataType;

    /** 旧信息点编码 */
    private String origCode;

    /** 别编码 */
    private String aliasCode;

    /** 别名称 */
    private String aliasName;

    /** 是否分类标签 */
    private String canSub;

    /** 是否复数 */
    private Boolean isMultiple;

    /** 是否复数-字段兼容 */
    private Boolean multiple;

    /** 是否区间 */
    private Boolean isRegion;

    /** 是否区间-字段兼容 */
    private Boolean region;

    /** 子分类标记 */
    private Boolean subFlag;

    /** 是否只读, 如果是则不允许对该信息点做变更 */
    private Boolean readonly;
    /** 排序 */
    private Integer sort;

    /** 是否显示 */
    private Boolean visible;


    /** 是否编辑 */
    private Boolean editable;

    /** 禁止操作 */
    private Boolean unDisabled;

    /** 关键信息点 */
    private Boolean keyWord;

    /**路径 :
     * 若firstName == "基本信息"|| firstName.isNullOrEmpty()||firstName == "基本参数 path为code编码,否则，path为infos.$code */
   private String path;

    /** 字典内容 */
   private List<AdmObjectInfo> content;

   /** 展示顺序 */
   private Integer showOrder;
}
