package com.ho.datacollect.api.constant;

/**
 * @author fancl
 * @desc: 采集中心常量
 * @date 2022/8/30
 */
public interface DataCollectConstant {
    //
    String ID = "id"; //
    String DATA = "data"; //
    String DATATYPE = "dataType"; //消息类型
    String DEVICE_TYPE = "deviceType";// 设备类型 inverter
    String DEVICE_TYPE_ID = "deviceTypeId";// 设备类型 id

    String STATION = "station";//电站
    String PARA = "para";       //参数
    String VARIABLE = "variable"; //yc
    String PRICE = "price";     //电价
    String STATISTICS = "statistics"; //统计
    String EVENT = "event";     //事件
    String TOPOLOGY = "topology"; //定义表 拓扑
    String BAY = "bay";        //bay
    String DEVICE = "device";        //device
    String DATA_SET = "dataSet";
    String GROUP_ID = "groupId";
    String STATION_ID = "stationId";
    String SRC_ID = "srcId";        //设备id
    String TABLE_NAME = "tableName";

    String DATA_TEMPLATE = "dataTemplate";        //数据模版 暂时用不到
    String LIST = "list";          //多条数据的都有这个
    String TABLE_LINK = "_";    //表名的连接线
    String YC = "yc";  // 电站遥测值
    String FREEZE_TIME = "freezeTime";
    String POWER = "power"; //电站遥测功率
    String SOC = "soc";   //电站遥测soc
    String TOTAL_ACTIVE_POWER = "totalActivePower";
    String AC_ACTIVE_POWER = "acActivePower";
    //总发电量
    String CUMULATIVE_POWER_GENERATION = "cumulativePowerGeneration";
    String CMD_ID = "cmdId";//命令id
    String SEND_TIME = "sendTime";//发送时间
    String INTERVAL_TIME = "intervalTime";//间隔时间(分钟)

    //事件发生的时间
    String TS = "ts";
    String CREATE_TIME = "createTime";
    String UPDATE_TIME = "updateTime";
    String TS_UPDATE_TIME = "tsUpdateTime";
    String COMMUNICATION_STATUS = "communicationStatus";

    Integer ZERO = 0;
    Integer ONE = 1;
    Integer Five = 5;
    Integer THIRTY = 30;

    //定义策略
    interface KEY_MAP {

        //BMS
        String BMS = "bmsDataCollectServiceImpl";
        //PCS
        String PCS = "pcsDataCollectServiceImpl";
        //IO模块
        String IO_MODULE = "ioModuleDataCollectServiceImpl";
        //空调
        String AIR_CONDITION = "airConditionDataCollectServiceImpl";
        //电表
        String ELE_METER = "eleMeterDataCollectServiceImpl";

        //一体机柜
        String DEVICE001 = "device001DataCollectServiceImpl";

        //事件
        String EVENT = "eventDataCollectService";
        //批量事件处理
        String EVENTS = "eventDataListCollectService";
        //电站
        String STATION = "stationDataCollectService";
        //电芯
        String BATTERY_CELL = "batteryCellDataCollectService";
        //电池堆
        String BATTERY_STACK = "batteryStackDataCollectService";
        //电池簇
        String BATTERY_CLUSTER = "batteryClusterDataCollectService";
        //拓扑
        String TOPOLOGY = "topologyDataCollectService";
        //电站遥测值
        String STATIONYC = "stationYcDataCollectService";
        //舱
        String WAREHOUSE = "warehouseDataCollectService";
        //电价
        String PRICE = "elecPriceDataCollectService";
        //新能源光伏
        String ENERGYPV = "energyPVService";

        //光伏逆变器
        String PVINVERTER = "pvInverterService";

        //气象
        String METE = "MeteDataCollectServiceImpl";

        //并网点统计电表
        String GRID_METER = "gridMeterDataCollectServiceImpl";

        //厂(站)用电电表
        String STATION_METER = "stationMeterDataCollectServiceImpl";

        //单项电量表
        String SINGLE_HASE = "singleHaseDataCollectServiceImpl";

        //设备
        String DEVICE = "deviceDataCollectServiceImpl";

        //充电桩
        String CHARGE_PILE = "chargePileDataCollectServiceImpl";

        //充电枪
        String CHARGE_GUN = "chargeGunDataCollectServiceImpl";

        //电能质量
        String ELEC_QUALITY = "elecQualityCollectServiceImpl";

        //充电桩电表
        String CHARGE_PILE_METER = "chargePileMeterDataCollectServiceImpl";

        //能耗表
        String ENERGY_CONSUMPTION = "energyConsumptionDataCollectServiceImpl";

        //光伏逆变器（包含禾望、阳光等 ）
        String INVERTER = "inverterDataCollectServiceImpl";

        //通用电表
        String UNIVERSAL_METER = "universalMeterDataCollectServiceImpl";

        //气象站
        String WEATHER_STATION = "weatherStationDataCollectServiceImpl";
    }

    //电表设备的缓存属性
    interface Elec_Meter {
        //总充电量
        String TOTAL_CHARGE = "totalCharge";
        //总放电量
        String TOTAL_DISCHARGE = "totalDischarge";
        //正向有功费率1电能（尖）
        String FORWARD_ACT_E1 = "forwardActE1";
        //正向有功费率2电能（峰）
        String FORWARD_ACT_E2 = "forwardActE2";
        //正向有功费率3电能（平）
        String FORWARD_ACT_E3 = "forwardActE3";
        //正向有功费率4电能（谷）
        String FORWARD_ACT_E4 = "forwardActE4";

        String FORWARD_ACT_E5 = "forwardActE5";
        //反向有功费率1电能（尖）
        String BACKWARD_ACT_E1 = "backwardActE1";
        //反向有功费率2电能（峰）
        String BACKWARD_ACT_E2 = "backwardActE2";
        //反向有功费率3电能（平）
        String BACKWARD_ACT_E3 = "backwardActE3";
        //反向有功费率4电能（谷）
        String BACKWARD_ACT_E4 = "backwardActE4";

        String BACKWARD_ACT_E5 = "backwardActE5";
    }

    interface PCS_POINT {
        //日充
        String dailyCharge = "dailyCharge";
        //日放
        String dailyDischarge = "dailyDischarge";

        String alarmUnresolvedNum = "alarmUnresolvedNum";

        //PCS远程/就地设置
        String remoteInPlace = "remoteInPlace";

        //PCS停机状态
        String runState = "runState";

        //PCS待机状态
        String deviceStateStand = "deviceStateStand";

        //PCS运行状态
        String runningState = "runningState";

        //BMS/CMS允许充电功率
        String ALLOWABLE_CHARGE_POWER = "allowableChargePower";
        //BMS/CMS允许放电功率
        String ALLOWABLE_DISCHARGE_POWER = "allowableDischargePower";
        //电表频率
        String GRID_F = "gridF";
        //PCS交流累计充电电量低16位
        String ACCUMULATED_CHARGE_POWER_LOW = "accumulatedChargePowerLow";
        //PCS交流累计充电电量高16位
        String ACCUMULATED_CHARGE_POWER_HIGH = "accumulatedChargePowerHigh";
        //PCS交流累计放电电量低16位
        String ACCUMULATED_DISCHARGE_POWER_LOW = "accumulatedDischargePowerLow";
        //PCS交流累计放电电量高16位
        String ACCUMULATED_DISCHARGE_POWER_HIGH = "accumulatedDischargePowerHigh";
        //PCS总输出有功功率
        String OUTPUT_POWER = "outputPower";
        //当日发电量(光伏)
        String DAILY_POWER_GENERATION = "dailyPowerGeneration";
        //总发电量(光伏)
        String PV_TOTAL_POWER_GENERATION = "pvTotalPowerGeneration";
        //本地负载日用电量
        String DAILY_ELEC_OF_LOCAL = "dailyElecOfLocal";
        //本地负载总用电量
        String TOTAL_ELEC_OF_LOCAL = "totalElecOfLocal";
    }

    interface PV_CHARGE_POINT {
        //光伏
        String PV_DAILY_CHARGING_ENERGY = "pvDailyChargingEnergy";
        // Mppt 总发
        String TOTAL_RELEASE = "totalRelease";
    }

    interface BMS_POINT {
        //日充
        String dailyCharge = "dailyCharge";
        //日放
        String dailyDischarge = "dailyDischarge";
        //簇告警
        String clusterAlarmCodeLBit = "clusterAlarmCodeLBit";
        //一级告警高状态字
        String oneClusterAlarmCodeLBitHigh = "oneClusterAlarmCodeLBitHigh";
        //一级告警低状态字
        String oneClusterAlarmCodeLBitLow = "oneClusterAlarmCodeLBitLow";
        //二级告警高状态字
        String twoClusterAlarmCodeLBitHigh = "twoClusterAlarmCodeLBitHigh";
        //二级告警低状态字
        String twoClusterAlarmCodeLBitLow = "twoClusterAlarmCodeLBitLow";

    }

    //IO模块
    interface IO_POINT {
        //交流断路器
        String AC_BREAKER = "acBreaker";
    }


}
