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