|
@@ -459,15 +459,22 @@ func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source, subSource int, fro
|
|
currentDate, _ := time.ParseInLocation(utils.FormatDate, currentItem.DataTime, time.Local)
|
|
currentDate, _ := time.ParseInLocation(utils.FormatDate, currentItem.DataTime, time.Local)
|
|
timestamp := currentDate.UnixNano() / 1e6
|
|
timestamp := currentDate.UnixNano() / 1e6
|
|
timestampStr := fmt.Sprintf("%d", timestamp)
|
|
timestampStr := fmt.Sprintf("%d", timestamp)
|
|
- valStr := decimal.NewFromFloat(currentItem.Value).String()
|
|
|
|
|
|
+ currValDeci := decimal.NewFromFloat(currentItem.Value)
|
|
|
|
+ currValStr := currValDeci.String()
|
|
tmpExistData, ok2 := existDataMap[currentItem.DataTime]
|
|
tmpExistData, ok2 := existDataMap[currentItem.DataTime]
|
|
if !ok2 {
|
|
if !ok2 {
|
|
- addSql += GetAddSql(edbInfoIdStr, edbCode, currentItem.DataTime, timestampStr, valStr)
|
|
|
|
|
|
+ addSql += GetAddSql(edbInfoIdStr, edbCode, currentItem.DataTime, timestampStr, currValStr)
|
|
isAdd = true
|
|
isAdd = true
|
|
} else {
|
|
} else {
|
|
- //如果对应的值不匹配
|
|
|
|
- if tmpExistData.Value != valStr {
|
|
|
|
- err = ModifyEdbDataById(source, subSource, tmpExistData.EdbDataId, valStr)
|
|
|
|
|
|
+ // 已经入库的数据值
|
|
|
|
+ tmpExistVal, tmpErr := decimal.NewFromString(tmpExistData.Value)
|
|
|
|
+ if tmpErr != nil {
|
|
|
|
+ err = tmpErr
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // 如果已经入库的数据值 与 当前计算出来的值 不匹配,那么就去更新
|
|
|
|
+ if !tmpExistVal.Equal(currValDeci) {
|
|
|
|
+ err = ModifyEdbDataById(source, subSource, tmpExistData.EdbDataId, currValStr)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|