hsun пре 7 месеци
родитељ
комит
f92c1511ad
1 измењених фајлова са 22 додато и 16 уклоњено
  1. 22 16
      models/edb_ths_hf.go

+ 22 - 16
models/edb_ths_hf.go

@@ -172,6 +172,17 @@ func (obj EdbThsHf) Refresh(edbInfo *EdbInfo, edbBaseMapping *BaseFromEdbMapping
 		}
 	}
 
+	// 查询时间为开始时间-3d
+	var queryDate string
+	if startDate != "" {
+		st, e := time.ParseInLocation(utils.FormatDate, startDate, time.Local)
+		if e != nil {
+			err = fmt.Errorf("刷新开始时间有误, %v", e)
+			return
+		}
+		queryDate = st.AddDate(0, 0, -3).Format(utils.FormatDate)
+	}
+
 	// 源指标数据
 	baseDataList := make([]*BaseFromThsHfData, 0)
 	{
@@ -179,15 +190,9 @@ func (obj EdbThsHf) Refresh(edbInfo *EdbInfo, edbBaseMapping *BaseFromEdbMapping
 		cond := fmt.Sprintf(" AND %s = ?", ob.Cols().IndexCode)
 		pars := make([]interface{}, 0)
 		pars = append(pars, edbBaseMapping.BaseIndexCode)
-		// 开始时间-取-3d
-		if startDate != "" {
-			st, e := time.ParseInLocation(utils.FormatDate, startDate, time.Local)
-			if e != nil {
-				err = fmt.Errorf("刷新开始时间有误, %v", e)
-				return
-			}
+		if queryDate != "" {
 			cond += fmt.Sprintf(" AND %s >= ?", ob.Cols().DataTime)
-			pars = append(pars, st.AddDate(0, 0, -3).Format(utils.FormatDate))
+			pars = append(pars, queryDate)
 		}
 		list, e := ob.GetItemsByCondition(cond, pars, []string{}, fmt.Sprintf("%s ASC", ob.Cols().DataTime))
 		if e != nil {
@@ -196,13 +201,13 @@ func (obj EdbThsHf) Refresh(edbInfo *EdbInfo, edbBaseMapping *BaseFromEdbMapping
 		}
 		baseDataList = list
 	}
+
+	// 转换数据
 	convertRule := new(ThsHfIndexConvert2EdbRule)
 	if e := json.Unmarshal([]byte(edbBaseMapping.ConvertRule), &convertRule); e != nil {
 		err = fmt.Errorf("转换规则有误, %v", e)
 		return
 	}
-
-	// 转换数据
 	convertData, e := ThsHfConvertData2DayByRule(baseDataList, convertRule)
 	if e != nil {
 		err = fmt.Errorf("转换数据失败, %v", e)
@@ -221,9 +226,9 @@ func (obj EdbThsHf) Refresh(edbInfo *EdbInfo, edbBaseMapping *BaseFromEdbMapping
 		cond := fmt.Sprintf(" AND %s = ?", dataOb.Cols().EdbInfoId)
 		pars := make([]interface{}, 0)
 		pars = append(pars, edbInfo.EdbInfoId)
-		if startDate != "" {
+		if queryDate != "" {
 			cond += fmt.Sprintf(" AND %s >= ?", dataOb.Cols().DataTime)
-			pars = append(pars, startDate)
+			pars = append(pars, queryDate)
 		}
 		list, e := dataOb.GetItemsByCondition(cond, pars, []string{}, "")
 		if e != nil {
@@ -444,7 +449,7 @@ func ThsHfConvertData2DayByRule(originData []*BaseFromThsHfData, convertRule *Th
 
 		// 起始时间-当日/前一日
 		if convertRule.ConvertArea.StartDay == 1 {
-			tg, e := time.ParseInLocation(utils.FormatDateTime, fmt.Sprintf("%s %s", thisDate, convertRule.ConvertFixed.FixedTime), time.Local)
+			tg, e := time.ParseInLocation(utils.FormatDateTime, fmt.Sprintf("%s %s", thisDate, convertRule.ConvertArea.StartTime), time.Local)
 			if e != nil {
 				utils.FileLog.Info(fmt.Sprintf("当日startTimeTarget转换有误, %v", e))
 				continue
@@ -456,7 +461,7 @@ func ThsHfConvertData2DayByRule(originData []*BaseFromThsHfData, convertRule *Th
 				utils.FileLog.Info(fmt.Sprintf("%s前日无数据", v))
 				continue
 			}
-			tg, e := time.ParseInLocation(utils.FormatDateTime, fmt.Sprintf("%s %s", preDate, convertRule.ConvertFixed.FixedTime), time.Local)
+			tg, e := time.ParseInLocation(utils.FormatDateTime, fmt.Sprintf("%s %s", preDate, convertRule.ConvertArea.StartTime), time.Local)
 			if e != nil {
 				utils.FileLog.Info(fmt.Sprintf("前日startTimeTarget转换有误, %v", e))
 				continue
@@ -466,7 +471,7 @@ func ThsHfConvertData2DayByRule(originData []*BaseFromThsHfData, convertRule *Th
 
 		// 截止时间-当日/前一日
 		if convertRule.ConvertArea.EndDay == 1 {
-			tg, e := time.ParseInLocation(utils.FormatDateTime, fmt.Sprintf("%s %s", thisDate, convertRule.ConvertFixed.FixedTime), time.Local)
+			tg, e := time.ParseInLocation(utils.FormatDateTime, fmt.Sprintf("%s %s", thisDate, convertRule.ConvertArea.EndTime), time.Local)
 			if e != nil {
 				utils.FileLog.Info(fmt.Sprintf("当日endTimeTarget转换有误, %v", e))
 				continue
@@ -478,7 +483,7 @@ func ThsHfConvertData2DayByRule(originData []*BaseFromThsHfData, convertRule *Th
 				utils.FileLog.Info(fmt.Sprintf("%s前日无数据", v))
 				continue
 			}
-			tg, e := time.ParseInLocation(utils.FormatDateTime, fmt.Sprintf("%s %s", preDate, convertRule.ConvertFixed.FixedTime), time.Local)
+			tg, e := time.ParseInLocation(utils.FormatDateTime, fmt.Sprintf("%s %s", preDate, convertRule.ConvertArea.EndTime), time.Local)
 			if e != nil {
 				utils.FileLog.Info(fmt.Sprintf("前日endTimeTarget转换有误, %v", e))
 				continue
@@ -549,6 +554,7 @@ func ThsHfConvertData2DayByRule(originData []*BaseFromThsHfData, convertRule *Th
 
 		// 取出区间内的均值/最值
 		var avgVal, minVal, maxVal, sumVal float64
+		minVal, maxVal = newDateData[0].Value, newDateData[0].Value
 		for _, nv := range newDateData {
 			sumVal += nv.Value
 			if nv.Value > maxVal {