package com.casic.missiles.enums;

import java.util.HashMap;

public enum DeviceDataEnum {

    DATA_GAS("燃气智能监测终端", "data_gas", "井内燃气浓度", "id,well_code,devcode,cell,strength,descn,uptime,logtime,pci,rsrp,snr", "logtime");

    public static DeviceDataEnum typeOf(String type) {
        DeviceDataEnum deviceDataEnum = null;
        switch (type) {
            case "燃气智能监测终端":
                deviceDataEnum = DATA_GAS;
                break;
            default:
                deviceDataEnum = null;
        }
        return deviceDataEnum;
    }

    String typeName;
    String tableName;
    String tableColumns;
    String orderColumn;
    String type;

    DeviceDataEnum(String type, String tableName, String typeName, String tableColumns, String orderColumn) {
        this.type = type;
        this.typeName = typeName;
        this.tableName = tableName;
        this.tableColumns = tableColumns;
        this.orderColumn = orderColumn;
        ;
    }

    public String getTypeName() {
        return typeName;
    }

    public String getTableName() {
        return tableName;
    }


    public HashMap<String, DeviceDataEnum> tableNameMap;

    DeviceDataEnum(HashMap<String, DeviceDataEnum> tableNameMap) {
        this.tableNameMap = tableNameMap;
    }

    public HashMap<String, DeviceDataEnum> getTableNameMap() {
        return tableNameMap;
    }

    public String getTableColumns() {
        return tableColumns;
    }

//    public List<DataFieldDefine> getDataFieldDefine() {
//        List<DataFieldDefine> fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList());
//        //导出新增设备类型
//        fieldDefines.add(new DataFieldDefine("device_type", "device_type"));
//        return fieldDefines;
//    }

    public void setTableColumns(String tableColumns) {
        this.tableColumns = tableColumns;
    }

    public String getOrderColumn() {
        return orderColumn;
    }

    public void setOrderColumn(String orderColumn) {
        this.orderColumn = orderColumn;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}
