浏览代码

Merge branch 'feature/eta1.8.4_balance_table' into debug

xyxie 9 月之前
父节点
当前提交
8bdcb78a4d

+ 1 - 1
models/data_manage/excel/excel_chart_data.go

@@ -50,7 +50,7 @@ func GetExcelChartDataByExcelInfoId(excelInfoId int) (list []*ExcelChartData, er
 	sql := ` SELECT *
              FROM excel_chart_data
 			 WHERE excel_info_id=? 
-             ORDER BY excel_chart_edb_id ASC, excel_chart_data_id ASC `
+            ORDER BY excel_chart_edb_id ASC, data_time desc, excel_chart_data_id ASC `
 	_, err = o.Raw(sql, excelInfoId).QueryRows(&list)
 	return
 }

+ 3 - 0
models/data_manage/excel/excel_chart_edb.go

@@ -16,6 +16,9 @@ type ExcelChartEdb struct {
 	ChartInfoId     int       `description:"图表id"`
 	EdbCode         string    `description:"指标编码"`
 	EdbName         string    `description:"指标名称"`
+	EdbNameEn       string    `description:"指标英文名称"`
+	Unit            string    `description:"指标单位"`
+	UnitEn          string    `description:"指标单位"`
 	DateSequence    string    `description:"日期序列选区"`
 	DataSequence    string    `description:"数据序列选区"`
 	SysUserId       int       `description:"创建人"`

+ 8 - 3
services/data/chart_info_excel_balance.go

@@ -9,6 +9,7 @@ import (
 	"eta/eta_chart_lib/utils"
 	"fmt"
 	"math"
+	"sort"
 	"strings"
 	"time"
 )
@@ -267,6 +268,10 @@ func GetBalanceExcelEdbDataMapList(chartInfoId, chartType int, calendar, startDa
 		dataListTmp, ok := dataListMap[v.EdbInfoId]
 		if ok {
 			dataList = dataListTmp
+			// 对dataList 根据dataTimestamp 进行排序
+			sort.Slice(dataList, func(i, j int) bool {
+				return dataList[i].DataTimestamp < dataList[j].DataTimestamp
+			})
 		} else {
 			//err = errors.New(fmt.Sprint("获取失败,指标类型异常", v.EdbInfoId))
 			utils.FileLog.Info(fmt.Sprintf("获取失败,指标数据异常 %d", v.EdbInfoId))
@@ -403,13 +408,13 @@ func TransferChartEdbToEdbMappingFormat(chartInfoId, chartType int, mappingListT
 			EdbCode:           v.EdbCode,
 			EdbName:           v.EdbName,
 			EdbAliasName:      v.EdbName,
-			EdbNameEn:         "",
+			EdbNameEn:         v.EdbNameEn,
 			EdbAliasNameEn:    "",
 			EdbType:           0,
 			Frequency:         "",
 			FrequencyEn:       "",
-			Unit:              "",
-			UnitEn:            "",
+			Unit:              v.Unit,
+			UnitEn:            v.UnitEn,
 			StartDate:         startDateStr,
 			EndDate:           endDateStr,
 			ModifyTime:        v.ModifyTime.Format(utils.FormatDateTime),

+ 12 - 6
services/data/excel/balance_table.go

@@ -331,17 +331,23 @@ func GetBalanceExcelEdbData(excelEdbMappingItem *excel.ExcelChartEdb, newMixedTa
 
 	newDataMap := make(map[int]float64, len(newDataList))
 	for i, v := range newDataList {
-		val, e := strconv.ParseFloat(v, 64)
-		if e != nil {
-			err = fmt.Errorf(" 处理日期和数据系列失败 %s", e.Error())
-			return
+		if v != "" {
+			val, e := strconv.ParseFloat(v, 64)
+			if e != nil {
+				err = fmt.Errorf(" 处理日期和数据系列失败 %s", e.Error())
+				return
+			}
+			newDataMap[i] = val
 		}
-		newDataMap[i] = val
 	}
 	//组装成excelEdbData
 	list := make([]*models.EdbDataList, 0)
 
 	for i, v := range newDateList {
+		val, ok := newDataMap[i]
+		if !ok {
+			continue
+		}
 		// todo 处理DataTimestamp
 		dataTime, e := time.ParseInLocation(utils.FormatDate, v, time.Local)
 		if e != nil {
@@ -354,7 +360,7 @@ func GetBalanceExcelEdbData(excelEdbMappingItem *excel.ExcelChartEdb, newMixedTa
 			EdbInfoId:     excelEdbMappingItem.ExcelChartEdbId,
 			DataTime:      v,
 			DataTimestamp: timestamp,
-			Value:         newDataMap[i],
+			Value:         val,
 		}
 		list = append(list, tmp)
 	}