package models

import (
	"eta/eta_index_lib/utils"
)

var (
	EdbDataTableNameMap map[int]string // 指标来源对应数据表名
)

// 初始化时加载指标来源对应表名, 避免循环中查库, 注意edb_source表修改table_name的话需要重启服务
func init() {
	EdbDataTableNameMap = make(map[int]string)
	sources, e := GetEdbSourceItemsByCondition(``, make([]interface{}, 0), []string{}, "")
	if e != nil {
		utils.FileLog.Info("init source table err: %s", e.Error())
		return
	}
	for _, v := range sources {
		EdbDataTableNameMap[v.EdbSourceId] = v.TableName
	}
}

// GetEdbDataTableName 指标数据->存储表
func GetEdbDataTableName(source int) (tableName string) {
	switch source {
	case utils.DATA_SOURCE_THS:
		tableName = "edb_data_ths"
	case utils.DATA_SOURCE_WIND:
		tableName = "edb_data_wind"
	case utils.DATA_SOURCE_PB, utils.DATA_SOURCE_PB_FINANCE:
		tableName = "edb_data_pb"
	case utils.DATA_SOURCE_CALCULATE:
		tableName = "edb_data_calculate"
	case utils.DATA_SOURCE_CALCULATE_LJZZY:
		tableName = "edb_data_calculate_ljzzy"
	case utils.DATA_SOURCE_CALCULATE_TBZ:
		tableName = "edb_data_calculate_tbz"
	case utils.DATA_SOURCE_CALCULATE_TCZ:
		tableName = "edb_data_calculate_tcz"
	case utils.DATA_SOURCE_CALCULATE_NSZYDPJJS:
		tableName = "edb_data_calculate_nszydpjjs"
	case utils.DATA_SOURCE_MANUAL:
		tableName = "edb_data_manual"
	case utils.DATA_SOURCE_LZ:
		tableName = "edb_data_lz"
	case utils.DATA_SOURCE_YS:
		tableName = "edb_data_ys"
	case utils.DATA_SOURCE_CALCULATE_HBZ:
		tableName = "edb_data_calculate_hbz"
	case utils.DATA_SOURCE_CALCULATE_HCZ:
		tableName = "edb_data_calculate_hcz"
	case utils.DATA_SOURCE_CALCULATE_BP:
		tableName = "edb_data_calculate_bp"
	case utils.DATA_SOURCE_GL:
		tableName = "edb_data_gl"
	case utils.DATA_SOURCE_ZZ:
		tableName = "edb_data_zz"
	case utils.DATA_SOURCE_DL:
		tableName = "edb_data_dl"
	case utils.DATA_SOURCE_SH:
		tableName = "edb_data_sh"
	case utils.DATA_SOURCE_CFFEX:
		tableName = "edb_data_cffex"
	case utils.DATA_SOURCE_SHFE:
		tableName = "edb_data_ine"
	case utils.DATA_SOURCE_GIE:
		tableName = "edb_data_gie"
	case utils.DATA_SOURCE_CALCULATE_ZJPJ:
		tableName = "edb_data_calculate_zjpj"
	case utils.DATA_SOURCE_CALCULATE_TIME_SHIFT:
		tableName = "edb_data_calculate_time_shift"
	case utils.DATA_SOURCE_CALCULATE_LJZTBPJ:
		tableName = "edb_data_calculate_ljztbpj"
	case utils.DATA_SOURCE_LT:
		tableName = "edb_data_lt"
	case utils.DATA_SOURCE_COAL:
		tableName = "edb_data_coal"
	case utils.DATA_SOURCE_PYTHON:
		tableName = "edb_data_python"
	case utils.DATA_SOURCE_GOOGLE_TRAVEL:
		tableName = "edb_data_google_travel"
	case utils.DATA_SOURCE_PREDICT_CALCULATE:
		tableName = "edb_data_predict_calculate"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_TBZ:
		tableName = "edb_data_predict_calculate_tbz"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_TCZ:
		tableName = "edb_data_predict_calculate_tcz"
	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
		tableName = "edb_data_mysteel_chemical"
	case utils.DATA_SOURCE_CALCULATE_CJJX:
		tableName = "edb_data_calculate_cjjx"
	case utils.DATA_SOURCE_EIA_STEO:
		tableName = "edb_data_eia_steo"
	case utils.DATA_SOURCE_CALCULATE_NHCC:
		tableName = "edb_data_calculate_nhcc"
	case utils.DATA_SOURCE_COM_TRADE:
		tableName = "edb_data_com_trade"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS:
		tableName = "edb_data_predict_calculate_nszydpjjs"
	case utils.DATA_SOURCE_CALCULATE_ADJUST:
		tableName = "edb_data_calculate_adjust"
	case utils.DATA_SOURCE_SCI:
		tableName = "edb_data_sci"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZZY:
		tableName = "edb_data_predict_calculate_ljzzy"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT:
		tableName = "edb_data_predict_calculate_time_shift"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_ZJPJ:
		tableName = "edb_data_predict_calculate_zjpj"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ:
		tableName = "edb_data_predict_calculate_ljztbpj"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_NHCC:
		tableName = "edb_data_predict_calculate_nhcc"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_CJJX:
		tableName = "edb_data_predict_calculate_cjjx"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_HBZ:
		tableName = "edb_data_predict_calculate_hbz"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_HCZ:
		tableName = "edb_data_predict_calculate_hcz"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_BP:
		tableName = "edb_data_predict_calculate_bp"
	case utils.DATA_SOURCE_CALCULATE_JP:
		tableName = "edb_data_calculate_jp"
	case utils.DATA_SOURCE_CALCULATE_NH:
		tableName = "edb_data_calculate_nh"
	case utils.DATA_SOURCE_CALCULATE_KSZS:
		tableName = "edb_data_calculate_kszs"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_JP:
		tableName = "edb_data_predict_calculate_jp"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_NH:
		tableName = "edb_data_predict_calculate_nh"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_KSZS:
		tableName = "edb_data_predict_calculate_kszs"
	case utils.DATA_SOURCE_BAIINFO:
		tableName = "edb_data_baiinfo"
	case utils.DATA_SOURCE_STOCK_PLANT:
		tableName = "edb_data_stock_plant"
	case utils.DATA_SOURCE_CALCULATE_CORRELATION:
		tableName = "edb_data_calculate_correlation"
	case utils.DATA_SOURCE_NATIONAL_STATISTICS:
		tableName = "edb_data_national_statistics"
	case utils.DATA_SOURCE_CALCULATE_LJZZJ: //累计值转季 -> 61
		tableName = "edb_data_calculate_ljzzj"
	case utils.DATA_SOURCE_CALCULATE_LJZ: //累计值 -> 62
		tableName = "edb_data_calculate_ljz"
	case utils.DATA_SOURCE_CALCULATE_LJZNCZJ: //累计值(年初至今) -> 63
		tableName = "edb_data_calculate_ljznczj"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZZJ: // 预测指标 - 累计值 -> 65
		tableName = "edb_data_predict_calculate_ljzzj"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZ: //预测指标 - 累计值转季->64
		tableName = "edb_data_predict_calculate_ljz"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZNCZJ: //预测指标 - 累计值(年初至今) -> 66
		tableName = "edb_data_predict_calculate_ljznczj"
	case utils.DATA_SOURCE_CALCULATE_STANDARD_DEVIATION: //标准差->67
		tableName = "edb_data_calculate_standard_deviation"
	case utils.DATA_SOURCE_CALCULATE_PERCENTILE: //百分位->68
		tableName = "edb_data_calculate_percentile"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_STANDARD_DEVIATION: //预测标准差->69
		tableName = "edb_data_predict_ccalculate_standard_deviation"
	case utils.DATA_SOURCE_PREDICT_CALCULATE_PERCENTILE: //预测百分位->70
		tableName = "edb_data_predict_ccalculate_percentile"
	case utils.DATA_SOURCE_FUBAO:
		tableName = "edb_data_fubao"
	case utils.DATA_SOURCE_CALCULATE_ZSXY:
		tableName = "edb_data_calculate_zsxy" // 指数修匀->72
	case utils.DATA_SOURCE_PREDICT_CALCULATE_ZSXY:
		tableName = "edb_data_predict_calculate_zsxy" // 预测指数修匀->73
	default:
		tableName = EdbDataTableNameMap[source] // 没有对应的从edb_source中取
	}
	return
}