package com.njcn.gather.report.pojo.enums;

/**
 * @author hongawen
 * @version 1.0
 * @data 2025/5/22 9:46
 */

import lombok.Getter;

/**
 * 统计文档锚点类型
 *
 * @author hongawen
 * @version 1.0
 * @data 2025/3/24 18:42
 */
@Getter
public enum BookmarkEnum {


    DATA_LINE("data_line", "准确度数据展示区域，以测试回路维度展示", 1),
    DATA_SCRIPT("data_script", "准确度数据展示区域，以检测项维度展示", 1),
    TEST_RESULT_DEV("testResult_dev", "检测结论，仅有设备结论", 2),
    TEST_RESULT_LINE("testResult_line", "检测结论，仅有回路结论", 2),
    TEST_RESULT_DETAIL("testResult_detail", "检测结论，包含回路、设备结论", 2),
    CATALOG("catalog", "目录信息", 3);

    private String key;

    private String desc;

    /** 书签处理顺序：1=数据项，2=结果信息，3=目录信息；由 dealDataModelScatteredByBookmark 排序时使用 */
    private Integer sort;

    BookmarkEnum(String key, String desc, Integer sort) {
        this.key = key;
        this.desc = desc;
        this.sort = sort;
    }

    /**
     * 根据key找到适配的枚举
     *
     * @param key 枚举的key
     * @return 匹配的枚举实例，如果没有找到则返回null
     */
    public static BookmarkEnum getByKey(String key) {
        for (BookmarkEnum bookmarkEnum : BookmarkEnum.values()) {
            if (bookmarkEnum.getKey().equalsIgnoreCase(key)) {
                return bookmarkEnum;
            }
        }
        return null;
    }

}