|
@@ -4,6 +4,7 @@ import (
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
+ "github.com/shopspring/decimal"
|
|
|
"github.com/yidane/formula"
|
|
|
"hongze/hongze_edb_lib/services"
|
|
|
"hongze/hongze_edb_lib/utils"
|
|
@@ -149,7 +150,7 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
|
|
|
// condition += " AND data_time<=? "
|
|
|
// pars = append(pars, endDate)
|
|
|
//}
|
|
|
- fmt.Println("v.Source:", v.Source)
|
|
|
+ //fmt.Println("v.Source:", v.Source)
|
|
|
dataList, err := GetEdbDataListAll(condition, pars, v.Source, 1)
|
|
|
if err != nil {
|
|
|
return err
|
|
@@ -193,7 +194,7 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
|
|
|
|
|
|
removeDateList := make([]string, 0) //需要移除的日期
|
|
|
for sk, sv := range saveDataMap {
|
|
|
- fmt.Println(sk, sv)
|
|
|
+ //fmt.Println(sk, sv)
|
|
|
formulaStr = strings.ToUpper(formulaStr)
|
|
|
formulaFormStr := ReplaceFormula(edbInfoIdArr, sv, formulaMap, formulaStr, edbInfoIdBytes)
|
|
|
if formulaFormStr != "" {
|
|
@@ -217,7 +218,7 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
- saveValue := utils.SubFloatToString(calVal, 4)
|
|
|
+ saveValue := decimal.NewFromFloat(calVal).RoundCeil(4).String() //utils.SubFloatToString(calVal, 4)
|
|
|
if existVal, ok := dataMap[sk]; !ok {
|
|
|
dataTime, _ := time.Parse(utils.FormatDate, sk)
|
|
|
timestamp := dataTime.UnixNano() / 1e6
|
|
@@ -229,7 +230,9 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
|
|
|
}
|
|
|
existDataMap[sk] = sk
|
|
|
} else {
|
|
|
- if existVal != saveValue {
|
|
|
+ existValDecimal, err := decimal.NewFromString(existVal)
|
|
|
+ existStr := existValDecimal.String()
|
|
|
+ if existStr != saveValue {
|
|
|
sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
|
|
|
sql = fmt.Sprintf(sql, dataTableName)
|
|
|
_, err = o.Raw(sql, saveValue, edbInfoId, sk).Exec()
|