|
@@ -297,14 +297,6 @@ func refreshAllPredictCalculateCjjx(to orm.TxOrmer, edbInfoId, source int, fromE
|
|
|
delete(removeDataTimeMap, av) //将待删除的日期给移除
|
|
|
|
|
|
val := CjjxSub(currentItem.Value, pastValueList)
|
|
|
- if fromEdbInfo.LatestDate == av {
|
|
|
- latestValueDecimal, tmpErr := decimal.NewFromString(val)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
- latestValue, _ = latestValueDecimal.Truncate(4).Float64() //保留4位小数
|
|
|
- }
|
|
|
if existVal, ok := existDataMap[edbCode+av]; !ok {
|
|
|
timestamp := currentDate.UnixNano() / 1e6
|
|
|
timestampStr := fmt.Sprintf("%d", timestamp)
|
|
@@ -357,5 +349,21 @@ func refreshAllPredictCalculateCjjx(to orm.TxOrmer, edbInfoId, source int, fromE
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ //确定最终值
|
|
|
+ var finalLast EdbInfoSearchData
|
|
|
+ sql = ` SELECT data_time , value FROM edb_data_predict_calculate_cjjx WHERE edb_info_id=? and data_time<=? ORDER BY data_time DESC `
|
|
|
+ tmpErr := to.Raw(sql, edbInfoId, latestDateStr).QueryRow(&finalLast)
|
|
|
+ if tmpErr != nil {
|
|
|
+ if tmpErr.Error() != utils.ErrNoRow() {
|
|
|
+ err = tmpErr
|
|
|
+ }else{
|
|
|
+ latestDateStr = "0000-00-00"
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }else{
|
|
|
+ latestDateStr = finalLast.DataTime
|
|
|
+ latestValue = finalLast.Value
|
|
|
+ }
|
|
|
return
|
|
|
}
|