xyxie před 7 měsíci
rodič
revize
b2e0e2ccce
1 změnil soubory, kde provedl 33 přidání a 7 odebrání
  1. 33 7
      services/data/range_analysis/chart_info.go

+ 33 - 7
services/data/range_analysis/chart_info.go

@@ -78,7 +78,7 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
 	switch calculateType {
 	case 0: //均值
 		var sum float64
-		if req.DateRangeType == 0 {
+		if req.DateRangeType == 0 && req.AutoDateConf.IsAutoStartDate > 0 {
 			for _, item := range originList {
 				for _, v := range item.DataList {
 					sum = 0
@@ -118,7 +118,7 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
 
 	case 1: //累计值
 		var sum float64
-		if req.DateRangeType == 0 {
+		if req.DateRangeType == 0 && req.AutoDateConf.IsAutoStartDate > 0 {
 			for _, item := range originList {
 				sum = 0
 				for _, v := range item.DataList {
@@ -158,7 +158,7 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
 		}
 
 	case 2: //涨幅
-		if req.DateRangeType == 0 {
+		if req.DateRangeType == 0 && req.AutoDateConf.IsAutoStartDate > 0 {
 			for _, item := range originList {
 				for _, v := range item.DataList {
 					var baseVal float64
@@ -206,7 +206,7 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
 			}
 		}
 	case 3: //复合增长率
-		if req.DateRangeType == 0 {
+		if req.DateRangeType == 0 && req.AutoDateConf.IsAutoStartDate > 0 {
 			for _, item := range originList {
 				for _, v := range item.DataList {
 					var baseVal float64
@@ -280,7 +280,7 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
 		}
 	case 4: //最大值
 		var maxVal float64
-		if req.DateRangeType == 0 {
+		if req.DateRangeType == 0 && req.AutoDateConf.IsAutoStartDate > 0 {
 			for _, item := range originList {
 				for _, v := range item.DataList {
 					calDataList, e := GetAutoCalculateDateDataList(v.DataTime, originDataList, req)
@@ -319,7 +319,7 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
 		}
 	case 5: //最小值
 		var minVal float64
-		if req.DateRangeType == 0 {
+		if req.DateRangeType == 0 && req.AutoDateConf.IsAutoStartDate > 0 {
 			for _, item := range originList {
 				for _, v := range item.DataList {
 					calDataList, e := GetAutoCalculateDateDataList(v.DataTime, originDataList, req)
@@ -402,6 +402,16 @@ func GetChartDataByEdbInfoList(chartInfoId int, dateType, startYear int, startDa
 		if err != nil {
 			return
 		}
+		edbInfoMapping.ConvertUnit = edbInfoMapping.Unit
+		edbInfoMapping.ConvertEnUnit = edbInfoMapping.UnitEn
+		if req.CalculateType == 2 || req.CalculateType == 3 {
+			edbInfoMapping.ConvertUnit = "无"
+			edbInfoMapping.ConvertEnUnit = "无"
+		}
+		if req.DataConvertType > 0 && req.DataConvertConf.Unit != "" {
+			edbInfoMapping.ConvertUnit = req.DataConvertConf.Unit
+			edbInfoMapping.ConvertEnUnit = req.DataConvertConf.Unit
+		}
 		dataList := edbInfoMapping.DataList.([]*models.EdbDataList)
 		// 处理上下限
 		var maxData, minData float64
@@ -519,6 +529,16 @@ func GetChartDataByEdbInfoListBySeries(chartInfoId int, dateType, startYear int,
 			err = e
 			return
 		}
+		edbInfoMapping.ConvertUnit = edbInfoMapping.Unit
+		edbInfoMapping.ConvertEnUnit = edbInfoMapping.UnitEn
+		if req.CalculateType == 2 || req.CalculateType == 3 {
+			edbInfoMapping.ConvertUnit = "无"
+			edbInfoMapping.ConvertEnUnit = "无"
+		}
+		if req.DataConvertType > 0 && req.DataConvertConf.Unit != "" {
+			edbInfoMapping.ConvertUnit = req.DataConvertConf.Unit
+			edbInfoMapping.ConvertEnUnit = req.DataConvertConf.Unit
+		}
 		edbInfoMapping.DataList = dataList
 		// 处理上下限
 		var maxData, minData float64
@@ -643,7 +663,13 @@ func getChartDataByEdbInfo(edbInfoMapping *models.ChartEdbInfoMapping, req *mode
 		// 智能划分得到一个开始日期,和结束日期
 		var startDateTime, endDateTime time.Time
 		startDateTime = edbStartDateTime
-
+		if req.AutoDateConf.IsAutoStartDate == 0 { //固定设置
+			startDate := req.AutoDateConf.StartDate
+			if startDate == "" {
+				startDate = "2020-01-01"
+			}
+			startDateTime, _ = time.ParseInLocation(utils.FormatDate, startDate, time.Local)
+		}
 		if req.AutoDateConf.IsAutoEndDate == 0 { //固定设置
 			endDate := req.AutoDateConf.EndDate
 			if endDate == "" {