zwxi 1 ano atrás
pai
commit
e362461687
2 arquivos alterados com 34 adições e 26 exclusões
  1. 30 26
      controllers/data_manage/chart_info.go
  2. 4 0
      services/data/chart_info.go

+ 30 - 26
controllers/data_manage/chart_info.go

@@ -2554,23 +2554,28 @@ func (this *ChartInfoController) CopyChartInfo() {
 			timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 			mapItem := &data_manage.ChartEdbMapping{
 				//ChartEdbMappingId: 0,
-				ChartInfoId:  chartInfo.ChartInfoId,
-				EdbInfoId:    v.EdbInfoId,
-				CreateTime:   time.Now(),
-				ModifyTime:   time.Now(),
-				UniqueCode:   utils.MD5(utils.CHART_PREFIX + "_" + timestamp),
-				MaxData:      v.MaxData,
-				MinData:      v.MinData,
-				IsOrder:      v.IsOrder,
-				IsAxis:       v.IsAxis,
-				EdbInfoType:  v.EdbInfoType,
-				LeadValue:    v.LeadValue,
-				LeadUnit:     v.LeadUnit,
-				ChartStyle:   v.ChartStyle,
-				ChartColor:   v.ChartColor,
-				ChartWidth:   v.ChartWidth,
-				Source:       v.Source,
-				EdbAliasName: v.EdbAliasName,
+				ChartInfoId:   chartInfo.ChartInfoId,
+				EdbInfoId:     v.EdbInfoId,
+				CreateTime:    time.Now(),
+				ModifyTime:    time.Now(),
+				UniqueCode:    utils.MD5(utils.CHART_PREFIX + "_" + timestamp),
+				MaxData:       v.MaxData,
+				MinData:       v.MinData,
+				IsOrder:       v.IsOrder,
+				IsAxis:        v.IsAxis,
+				EdbInfoType:   v.EdbInfoType,
+				LeadValue:     v.LeadValue,
+				LeadUnit:      v.LeadUnit,
+				ChartStyle:    v.ChartStyle,
+				ChartColor:    v.ChartColor,
+				ChartWidth:    v.ChartWidth,
+				Source:        v.Source,
+				EdbAliasName:  v.EdbAliasName,
+				IsConvert:     v.IsConvert,
+				ConvertType:   v.ConvertType,
+				ConvertValue:  v.ConvertValue,
+				ConvertUnit:   v.ConvertEnUnit,
+				ConvertEnUnit: v.ConvertEnUnit,
 			}
 			mapList = append(mapList, mapItem)
 		}
@@ -2675,11 +2680,11 @@ func (this *ChartInfoController) PreviewBarChartInfo() {
 	for _, v := range req.EdbInfoIdList {
 		edbInfoIdsList = append(edbInfoIdsList, strconv.Itoa(v.EdbInfoId))
 		convertMap[v.EdbInfoId] = &data_manage.ChartEdbInfoMapping{
-			IsConvert:           v.IsConvert,
-			ConvertType:         v.ConvertType,
-			ConvertValue:        v.ConvertValue,
-			ConvertUnit:         v.ConvertUnit,
-			ConvertEnUnit:       v.ConvertEnUnit,
+			IsConvert:     v.IsConvert,
+			ConvertType:   v.ConvertType,
+			ConvertValue:  v.ConvertValue,
+			ConvertUnit:   v.ConvertUnit,
+			ConvertEnUnit: v.ConvertEnUnit,
 		}
 	}
 	mappingList, err := data_manage.GetChartEdbMappingListByEdbInfoId(strings.Join(edbInfoIdsList, ","))
@@ -2689,7 +2694,7 @@ func (this *ChartInfoController) PreviewBarChartInfo() {
 		return
 	}
 	for i, item := range mappingList {
-		if _, ok := convertMap[item.EdbInfoId];ok{
+		if _, ok := convertMap[item.EdbInfoId]; ok {
 			mappingList[i].ConvertValue = convertMap[item.EdbInfoId].ConvertValue
 			mappingList[i].ConvertUnit = convertMap[item.EdbInfoId].ConvertUnit
 			mappingList[i].ConvertEnUnit = convertMap[item.EdbInfoId].ConvertEnUnit
@@ -3312,7 +3317,6 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
 	convertUnit := this.GetString("ConvertUnit")
 	convertEnUnit := this.GetString("ConvertEnUnit")
 
-
 	var err error
 	chartInfo := new(data_manage.ChartInfoView)
 	if chartInfoId > 0 {
@@ -3357,7 +3361,7 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
 				br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
 				return
 			}
-			if isConvert == 1  && len(mappingList) > 0 {
+			if isConvert == 1 && len(mappingList) > 0 {
 				for i, _ := range mappingList {
 					mappingList[i].IsConvert = 1
 					mappingList[i].ConvertType = convertType
@@ -3491,4 +3495,4 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
 	br.Success = true
 	br.Msg = "获取成功"
 	br.Data = resp
-}
+}

+ 4 - 0
services/data/chart_info.go

@@ -560,6 +560,10 @@ func getEdbDataMapList(chartInfoId, chartType int, calendar, startDate, endDate
 				//item.MinData = item.MinData / v.ConvertValue
 			case 3:
 				for i, data := range dataList {
+					if data.Value <= 0 {
+						err = errors.New("数据中含有负数或0,无法对数运算")
+						return
+					}
 					dataList[i].Value = math.Log(data.Value) / math.Log(v.ConvertValue)
 				}
 				//item.MaxData = math.Log(item.MaxData) / math.Log(v.ConvertValue)