package cn.cecep.talroad.data.analyse.task.enums;

import com.google.common.collect.Lists;
import lombok.Getter;

import java.util.List;

/**
 * @author hehongyu
 * @description: 获取实现类枚举
 * @date 2023/6/10 5:14
 */
@Getter
public enum DataAnomalyFactoryServiceEnum {
    /**
     * 数据逻辑异常
     */
    LOGIC_GT, //钢铁
    LOGIC_JH, //焦化
    LOGIC_SN, //水泥
    LOGIC_BL, //玻璃
    LOGIC_DL, //电力
    LOGIC_FS, //焚烧
    LOGIC_WATER,//废水
    LOGIC_GAS,// 废气

    /**
     * 数据恒定
     */
    CONSTANT_GT, //钢铁
    CONSTANT_JH, //焦化
    CONSTANT_SN, //水泥
    CONSTANT_BL, //玻璃
    CONSTANT_DL, //电力
    CONSTANT_FS, //焚烧

    CONSTANT_WATER,//废水
    CONSTANT_GAS,// 废气
    CONSTANT_ELEC,//分电
    CONSTANT_WZZJC,//无组织监测测试接口
    CONSTANT_WZZWZJC,//无组织微站监测测试接口
    CONSTANT_WGHSH,//ods层网格化市控站点小时增量测试接口
    CONSTANT_WGHWEI,//ods层网格化微站站点小时增量

    /**
     * 数据缺失
     */
    MISSING_GT, //钢铁
    MISSING_JH, //焦化
    MISSING_SN, //水泥
    MISSING_BL, //玻璃
    MISSING_DL, //电力
    MISSING_FS, //焚烧

    MISSING_WATER,//废水
    MISSING_GAS,// 废气
    MISSING_ELEC,//分电
    ;

    public static List<DataAnomalyFactoryServiceEnum> getLogicCodes(){
        return Lists.newArrayList(LOGIC_GT, LOGIC_JH, LOGIC_SN, LOGIC_BL, LOGIC_DL, LOGIC_FS , LOGIC_WATER , LOGIC_GAS);
    }

    public static List<DataAnomalyFactoryServiceEnum> getConstantCodes(){
        return Lists.newArrayList(CONSTANT_GT, CONSTANT_JH, CONSTANT_SN, CONSTANT_BL, CONSTANT_DL, CONSTANT_FS,CONSTANT_WATER,CONSTANT_GAS,CONSTANT_ELEC);
    }

    public static List<DataAnomalyFactoryServiceEnum> getMissingCodes(){
        return Lists.newArrayList(MISSING_GT, MISSING_JH, MISSING_SN, MISSING_BL, MISSING_DL, MISSING_FS , MISSING_WATER , MISSING_GAS , MISSING_ELEC);
    }
}
