|
@@ -7,486 +7,486 @@ import (
|
|
|
"eta/eta_data_analysis/models"
|
|
|
"eta/eta_data_analysis/utils"
|
|
|
"fmt"
|
|
|
- "strconv"
|
|
|
"strings"
|
|
|
"unicode"
|
|
|
)
|
|
|
|
|
|
-// SupplyRevisionAnalysisChartOneProcessor
|
|
|
-// @Description: SupplyRevisionAnalysisChartOneProcessor处理器
|
|
|
-type SupplyRevisionAnalysisChartOneProcessor struct{}
|
|
|
-
|
|
|
-func (p *SupplyRevisionAnalysisChartOneProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
- utils.FileLog.Info("Processing SupplyRevisionAnalysisChartOne...")
|
|
|
- if rowIndex < 1 {
|
|
|
- return nil, nil
|
|
|
- }
|
|
|
-
|
|
|
- frequency := "季度"
|
|
|
- unit := "千桶每天"
|
|
|
- indexNameColSuffix := "YearQuarter"
|
|
|
- indexNameColPrefix := "Country Revision Group"
|
|
|
-
|
|
|
- // step_1: 分类
|
|
|
- classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-
|
|
|
- // step_2: 指标
|
|
|
- // 指标名称
|
|
|
- indexName := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + indexNameColSuffix + "/" + rowData[len(rowData)-1]
|
|
|
-
|
|
|
- // 生成指标编码
|
|
|
- indexCode, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix+" Year Quarter", strings.ReplaceAll(strings.ToLower(rowData[len(rowData)-1]), " ", ""), "")
|
|
|
-
|
|
|
- indexInfoMap := make(map[string]string)
|
|
|
- indexInfoMap[indexCode] = indexName
|
|
|
-
|
|
|
- var indexInfoList []*models.IndexInfo
|
|
|
- var value float64
|
|
|
- if rowData[len(rowData)-2] == "" {
|
|
|
- value = 0
|
|
|
- } else {
|
|
|
- value, err = strconv.ParseFloat(rowData[len(rowData)-2], 64)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- dataTime := rowData[0]
|
|
|
- format, err := utils.ConvertDateFormatQuarter(dataTime)
|
|
|
- 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("SupplyRevisionAnalysisChartOneProcessor indexInfoList: %v", indexInfoList)
|
|
|
-
|
|
|
- // step_3: 指标数据
|
|
|
- dataList, err := dealData(indexInfoList)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("SupplyRevisionAnalysisChartOneProcessor dataList: %v", dataList)
|
|
|
-
|
|
|
- return dataList, err
|
|
|
-}
|
|
|
-
|
|
|
-// SupplyRevisionAnalysisChartTwoProcessor
|
|
|
-// @Description: SupplyRevisionAnalysisChartTwoProcessor处理器
|
|
|
-type SupplyRevisionAnalysisChartTwoProcessor struct{}
|
|
|
-
|
|
|
-func (p *SupplyRevisionAnalysisChartTwoProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
- utils.FileLog.Info("Processing SupplyRevisionAnalysisChartTwoProcessor...")
|
|
|
- if rowIndex < 1 {
|
|
|
- return nil, nil
|
|
|
- }
|
|
|
-
|
|
|
- frequency := "季度"
|
|
|
- unit := "千桶每天"
|
|
|
- indexNameColPrefix := "YearQuarter"
|
|
|
-
|
|
|
- // step_1: 分类
|
|
|
- classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-
|
|
|
- // step_2: 指标
|
|
|
- // 指标名称
|
|
|
- indexNameOne := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Current"
|
|
|
- indexNameTwo := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Previous"
|
|
|
-
|
|
|
- // 生成指标编码
|
|
|
- indexCodeOne, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "Current", "")
|
|
|
- indexCodeTwo, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "Previous", "")
|
|
|
-
|
|
|
- var indexInfoList []*models.IndexInfo
|
|
|
- var valueOne float64
|
|
|
- if rowData[len(rowData)-2] == "" {
|
|
|
- valueOne = 0
|
|
|
- } else {
|
|
|
- valueOne, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-2], ",", ""), 64)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- dataTimeOne := rowData[sheetC]
|
|
|
- formatOne, err := utils.ConvertDateFormat2(dataTimeOne)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
-
|
|
|
- indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
- IndexName: indexNameOne,
|
|
|
- IndexCode: indexCodeOne,
|
|
|
- Value: valueOne,
|
|
|
- DataTime: formatOne,
|
|
|
- })
|
|
|
- var valueTwo float64
|
|
|
- if rowData[len(rowData)-1] == "" {
|
|
|
- valueTwo = 0
|
|
|
- } else {
|
|
|
- valueTwo, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-1], ",", ""), 64)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
- IndexName: indexNameTwo,
|
|
|
- IndexCode: indexCodeTwo,
|
|
|
- Value: valueTwo,
|
|
|
- DataTime: formatOne,
|
|
|
- })
|
|
|
-
|
|
|
- indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("SupplyRevisionAnalysisChartTwoProcessor indexInfoList: %v", indexInfoList)
|
|
|
-
|
|
|
- // step_3: 指标数据
|
|
|
- dataList, err := dealData(indexInfoList)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("SupplyRevisionAnalysisChartTwoProcessor dataList: %v", dataList)
|
|
|
-
|
|
|
- return dataList, err
|
|
|
-}
|
|
|
-
|
|
|
-// SupplyRevisionAnalysisChartThreeProcessor
|
|
|
-// @Description: SupplyRevisionAnalysisChartThreeProcessor
|
|
|
-type SupplyRevisionAnalysisChartThreeProcessor struct{}
|
|
|
-
|
|
|
-func (p *SupplyRevisionAnalysisChartThreeProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
- utils.FileLog.Info("Processing SupplyRevisionAnalysisChartThreeProcessor...")
|
|
|
- if rowIndex < 1 {
|
|
|
- return nil, nil
|
|
|
- }
|
|
|
-
|
|
|
- frequency := "年度"
|
|
|
- unit := "千桶每天"
|
|
|
- indexNameColSuffix := "Year"
|
|
|
- indexNameColPrefix := "Country Revision Group"
|
|
|
-
|
|
|
- // step_1: 分类
|
|
|
- classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-
|
|
|
- // step_2: 指标
|
|
|
- // 指标名称
|
|
|
- indexName := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + indexNameColSuffix + "/" + rowData[len(rowData)-1]
|
|
|
-
|
|
|
- // 生成指标编码
|
|
|
- indexCode, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix+" "+indexNameColSuffix, strings.ReplaceAll(strings.ToLower(rowData[len(rowData)-1]), " ", ""), "")
|
|
|
-
|
|
|
- indexInfoMap := make(map[string]string)
|
|
|
- indexInfoMap[indexCode] = indexName
|
|
|
-
|
|
|
- var indexInfoList []*models.IndexInfo
|
|
|
- var value float64
|
|
|
- if rowData[len(rowData)-2] == "" {
|
|
|
- value = 0
|
|
|
- } else {
|
|
|
- value, err = strconv.ParseFloat(rowData[len(rowData)-2], 64)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- dataTime := rowData[0]
|
|
|
- format, err := utils.ConvertDateFormat4(dataTime)
|
|
|
- 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("SupplyRevisionAnalysisChartThreeProcessor indexInfoList: %v", indexInfoList)
|
|
|
-
|
|
|
- // step_3: 指标数据
|
|
|
- dataList, err := dealData(indexInfoList)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("SupplyRevisionAnalysisChartThreeProcessor dataList: %v", dataList)
|
|
|
-
|
|
|
- return dataList, err
|
|
|
-}
|
|
|
-
|
|
|
-// SupplyRevisionAnalysisChartFourProcessor
|
|
|
-// @Description: SupplyRevisionAnalysisChartFourProcessor处理器
|
|
|
-type SupplyRevisionAnalysisChartFourProcessor struct{}
|
|
|
-
|
|
|
-func (p *SupplyRevisionAnalysisChartFourProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
- utils.FileLog.Info("Processing SupplyRevisionAnalysisChartFourProcessor...")
|
|
|
- if rowIndex < 1 {
|
|
|
- return nil, nil
|
|
|
- }
|
|
|
-
|
|
|
- frequency := "年度"
|
|
|
- unit := "千桶每天"
|
|
|
- indexNameColPrefix := "Year"
|
|
|
-
|
|
|
- // step_1: 分类
|
|
|
- classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-
|
|
|
- // step_2: 指标
|
|
|
- // 指标名称
|
|
|
- indexNameOne := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Current"
|
|
|
- indexNameTwo := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Previous"
|
|
|
-
|
|
|
- // 生成指标编码
|
|
|
- indexCodeOne, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "current", "")
|
|
|
- indexCodeTwo, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "previous", "")
|
|
|
-
|
|
|
- var indexInfoList []*models.IndexInfo
|
|
|
- var valueOne float64
|
|
|
- if rowData[len(rowData)-2] == "" {
|
|
|
- valueOne = 0
|
|
|
- } else {
|
|
|
- valueOne, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-2], ",", ""), 64)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- dataTimeOne := rowData[0]
|
|
|
- formatOne, err := utils.ConvertDateFormat4(dataTimeOne)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
-
|
|
|
- indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
- IndexName: indexNameOne,
|
|
|
- IndexCode: indexCodeOne,
|
|
|
- Value: valueOne,
|
|
|
- DataTime: formatOne,
|
|
|
- })
|
|
|
- var valueTwo float64
|
|
|
- if rowData[len(rowData)-1] == "" {
|
|
|
- valueTwo = 0
|
|
|
- } else {
|
|
|
- valueTwo, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-1], ",", ""), 64)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
- IndexName: indexNameTwo,
|
|
|
- IndexCode: indexCodeTwo,
|
|
|
- Value: valueTwo,
|
|
|
- DataTime: formatOne,
|
|
|
- })
|
|
|
-
|
|
|
- indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("SupplyRevisionAnalysisChartFourProcessor indexInfoList: %v", indexInfoList)
|
|
|
-
|
|
|
- // step_3: 指标数据
|
|
|
- dataList, err := dealData(indexInfoList)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("SupplyRevisionAnalysisChartFourProcessor dataList: %v", dataList)
|
|
|
-
|
|
|
- return dataList, err
|
|
|
-}
|
|
|
-
|
|
|
-// SupplyRevisionAnalysisChartFiveProcessor
|
|
|
-// @Description: SupplyRevisionAnalysisChartFiveProcessor处理器
|
|
|
-type SupplyRevisionAnalysisChartFiveProcessor struct{}
|
|
|
-
|
|
|
-func (p *SupplyRevisionAnalysisChartFiveProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
- utils.FileLog.Info("Processing SupplyRevisionAnalysisChartFiveProcessor...")
|
|
|
- if rowIndex < 1 {
|
|
|
- return nil, nil
|
|
|
- }
|
|
|
-
|
|
|
- frequency := "月度"
|
|
|
- unit := "千桶每天"
|
|
|
- indexNameColPrefix := "YearMonth"
|
|
|
-
|
|
|
- // step_1: 分类
|
|
|
- classifyId, err := dealClassify("cube dashboards")
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-
|
|
|
- // step_2: 指标
|
|
|
- // 指标名称
|
|
|
- indexNameOne := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Current/Chat5"
|
|
|
- indexNameTwo := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Previous/Chat5"
|
|
|
-
|
|
|
- // 生成指标编码
|
|
|
- indexCodeOne, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "currentchat5", "")
|
|
|
- indexCodeTwo, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "previouschat5", "")
|
|
|
-
|
|
|
- var indexInfoList []*models.IndexInfo
|
|
|
- var valueOne float64
|
|
|
- if rowData[len(rowData)-2] == "" {
|
|
|
- valueOne = 0
|
|
|
- } else {
|
|
|
- valueOne, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-2], ",", ""), 64)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- dataTimeOne := rowData[len(rowData)-1]
|
|
|
- timeSplit := strings.Split(dataTimeOne, "-")
|
|
|
- formatOne, err := utils.GetLastDayOfMonth(timeSplit[0] + "-" + timeSplit[1])
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
-
|
|
|
- indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
- IndexName: indexNameOne,
|
|
|
- IndexCode: indexCodeOne,
|
|
|
- Value: valueOne,
|
|
|
- DataTime: formatOne,
|
|
|
- })
|
|
|
- var valueTwo float64
|
|
|
- if rowData[len(rowData)-3] == "" {
|
|
|
- valueTwo = 0
|
|
|
- } else {
|
|
|
- valueTwo, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-3], ",", ""), 64)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
- IndexName: indexNameTwo,
|
|
|
- IndexCode: indexCodeTwo,
|
|
|
- Value: valueTwo,
|
|
|
- DataTime: formatOne,
|
|
|
- })
|
|
|
-
|
|
|
- indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("SupplyRevisionAnalysisChartFiveProcessor indexInfoList: %v", indexInfoList)
|
|
|
-
|
|
|
- // step_3: 指标数据
|
|
|
- dataList, err := dealData(indexInfoList)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("SupplyRevisionAnalysisChartFiveProcessor dataList: %v", dataList)
|
|
|
-
|
|
|
- return dataList, err
|
|
|
-}
|
|
|
-
|
|
|
-// SupplyRevisionAnalysisChartSixProcessor
|
|
|
-// @Description: SupplyRevisionAnalysisChartSixProcessor
|
|
|
-type SupplyRevisionAnalysisChartSixProcessor struct{}
|
|
|
-
|
|
|
-func (p *SupplyRevisionAnalysisChartSixProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
- utils.FileLog.Info("Processing SupplyRevisionAnalysisChartSixProcessor...")
|
|
|
- if rowIndex < 1 {
|
|
|
- return nil, nil
|
|
|
- }
|
|
|
-
|
|
|
- frequency := "月度"
|
|
|
- unit := "千桶每天"
|
|
|
- indexNameColSuffix := "YearMonth"
|
|
|
- indexNameColPrefix := "Country Revision Group"
|
|
|
-
|
|
|
- // step_1: 分类
|
|
|
- classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
-
|
|
|
- // step_2: 指标
|
|
|
- // 指标名称
|
|
|
- indexName := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + indexNameColSuffix + "/" + rowData[len(rowData)-2]
|
|
|
-
|
|
|
- // 生成指标编码
|
|
|
- indexCode, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix+" "+indexNameColSuffix, strings.ReplaceAll(strings.ToLower(rowData[len(rowData)-2]), " ", ""), "")
|
|
|
-
|
|
|
- indexInfoMap := make(map[string]string)
|
|
|
- indexInfoMap[indexCode] = indexName
|
|
|
-
|
|
|
- var indexInfoList []*models.IndexInfo
|
|
|
- var value float64
|
|
|
- if rowData[len(rowData)-1] == "" {
|
|
|
- value = 0
|
|
|
- } else {
|
|
|
- value, err = strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- dataTime := rowData[0]
|
|
|
- timeSplit := strings.Split(dataTime, "-")
|
|
|
- format, err := utils.GetLastDayOfMonth(timeSplit[0] + "-" + timeSplit[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("SupplyRevisionAnalysisChartSixProcessor indexInfoList: %v", indexInfoList)
|
|
|
-
|
|
|
- // step_3: 指标数据
|
|
|
- dataList, err := dealData(indexInfoList)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- utils.FileLog.Info("SupplyRevisionAnalysisChartSixProcessor dataList: %v", dataList)
|
|
|
-
|
|
|
- return dataList, err
|
|
|
-}
|
|
|
+//
|
|
|
+//// SupplyRevisionAnalysisChartOneProcessor
|
|
|
+//// @Description: SupplyRevisionAnalysisChartOneProcessor处理器
|
|
|
+//type SupplyRevisionAnalysisChartOneProcessor struct{}
|
|
|
+//
|
|
|
+//func (p *SupplyRevisionAnalysisChartOneProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing SupplyRevisionAnalysisChartOne...")
|
|
|
+// if rowIndex < 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "季度"
|
|
|
+// unit := "千桶每天"
|
|
|
+// indexNameColSuffix := "Year Quarter"
|
|
|
+// indexNameColPrefix := "Country Revision Group"
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + indexNameColSuffix + "/" + rowData[len(rowData)-1]
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Supply Revision Analysis " + indexNameColPrefix + " Year Quarter")
|
|
|
+//
|
|
|
+// indexInfoMap := make(map[string]string)
|
|
|
+// indexInfoMap[indexCode] = indexName
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// var value float64
|
|
|
+// if rowData[len(rowData)-2] == "" {
|
|
|
+// value = 0
|
|
|
+// } else {
|
|
|
+// value, err = strconv.ParseFloat(rowData[len(rowData)-2], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormatQuarter(dataTime)
|
|
|
+// 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("SupplyRevisionAnalysisChartOneProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("SupplyRevisionAnalysisChartOneProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// SupplyRevisionAnalysisChartTwoProcessor
|
|
|
+//// @Description: SupplyRevisionAnalysisChartTwoProcessor处理器
|
|
|
+//type SupplyRevisionAnalysisChartTwoProcessor struct{}
|
|
|
+//
|
|
|
+//func (p *SupplyRevisionAnalysisChartTwoProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing SupplyRevisionAnalysisChartTwoProcessor...")
|
|
|
+// if rowIndex < 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "季度"
|
|
|
+// unit := "千桶每天"
|
|
|
+// indexNameColPrefix := "YearQuarter"
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexNameOne := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Current"
|
|
|
+// indexNameTwo := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Previous"
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCodeOne, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "Current", "")
|
|
|
+// indexCodeTwo, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "Previous", "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// var valueOne float64
|
|
|
+// if rowData[len(rowData)-2] == "" {
|
|
|
+// valueOne = 0
|
|
|
+// } else {
|
|
|
+// valueOne, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-2], ",", ""), 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTimeOne := rowData[sheetC]
|
|
|
+// formatOne, err := utils.ConvertDateFormat2(dataTimeOne)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexNameOne,
|
|
|
+// IndexCode: indexCodeOne,
|
|
|
+// Value: valueOne,
|
|
|
+// DataTime: formatOne,
|
|
|
+// })
|
|
|
+// var valueTwo float64
|
|
|
+// if rowData[len(rowData)-1] == "" {
|
|
|
+// valueTwo = 0
|
|
|
+// } else {
|
|
|
+// valueTwo, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-1], ",", ""), 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexNameTwo,
|
|
|
+// IndexCode: indexCodeTwo,
|
|
|
+// Value: valueTwo,
|
|
|
+// DataTime: formatOne,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("SupplyRevisionAnalysisChartTwoProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("SupplyRevisionAnalysisChartTwoProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// SupplyRevisionAnalysisChartThreeProcessor
|
|
|
+//// @Description: SupplyRevisionAnalysisChartThreeProcessor
|
|
|
+//type SupplyRevisionAnalysisChartThreeProcessor struct{}
|
|
|
+//
|
|
|
+//func (p *SupplyRevisionAnalysisChartThreeProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing SupplyRevisionAnalysisChartThreeProcessor...")
|
|
|
+// if rowIndex < 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "年度"
|
|
|
+// unit := "千桶每天"
|
|
|
+// indexNameColSuffix := "Year"
|
|
|
+// indexNameColPrefix := "Country Revision Group"
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + indexNameColSuffix + "/" + rowData[len(rowData)-1]
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix+" "+indexNameColSuffix, strings.ReplaceAll(strings.ToLower(rowData[len(rowData)-1]), " ", ""), "")
|
|
|
+//
|
|
|
+// indexInfoMap := make(map[string]string)
|
|
|
+// indexInfoMap[indexCode] = indexName
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// var value float64
|
|
|
+// if rowData[len(rowData)-2] == "" {
|
|
|
+// value = 0
|
|
|
+// } else {
|
|
|
+// value, err = strconv.ParseFloat(rowData[len(rowData)-2], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// format, err := utils.ConvertDateFormat4(dataTime)
|
|
|
+// 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("SupplyRevisionAnalysisChartThreeProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("SupplyRevisionAnalysisChartThreeProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// SupplyRevisionAnalysisChartFourProcessor
|
|
|
+//// @Description: SupplyRevisionAnalysisChartFourProcessor处理器
|
|
|
+//type SupplyRevisionAnalysisChartFourProcessor struct{}
|
|
|
+//
|
|
|
+//func (p *SupplyRevisionAnalysisChartFourProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing SupplyRevisionAnalysisChartFourProcessor...")
|
|
|
+// if rowIndex < 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "年度"
|
|
|
+// unit := "千桶每天"
|
|
|
+// indexNameColPrefix := "Year"
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexNameOne := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Current"
|
|
|
+// indexNameTwo := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Previous"
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCodeOne, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "current", "")
|
|
|
+// indexCodeTwo, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "previous", "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// var valueOne float64
|
|
|
+// if rowData[len(rowData)-2] == "" {
|
|
|
+// valueOne = 0
|
|
|
+// } else {
|
|
|
+// valueOne, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-2], ",", ""), 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTimeOne := rowData[0]
|
|
|
+// formatOne, err := utils.ConvertDateFormat4(dataTimeOne)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexNameOne,
|
|
|
+// IndexCode: indexCodeOne,
|
|
|
+// Value: valueOne,
|
|
|
+// DataTime: formatOne,
|
|
|
+// })
|
|
|
+// var valueTwo float64
|
|
|
+// if rowData[len(rowData)-1] == "" {
|
|
|
+// valueTwo = 0
|
|
|
+// } else {
|
|
|
+// valueTwo, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-1], ",", ""), 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexNameTwo,
|
|
|
+// IndexCode: indexCodeTwo,
|
|
|
+// Value: valueTwo,
|
|
|
+// DataTime: formatOne,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("SupplyRevisionAnalysisChartFourProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("SupplyRevisionAnalysisChartFourProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// SupplyRevisionAnalysisChartFiveProcessor
|
|
|
+//// @Description: SupplyRevisionAnalysisChartFiveProcessor处理器
|
|
|
+//type SupplyRevisionAnalysisChartFiveProcessor struct{}
|
|
|
+//
|
|
|
+//func (p *SupplyRevisionAnalysisChartFiveProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing SupplyRevisionAnalysisChartFiveProcessor...")
|
|
|
+// if rowIndex < 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "千桶每天"
|
|
|
+// indexNameColPrefix := "YearMonth"
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("cube dashboards")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexNameOne := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Current/Chat5"
|
|
|
+// indexNameTwo := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + "Previous/Chat5"
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCodeOne, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "currentchat5", "")
|
|
|
+// indexCodeTwo, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix, "previouschat5", "")
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// var valueOne float64
|
|
|
+// if rowData[len(rowData)-2] == "" {
|
|
|
+// valueOne = 0
|
|
|
+// } else {
|
|
|
+// valueOne, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-2], ",", ""), 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTimeOne := rowData[len(rowData)-1]
|
|
|
+// timeSplit := strings.Split(dataTimeOne, "-")
|
|
|
+// formatOne, err := utils.GetLastDayOfMonth(timeSplit[0] + "-" + timeSplit[1])
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexNameOne,
|
|
|
+// IndexCode: indexCodeOne,
|
|
|
+// Value: valueOne,
|
|
|
+// DataTime: formatOne,
|
|
|
+// })
|
|
|
+// var valueTwo float64
|
|
|
+// if rowData[len(rowData)-3] == "" {
|
|
|
+// valueTwo = 0
|
|
|
+// } else {
|
|
|
+// valueTwo, err = strconv.ParseFloat(strings.ReplaceAll(rowData[len(rowData)-3], ",", ""), 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// indexInfoList = append(indexInfoList, &models.IndexInfo{
|
|
|
+// IndexName: indexNameTwo,
|
|
|
+// IndexCode: indexCodeTwo,
|
|
|
+// Value: valueTwo,
|
|
|
+// DataTime: formatOne,
|
|
|
+// })
|
|
|
+//
|
|
|
+// indexInfoList, err = dealIndex(indexInfoList, frequency, unit, classifyId)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("SupplyRevisionAnalysisChartFiveProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("SupplyRevisionAnalysisChartFiveProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
+//
|
|
|
+//// SupplyRevisionAnalysisChartSixProcessor
|
|
|
+//// @Description: SupplyRevisionAnalysisChartSixProcessor
|
|
|
+//type SupplyRevisionAnalysisChartSixProcessor struct{}
|
|
|
+//
|
|
|
+//func (p *SupplyRevisionAnalysisChartSixProcessor) Process(tableName string, sheetName string, rowIndex int, rowData []string) ([]models.BaseFromRzdData, error) {
|
|
|
+// utils.FileLog.Info("Processing SupplyRevisionAnalysisChartSixProcessor...")
|
|
|
+// if rowIndex < 1 {
|
|
|
+// return nil, nil
|
|
|
+// }
|
|
|
+//
|
|
|
+// frequency := "月度"
|
|
|
+// unit := "千桶每天"
|
|
|
+// indexNameColSuffix := "YearMonth"
|
|
|
+// indexNameColPrefix := "Country Revision Group"
|
|
|
+//
|
|
|
+// // step_1: 分类
|
|
|
+// classifyId, err := dealClassify("cube dashboards", "Supply Revision Analysis")
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("classifyId: %v", classifyId)
|
|
|
+//
|
|
|
+// // step_2: 指标
|
|
|
+// // 指标名称
|
|
|
+// indexName := "Supply Revision Analysis" + "/" + indexNameColPrefix + "/" + indexNameColSuffix + "/" + rowData[len(rowData)-2]
|
|
|
+//
|
|
|
+// // 生成指标编码
|
|
|
+// indexCode, err := getIndexId("Supply Revision Analysis "+indexNameColPrefix+" "+indexNameColSuffix, strings.ReplaceAll(strings.ToLower(rowData[len(rowData)-2]), " ", ""), "")
|
|
|
+//
|
|
|
+// indexInfoMap := make(map[string]string)
|
|
|
+// indexInfoMap[indexCode] = indexName
|
|
|
+//
|
|
|
+// var indexInfoList []*models.IndexInfo
|
|
|
+// var value float64
|
|
|
+// if rowData[len(rowData)-1] == "" {
|
|
|
+// value = 0
|
|
|
+// } else {
|
|
|
+// value, err = strconv.ParseFloat(rowData[len(rowData)-1], 64)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// dataTime := rowData[0]
|
|
|
+// timeSplit := strings.Split(dataTime, "-")
|
|
|
+// format, err := utils.GetLastDayOfMonth(timeSplit[0] + "-" + timeSplit[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("SupplyRevisionAnalysisChartSixProcessor indexInfoList: %v", indexInfoList)
|
|
|
+//
|
|
|
+// // step_3: 指标数据
|
|
|
+// dataList, err := dealData(indexInfoList)
|
|
|
+// if err != nil {
|
|
|
+// return nil, err
|
|
|
+// }
|
|
|
+// utils.FileLog.Info("SupplyRevisionAnalysisChartSixProcessor dataList: %v", dataList)
|
|
|
+//
|
|
|
+// return dataList, err
|
|
|
+//}
|
|
|
|
|
|
//
|
|
|
//// OilSupplyAnalysisChartOneProcessor
|