|
@@ -2,1520 +2,1346 @@
|
|
|
// @Author gmy 2024/10/21 10:50:00
|
|
|
package ruizide
|
|
|
|
|
|
-import (
|
|
|
- "encoding/json"
|
|
|
- "eta/eta_data_analysis/models"
|
|
|
- "eta/eta_data_analysis/utils"
|
|
|
- "fmt"
|
|
|
- "strings"
|
|
|
- "unicode"
|
|
|
-)
|
|
|
-
|
|
|
-// // UpstreamSupplyOilQualityApiProcessor
|
|
|
-// // @Description: UpstreamSupplyOilQualityApiProcessor处理器
|
|
|
-// type UpstreamSupplyOilQualityApiProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdApiFlag string
|
|
|
-//
|
|
|
-// func (p *UpstreamSupplyOilQualityApiProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing UpstreamSupplyOilQualityApiProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdApiFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdApiFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "°"
|
|
|
-// indexNameColSuffix := "Oil Quality"
|
|
|
-// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColSuffix + "/" + "API"
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply "+indexNameColSuffix, strings.ToLower("API"), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOilQualityApiProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOilQualityApiProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor
|
|
|
-// // @Description: OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor处理器
|
|
|
-// type OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdSulphurFlag string
|
|
|
-//
|
|
|
-// func (p *OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdSulphurFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdSulphurFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "%wt"
|
|
|
-// indexNameColSuffix := "Oil Quality"
|
|
|
-// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColSuffix + "/" + "Sulphur"
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply "+indexNameColSuffix, strings.ToLower("Sulphur"), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // OilMarketCubeUpstreamSupplyCapacityCapacityProcessor
|
|
|
-// // @Description: OilMarketCubeUpstreamSupplyCapacityCapacityProcessor处理器
|
|
|
-// type OilMarketCubeUpstreamSupplyCapacityCapacityProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdCapacityFlag string
|
|
|
-//
|
|
|
-// func (p *OilMarketCubeUpstreamSupplyCapacityCapacityProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing OilMarketCubeUpstreamSupplyCapacityCapacityProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdCapacityFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdCapacityFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// indexNameColSuffix := "Capacity"
|
|
|
-// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply ", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("OilMarketCubeUpstreamSupplyCapacityCapacityProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("OilMarketCubeUpstreamSupplyCapacityCapacityProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // OilMarketCubeUpstreamSupplyProductionProcessor
|
|
|
-// // @Description: OilMarketCubeUpstreamSupplyProductionProcessor处理器
|
|
|
-// type OilMarketCubeUpstreamSupplyProductionProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdProductionFlag string
|
|
|
-//
|
|
|
-// func (p *OilMarketCubeUpstreamSupplyProductionProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing OilMarketCubeUpstreamSupplyProductionProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdProductionFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdProductionFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// indexNameColSuffix := "Production"
|
|
|
-// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("OilMarketCubeUpstreamSupplyProductionProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("OilMarketCubeUpstreamSupplyProductionProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // UpstreamSupplyProductionWoSeasonalityProcessor
|
|
|
-// // @Description: UpstreamSupplyProductionWoSeasonalityProcessor处理器
|
|
|
-// type UpstreamSupplyProductionWoSeasonalityProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdProductionWoSeasonalityFlag string
|
|
|
-//
|
|
|
-// func (p *UpstreamSupplyProductionWoSeasonalityProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing UpstreamSupplyProductionWoSeasonalityProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdProductionWoSeasonalityFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdProductionWoSeasonalityFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// indexNameColSuffix := "Production Wo Seasonality"
|
|
|
-// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyProductionWoSeasonalityProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyProductionWoSeasonalityProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // UpstreamSupplyOPECPolicyReferenceProductionProcessor
|
|
|
-// // @Description: UpstreamSupplyOPECPolicyReferenceProductionProcessor处理器
|
|
|
-// type UpstreamSupplyOPECPolicyReferenceProductionProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdReferenceProductionFlag string
|
|
|
-//
|
|
|
-// func (p *UpstreamSupplyOPECPolicyReferenceProductionProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyReferenceProductionProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdReferenceProductionFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdReferenceProductionFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Reference Production"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyReferenceProductionProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyReferenceProductionProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // UpstreamSupplyOPECPolicyTargetProductionProcessor
|
|
|
-// // @Description: UpstreamSupplyOPECPolicyTargetProductionProcessor处理器
|
|
|
-// type UpstreamSupplyOPECPolicyTargetProductionProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdTargetProductionFlag string
|
|
|
-//
|
|
|
-// func (p *UpstreamSupplyOPECPolicyTargetProductionProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyTargetProductionProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdTargetProductionFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdTargetProductionFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Target Production"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyTargetProductionProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyTargetProductionProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // UpstreamSupplyOPECPolicyTargetCutProcessor
|
|
|
-// // @Description: UpstreamSupplyOPECPolicyTargetCutProcessor处理器
|
|
|
-// type UpstreamSupplyOPECPolicyTargetCutProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdTargetCutFlag string
|
|
|
-//
|
|
|
-// func (p *UpstreamSupplyOPECPolicyTargetCutProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyTargetCutProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdTargetCutFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdTargetCutFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Target Cut"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyTargetCutProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyTargetCutProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // UpstreamSupplyOPECPolicyActualCutProcessor
|
|
|
-// // @Description: UpstreamSupplyOPECPolicyActualCutProcessor处理器
|
|
|
-// type UpstreamSupplyOPECPolicyActualCutProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdActualCutFlag string
|
|
|
-//
|
|
|
-// func (p *UpstreamSupplyOPECPolicyActualCutProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyActualCutProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdActualCutFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdActualCutFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Actual Cut"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyActualCutProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyActualCutProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // UpstreamSupplyOPECPolicyComplianceProcessor
|
|
|
-// // @Description: UpstreamSupplyOPECPolicyComplianceProcessor处理器
|
|
|
-// type UpstreamSupplyOPECPolicyComplianceProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdComplianceFlag string
|
|
|
-//
|
|
|
-// func (p *UpstreamSupplyOPECPolicyComplianceProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyComplianceProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdComplianceFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdComplianceFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Compliance"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyComplianceProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyComplianceProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor
|
|
|
-// // @Description: UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor处理器
|
|
|
-// type UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdProductionSubjectToCutFlag string
|
|
|
-//
|
|
|
-// func (p *UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdProductionSubjectToCutFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdProductionSubjectToCutFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Production Subject To Cut"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // ProductsDemandProductsDemandMeanProcessor
|
|
|
-// // @Description: ProductsDemandProductsDemandMeanProcessor处理器
|
|
|
-// type ProductsDemandProductsDemandMeanProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdProductsDemandMeanFlag string
|
|
|
-//
|
|
|
-// func (p *ProductsDemandProductsDemandMeanProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing ProductsDemandProductsDemandMeanProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdProductsDemandMeanFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdProductsDemandMeanFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// //indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Products Demand Mean (1.0 DG) "
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Products Demand")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Products Demand" + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Products Demand "+"Products Demand Mean", strings.ReplaceAll(strings.ToLower("1.0dg"), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("ProductsDemandProductsDemandMeanProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("ProductsDemandProductsDemandMeanProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // ProductsDemandProductsDemandAddSigmaProcessor
|
|
|
-// // @Description: ProductsDemandProductsDemandAddSigmaProcessor处理器
|
|
|
-// type ProductsDemandProductsDemandAddSigmaProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdAddSigmaFlag string
|
|
|
-//
|
|
|
-// func (p *ProductsDemandProductsDemandAddSigmaProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing ProductsDemandProductsDemandAddSigmaProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdAddSigmaFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdAddSigmaFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// //indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Products Demand +Sigma (2.2 DG) "
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Products Demand")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Products Demand" + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Products Demand "+"Products Demand Sigma", strings.ReplaceAll(strings.ToLower("2.2dg"), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("ProductsDemandProductsDemandAddSigmaProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("ProductsDemandProductsDemandAddSigmaProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // ProductsDemandProductsDemandSubSigmaProcessor
|
|
|
-// // @Description: ProductsDemandProductsDemandSubSigmaProcessor处理器
|
|
|
-// type ProductsDemandProductsDemandSubSigmaProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdSubSigmaFlag string
|
|
|
-//
|
|
|
-// func (p *ProductsDemandProductsDemandSubSigmaProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing ProductsDemandProductsDemandSubSigmaProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdSubSigmaFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdSubSigmaFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// //indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Products Demand -Sigma (1.8 DG) "
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Products Demand")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Products Demand" + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Products Demand "+"Products Demand Sigma", strings.ReplaceAll(strings.ToLower("1.8dg"), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("ProductsDemandProductsDemandSubSigmaProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("ProductsDemandProductsDemandSubSigmaProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // BalancesTotalLiquidsBalancesProcessor
|
|
|
-// // @Description: BalancesTotalLiquidsBalancesProcessor处理器
|
|
|
-// type BalancesTotalLiquidsBalancesProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdTotalLiquidsBalancesFlag string
|
|
|
-//
|
|
|
-// func (p *BalancesTotalLiquidsBalancesProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing BalancesTotalLiquidsBalancesProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdTotalLiquidsBalancesFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdTotalLiquidsBalancesFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := "kbbl/d"
|
|
|
-// //indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Total Liquids Balances"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Balances")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Balances" + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Balances", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("BalancesTotalLiquidsBalancesProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("BalancesTotalLiquidsBalancesProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // GeographyLatitudeProcessor
|
|
|
-// // @Description: GeographyLatitudeProcessor处理器
|
|
|
-// type GeographyLatitudeProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdLatitudeFlag string
|
|
|
-//
|
|
|
-// func (p *GeographyLatitudeProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing GeographyLatitudeProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdLatitudeFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdLatitudeFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := ""
|
|
|
-// //indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Latitude"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Geography")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Geography" + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Geography", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("GeographyLatitudeProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("GeographyLatitudeProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// // GeographyLongitudeProcessor
|
|
|
-// // @Description: GeographyLongitudeProcessor处理器
|
|
|
-// type GeographyLongitudeProcessor struct{}
|
|
|
-//
|
|
|
-// var rzdLongitudeFlag string
|
|
|
-//
|
|
|
-// func (p *GeographyLongitudeProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
-// utils.FileLog.Info("Processing GeographyLongitudeProcessor...")
|
|
|
-// if rowIndex <= 1 {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// if rowData[0] != "" {
|
|
|
-// rzdLongitudeFlag = rowData[0]
|
|
|
-// } else {
|
|
|
-// rowData[0] = rzdLongitudeFlag
|
|
|
-// }
|
|
|
-//
|
|
|
-// frequency := "月度"
|
|
|
-// unit := ""
|
|
|
-// //indexNameColPrefix := "OPEC_Policy"
|
|
|
-// indexNameColSuffix := "Longitude"
|
|
|
-//
|
|
|
-// if !utils.IsNumeric(rowData[0]) {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-// if rowData[1] == "Sum" {
|
|
|
-// return nil, nil
|
|
|
-// }
|
|
|
-//
|
|
|
-// // step_1: 分类
|
|
|
-// classifyId, err := dealClassify("Oil Market Cube", "Geography")
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-//
|
|
|
-// // step_2: 指标
|
|
|
-// // 指标名称
|
|
|
-// indexName := "Geography" + "/" + indexNameColSuffix
|
|
|
-//
|
|
|
-// // 生成指标编码
|
|
|
-// indexCode, err := getIndexId("Geography", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
-//
|
|
|
-// var indexInfoList []*models.IndexInfo
|
|
|
-// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// dataTime := rowData[0]
|
|
|
-// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
-// IndexName: indexName,
|
|
|
-// IndexCode: indexCode,
|
|
|
-// Value: value,
|
|
|
-// DataTime: format,
|
|
|
-// })
|
|
|
-//
|
|
|
-// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("GeographyLongitudeProcessor indexInfoList: %v", indexInfoList)
|
|
|
-//
|
|
|
-// // step_3: 指标数据
|
|
|
-// dataList, err := dealData(indexInfoList)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("GeographyLongitudeProcessor dataList: %v", dataList)
|
|
|
-//
|
|
|
-// return dataList, err
|
|
|
-// }
|
|
|
-//
|
|
|
-// func dealIndex(indexInfoList []*models.IndexInfo, frequency string, unit string, classifyId int) ([]*models.IndexInfo, error) {
|
|
|
-// for _, index := range indexInfoList {
|
|
|
-// // 处理第一个指标
|
|
|
-// paramsLib := make(map[string]interface{})
|
|
|
-// paramsLib["indexCode"] = index.IndexCode
|
|
|
-// postEdbLib, err := httpRequestFill(paramsLib, utils.GET_RZD_INDEX_BY_CODE)
|
|
|
-// if err != nil {
|
|
|
-// return nil, fmt.Errorf("getIndexId() : Failed to get rzd index by code: %v", err)
|
|
|
-// }
|
|
|
-// var requestResponse models.RequestResponse[models.BaseFromRzdIndex]
|
|
|
-// err = json.Unmarshal(postEdbLib, &requestResponse)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// if requestResponse.Data.BaseFromRzdIndexId == 0 {
|
|
|
-// indexOne := models.BaseFromRzdIndex{
|
|
|
-// CreateTime: utils.GetCurrentTime(),
|
|
|
-// ModifyTime: utils.GetCurrentTime(),
|
|
|
-// BaseFromLyClassifyId: classifyId,
|
|
|
-// IndexCode: index.IndexCode,
|
|
|
-// IndexName: index.IndexName,
|
|
|
-// Frequency: frequency,
|
|
|
-// Unit: unit,
|
|
|
-// }
|
|
|
-// // 这里避免服务器宕机 出现唯一索引异常,进行分开保存
|
|
|
-// postEdbLib, err = httpRequestFill(indexOne, utils.ADD_RZD_INDEX)
|
|
|
-// if err != nil {
|
|
|
-// return nil, fmt.Errorf("getIndexId() : Failed to get rzd index by code: %v", err)
|
|
|
-// }
|
|
|
-// var requestResponse models.RequestResponse[int]
|
|
|
-// err = json.Unmarshal(postEdbLib, &requestResponse)
|
|
|
-// if err != nil {
|
|
|
-// return nil, err
|
|
|
-// }
|
|
|
-// utils.FileLog.Info("indexOneId: %v", requestResponse.Data)
|
|
|
-// //index.IndexInfoId = requestResponse.Data
|
|
|
-// } else {
|
|
|
-// utils.FileLog.Info("indexOneId: %v", requestResponse.Data.BaseFromRzdIndexId)
|
|
|
-// //index.IndexInfoId = requestResponse.Data.BaseFromRzdIndexId
|
|
|
-// }
|
|
|
-// }
|
|
|
-// return indexInfoList, nil
|
|
|
-// }
|
|
|
-func getIndexId(prefix string, area string, suffix string) (indexCode string) {
|
|
|
- prefixWords := strings.Fields(prefix) // 分割字符串为单词
|
|
|
- firstLetters := ""
|
|
|
- for _, word := range prefixWords {
|
|
|
- if len(word) > 0 {
|
|
|
- firstLetters += string(unicode.ToLower(rune(word[0]))) // 获取小写的第一个字母
|
|
|
- }
|
|
|
- }
|
|
|
- suffixWords := strings.Fields(suffix) // 分割字符串为单词
|
|
|
- SecondLetters := ""
|
|
|
-
|
|
|
- for _, word := range suffixWords {
|
|
|
- if len(word) > 0 {
|
|
|
- SecondLetters += string(unicode.ToLower(rune(word[0]))) // 获取小写的第一个字母
|
|
|
- }
|
|
|
- }
|
|
|
- indexCode = "rzd" + firstLetters + area + SecondLetters
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// 处理分类
|
|
|
-type BatchAddClassifyType struct {
|
|
|
- List []models.AddRzdClassify
|
|
|
-}
|
|
|
-
|
|
|
-func dealClassify(tableName string, sheetNames []string) (classifyList map[string]int, err error) {
|
|
|
- var rzdClassifyList []models.AddRzdClassify
|
|
|
- var parentId int
|
|
|
- classifyList = make(map[string]int)
|
|
|
- rzdMapStruct := classifyMap[tableName]
|
|
|
- // 查询一级分类是否存在
|
|
|
- if classify, ok := RzdClassifyMap[rzdMapStruct.ClassifyName]; !ok {
|
|
|
- parentClassify := models.AddRzdClassify{
|
|
|
- ClassifyName: rzdMapStruct.ClassifyName,
|
|
|
- Sort: rzdMapStruct.Sort,
|
|
|
- ParentId: 0,
|
|
|
- }
|
|
|
- rzdClassifyList = append(rzdClassifyList, parentClassify)
|
|
|
- resp, httpErr := httpRequestFill(BatchAddClassifyType{
|
|
|
- List: rzdClassifyList,
|
|
|
- }, utils.BATCH_ADD_RZD_CLASSYFY)
|
|
|
- if httpErr != nil {
|
|
|
- err = fmt.Errorf("添加睿咨得分类失败: %v", err)
|
|
|
- return
|
|
|
- }
|
|
|
- var rzdResp models.RequestResponse[[]models.BaseFromRzdClassify]
|
|
|
- jsonErr := json.Unmarshal(resp, &rzdResp)
|
|
|
- if jsonErr != nil {
|
|
|
- err = fmt.Errorf("解析添加睿咨得分类失败: %v", err)
|
|
|
- return
|
|
|
- }
|
|
|
- if rzdResp.Ret != 200 {
|
|
|
- err = fmt.Errorf("添加睿咨得分类失败: %v", err)
|
|
|
- return
|
|
|
- }
|
|
|
- parentId = rzdResp.Data[0].BaseFromRzdClassifyId
|
|
|
- classifyList[tableName] = rzdResp.Data[0].BaseFromRzdClassifyId
|
|
|
- } else {
|
|
|
- parentId = classify.BaseFromRzdClassifyId
|
|
|
- classifyList[tableName] = classify.BaseFromRzdClassifyId
|
|
|
- }
|
|
|
- rzdClassifyList = []models.AddRzdClassify{}
|
|
|
- //处理二级分类
|
|
|
- for _, sheetName := range sheetNames {
|
|
|
- if sheetName == "Content" {
|
|
|
- continue
|
|
|
- }
|
|
|
- rzdMapStruct = classifyMap[sheetName]
|
|
|
- if classify, ok := RzdClassifyMap[rzdMapStruct.ClassifyName]; !ok {
|
|
|
- rzdClassifyList = append(rzdClassifyList, models.AddRzdClassify{
|
|
|
- ClassifyName: rzdMapStruct.ClassifyName,
|
|
|
- Sort: rzdMapStruct.Sort,
|
|
|
- ParentId: parentId,
|
|
|
- })
|
|
|
- } else {
|
|
|
- classifyList[sheetName] = classify.BaseFromRzdClassifyId
|
|
|
- }
|
|
|
- }
|
|
|
- if len(rzdClassifyList) > 0 {
|
|
|
- resp, httpErr := httpRequestFill(BatchAddClassifyType{
|
|
|
- List: rzdClassifyList}, utils.BATCH_ADD_RZD_CLASSYFY)
|
|
|
- if httpErr != nil {
|
|
|
- err = fmt.Errorf("添加睿咨得分类失败: %v", err)
|
|
|
- return
|
|
|
- }
|
|
|
- var rzdResp models.RequestResponse[[]models.BaseFromRzdClassify]
|
|
|
- jsonErr := json.Unmarshal(resp, &rzdResp)
|
|
|
- if jsonErr != nil {
|
|
|
- err = fmt.Errorf("解析添加睿咨得分类失败: %v", err)
|
|
|
- return
|
|
|
- }
|
|
|
- if rzdResp.Ret != 200 {
|
|
|
- err = fmt.Errorf("添加睿咨得分类失败: %v", err)
|
|
|
- return
|
|
|
- }
|
|
|
- for _, classify := range rzdResp.Data {
|
|
|
- classifyList[classify.ClassifyName] = classify.BaseFromRzdClassifyId
|
|
|
- }
|
|
|
- }
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// 处理分类
|
|
|
-func getRzdClassifyList() (list []*models.BaseFromRzdClassify, err error) {
|
|
|
- //查询睿咨得分类
|
|
|
- postEdbLib, httpErr := httpRequestFill(nil, utils.GET_RZD_CLASSIFY)
|
|
|
- if httpErr != nil {
|
|
|
- err = fmt.Errorf("获取睿咨得分类数据失败: %v", httpErr)
|
|
|
- return
|
|
|
- }
|
|
|
- var requestResponse models.RequestResponse[[]*models.BaseFromRzdClassify]
|
|
|
- jsonErr := json.Unmarshal(postEdbLib, &requestResponse)
|
|
|
- if jsonErr != nil {
|
|
|
- err = fmt.Errorf("获取睿咨得分类数据失败,解析JSON数据失败: %v", jsonErr)
|
|
|
- return
|
|
|
- }
|
|
|
- if requestResponse.Ret != 200 {
|
|
|
- err = fmt.Errorf("获取睿咨得分类数据失败,请求应答异常: %v", requestResponse.ErrMsg)
|
|
|
- return
|
|
|
- }
|
|
|
- return requestResponse.Data, nil
|
|
|
-}
|
|
|
+//
|
|
|
+//// UpstreamSupplyOilQualityApiProcessor
|
|
|
+//// @Description: UpstreamSupplyOilQualityApiProcessor处理器
|
|
|
+//type UpstreamSupplyOilQualityApiProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdApiFlag string
|
|
|
+//
|
|
|
+//func (p *UpstreamSupplyOilQualityApiProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing UpstreamSupplyOilQualityApiProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdApiFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdApiFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "°"
|
|
|
+// indexNameColSuffix := "Oil Quality"
|
|
|
+// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColSuffix + "/" + "API"
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply "+indexNameColSuffix, strings.ToLower("API"), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOilQualityApiProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOilQualityApiProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor
|
|
|
+//// @Description: OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor处理器
|
|
|
+//type OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdSulphurFlag string
|
|
|
+//
|
|
|
+//func (p *OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdSulphurFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdSulphurFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "%wt"
|
|
|
+// indexNameColSuffix := "Oil Quality"
|
|
|
+// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColSuffix + "/" + "Sulphur"
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply "+indexNameColSuffix, strings.ToLower("Sulphur"), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("OilMarketCubeUpstreamSupplyOilQualitySulphurProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// OilMarketCubeUpstreamSupplyCapacityCapacityProcessor
|
|
|
+//// @Description: OilMarketCubeUpstreamSupplyCapacityCapacityProcessor处理器
|
|
|
+//type OilMarketCubeUpstreamSupplyCapacityCapacityProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdCapacityFlag string
|
|
|
+//
|
|
|
+//func (p *OilMarketCubeUpstreamSupplyCapacityCapacityProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing OilMarketCubeUpstreamSupplyCapacityCapacityProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdCapacityFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdCapacityFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// indexNameColSuffix := "Capacity"
|
|
|
+// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply ", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("OilMarketCubeUpstreamSupplyCapacityCapacityProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("OilMarketCubeUpstreamSupplyCapacityCapacityProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// OilMarketCubeUpstreamSupplyProductionProcessor
|
|
|
+//// @Description: OilMarketCubeUpstreamSupplyProductionProcessor处理器
|
|
|
+//type OilMarketCubeUpstreamSupplyProductionProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdProductionFlag string
|
|
|
+//
|
|
|
+//func (p *OilMarketCubeUpstreamSupplyProductionProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing OilMarketCubeUpstreamSupplyProductionProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdProductionFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdProductionFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// indexNameColSuffix := "Production"
|
|
|
+// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("OilMarketCubeUpstreamSupplyProductionProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("OilMarketCubeUpstreamSupplyProductionProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// UpstreamSupplyProductionWoSeasonalityProcessor
|
|
|
+//// @Description: UpstreamSupplyProductionWoSeasonalityProcessor处理器
|
|
|
+//type UpstreamSupplyProductionWoSeasonalityProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdProductionWoSeasonalityFlag string
|
|
|
+//
|
|
|
+//func (p *UpstreamSupplyProductionWoSeasonalityProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing UpstreamSupplyProductionWoSeasonalityProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdProductionWoSeasonalityFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdProductionWoSeasonalityFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// indexNameColSuffix := "Production Wo Seasonality"
|
|
|
+// //indexNameColPrefix := "CountryRevisionGroup"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyProductionWoSeasonalityProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyProductionWoSeasonalityProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// UpstreamSupplyOPECPolicyReferenceProductionProcessor
|
|
|
+//// @Description: UpstreamSupplyOPECPolicyReferenceProductionProcessor处理器
|
|
|
+//type UpstreamSupplyOPECPolicyReferenceProductionProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdReferenceProductionFlag string
|
|
|
+//
|
|
|
+//func (p *UpstreamSupplyOPECPolicyReferenceProductionProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyReferenceProductionProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdReferenceProductionFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdReferenceProductionFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Reference Production"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyReferenceProductionProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyReferenceProductionProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// UpstreamSupplyOPECPolicyTargetProductionProcessor
|
|
|
+//// @Description: UpstreamSupplyOPECPolicyTargetProductionProcessor处理器
|
|
|
+//type UpstreamSupplyOPECPolicyTargetProductionProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdTargetProductionFlag string
|
|
|
+//
|
|
|
+//func (p *UpstreamSupplyOPECPolicyTargetProductionProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyTargetProductionProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdTargetProductionFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdTargetProductionFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Target Production"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyTargetProductionProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyTargetProductionProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// UpstreamSupplyOPECPolicyTargetCutProcessor
|
|
|
+//// @Description: UpstreamSupplyOPECPolicyTargetCutProcessor处理器
|
|
|
+//type UpstreamSupplyOPECPolicyTargetCutProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdTargetCutFlag string
|
|
|
+//
|
|
|
+//func (p *UpstreamSupplyOPECPolicyTargetCutProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyTargetCutProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdTargetCutFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdTargetCutFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Target Cut"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyTargetCutProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyTargetCutProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// UpstreamSupplyOPECPolicyActualCutProcessor
|
|
|
+//// @Description: UpstreamSupplyOPECPolicyActualCutProcessor处理器
|
|
|
+//type UpstreamSupplyOPECPolicyActualCutProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdActualCutFlag string
|
|
|
+//
|
|
|
+//func (p *UpstreamSupplyOPECPolicyActualCutProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyActualCutProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdActualCutFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdActualCutFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Actual Cut"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyActualCutProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyActualCutProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// UpstreamSupplyOPECPolicyComplianceProcessor
|
|
|
+//// @Description: UpstreamSupplyOPECPolicyComplianceProcessor处理器
|
|
|
+//type UpstreamSupplyOPECPolicyComplianceProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdComplianceFlag string
|
|
|
+//
|
|
|
+//func (p *UpstreamSupplyOPECPolicyComplianceProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyComplianceProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdComplianceFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdComplianceFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Compliance"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyComplianceProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyComplianceProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor
|
|
|
+//// @Description: UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor处理器
|
|
|
+//type UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdProductionSubjectToCutFlag string
|
|
|
+//
|
|
|
+//func (p *UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdProductionSubjectToCutFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdProductionSubjectToCutFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Production Subject To Cut"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Upstream Supply")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Upstream Supply" + "/" + indexNameColPrefix + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Upstream Supply "+indexNameColPrefix, strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("UpstreamSupplyOPECPolicyProductionSubjectToCutProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// ProductsDemandProductsDemandMeanProcessor
|
|
|
+//// @Description: ProductsDemandProductsDemandMeanProcessor处理器
|
|
|
+//type ProductsDemandProductsDemandMeanProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdProductsDemandMeanFlag string
|
|
|
+//
|
|
|
+//func (p *ProductsDemandProductsDemandMeanProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing ProductsDemandProductsDemandMeanProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdProductsDemandMeanFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdProductsDemandMeanFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// //indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Products Demand Mean (1.0 DG) "
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Products Demand")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Products Demand" + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Products Demand "+"Products Demand Mean", strings.ReplaceAll(strings.ToLower("1.0dg"), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("ProductsDemandProductsDemandMeanProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("ProductsDemandProductsDemandMeanProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// ProductsDemandProductsDemandAddSigmaProcessor
|
|
|
+//// @Description: ProductsDemandProductsDemandAddSigmaProcessor处理器
|
|
|
+//type ProductsDemandProductsDemandAddSigmaProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdAddSigmaFlag string
|
|
|
+//
|
|
|
+//func (p *ProductsDemandProductsDemandAddSigmaProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing ProductsDemandProductsDemandAddSigmaProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdAddSigmaFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdAddSigmaFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// //indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Products Demand +Sigma (2.2 DG) "
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Products Demand")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Products Demand" + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Products Demand "+"Products Demand Sigma", strings.ReplaceAll(strings.ToLower("2.2dg"), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("ProductsDemandProductsDemandAddSigmaProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("ProductsDemandProductsDemandAddSigmaProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// ProductsDemandProductsDemandSubSigmaProcessor
|
|
|
+//// @Description: ProductsDemandProductsDemandSubSigmaProcessor处理器
|
|
|
+//type ProductsDemandProductsDemandSubSigmaProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdSubSigmaFlag string
|
|
|
+//
|
|
|
+//func (p *ProductsDemandProductsDemandSubSigmaProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing ProductsDemandProductsDemandSubSigmaProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdSubSigmaFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdSubSigmaFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// //indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Products Demand -Sigma (1.8 DG) "
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Products Demand")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Products Demand" + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Products Demand "+"Products Demand Sigma", strings.ReplaceAll(strings.ToLower("1.8dg"), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("ProductsDemandProductsDemandSubSigmaProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("ProductsDemandProductsDemandSubSigmaProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// BalancesTotalLiquidsBalancesProcessor
|
|
|
+//// @Description: BalancesTotalLiquidsBalancesProcessor处理器
|
|
|
+//type BalancesTotalLiquidsBalancesProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdTotalLiquidsBalancesFlag string
|
|
|
+//
|
|
|
+//func (p *BalancesTotalLiquidsBalancesProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing BalancesTotalLiquidsBalancesProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdTotalLiquidsBalancesFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdTotalLiquidsBalancesFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "kbbl/d"
|
|
|
+// //indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Total Liquids Balances"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Balances")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Balances" + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Balances", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("BalancesTotalLiquidsBalancesProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("BalancesTotalLiquidsBalancesProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// GeographyLatitudeProcessor
|
|
|
+//// @Description: GeographyLatitudeProcessor处理器
|
|
|
+//type GeographyLatitudeProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdLatitudeFlag string
|
|
|
+//
|
|
|
+//func (p *GeographyLatitudeProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing GeographyLatitudeProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdLatitudeFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdLatitudeFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := ""
|
|
|
+// //indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Latitude"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Geography")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Geography" + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Geography", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("GeographyLatitudeProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("GeographyLatitudeProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// GeographyLongitudeProcessor
|
|
|
+//// @Description: GeographyLongitudeProcessor处理器
|
|
|
+//type GeographyLongitudeProcessor struct{}
|
|
|
+//
|
|
|
+//var rzdLongitudeFlag string
|
|
|
+//
|
|
|
+//func (p *GeographyLongitudeProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing GeographyLongitudeProcessor...")
|
|
|
+// if rowIndex <= 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// if rowData[0] != "" {
|
|
|
+// rzdLongitudeFlag = rowData[0]
|
|
|
+// } else {
|
|
|
+// rowData[0] = rzdLongitudeFlag
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := ""
|
|
|
+// //indexNameColPrefix := "OPEC_Policy"
|
|
|
+// indexNameColSuffix := "Longitude"
|
|
|
+//
|
|
|
+// if !utils.IsNumeric(rowData[0]) {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+// if rowData[1] == "Sum" {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("Oil Market Cube", "Geography")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Geography" + "/" + indexNameColSuffix
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Geography", strings.ReplaceAll(strings.ToLower(indexNameColSuffix), " ", ""), "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// value, err := strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat6(dataTime + "-" + rowData[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexName,
|
|
|
+// IndexCode: indexCode,
|
|
|
+// Value: value,
|
|
|
+// DataTime: format,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("GeographyLongitudeProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("GeographyLongitudeProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|