|
@@ -552,6 +552,7 @@ func RefreshAllCalculateTbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
|
|
|
timestamp := currentDate.UnixNano() / 1e6
|
|
|
timestampStr := fmt.Sprintf("%d", timestamp)
|
|
|
val := TbzDiv(currentItem.Value, findItem.Value)
|
|
|
+
|
|
|
if existVal, ok := existDataMap[av]; !ok {
|
|
|
if _, existOk := existAddDataMap[av]; !existOk {
|
|
|
addSql += GetAddSql(edbInfoIdStr, edbCode, av, timestampStr, val)
|
|
@@ -559,7 +560,9 @@ func RefreshAllCalculateTbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
|
|
|
}
|
|
|
existAddDataMap[av] = av
|
|
|
} else {
|
|
|
- if existVal != val {
|
|
|
+ existValDecimal, err := decimal.NewFromString(existVal)
|
|
|
+ existStr := existValDecimal.String()
|
|
|
+ if existStr != val {
|
|
|
sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
|
|
|
sql = fmt.Sprintf(sql, dataTableName)
|
|
|
_, err = o.Raw(sql, val, edbInfoId, av).Exec()
|
|
@@ -586,7 +589,9 @@ func RefreshAllCalculateTbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
|
|
|
}
|
|
|
existAddDataMap[av] = av
|
|
|
} else {
|
|
|
- if existVal != val {
|
|
|
+ existValDecimal, err := decimal.NewFromString(existVal)
|
|
|
+ existStr := existValDecimal.String()
|
|
|
+ if existStr != val {
|
|
|
sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
|
|
|
sql = fmt.Sprintf(sql, dataTableName)
|
|
|
_, err = o.Raw(sql, val, edbInfoId, av).Exec()
|
|
@@ -611,7 +616,9 @@ func RefreshAllCalculateTbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
|
|
|
}
|
|
|
existAddDataMap[av] = av
|
|
|
} else {
|
|
|
- if existVal != val {
|
|
|
+ existValDecimal, err := decimal.NewFromString(existVal)
|
|
|
+ existStr := existValDecimal.String()
|
|
|
+ if existStr != val {
|
|
|
sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
|
|
|
sql = fmt.Sprintf(sql, dataTableName)
|
|
|
_, err = o.Raw(sql, val, edbInfoId, av).Exec()
|
|
@@ -637,7 +644,9 @@ func RefreshAllCalculateTbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
|
|
|
}
|
|
|
existAddDataMap[av] = av
|
|
|
} else {
|
|
|
- if existVal != val {
|
|
|
+ existValDecimal, err := decimal.NewFromString(existVal)
|
|
|
+ existStr := existValDecimal.String()
|
|
|
+ if existStr != val {
|
|
|
sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
|
|
|
sql = fmt.Sprintf(sql, dataTableName)
|
|
|
_, err = o.Raw(sql, val, edbInfoId, av).Exec()
|
|
@@ -672,7 +681,9 @@ func RefreshAllCalculateTbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
|
|
|
}
|
|
|
existAddDataMap[av] = av
|
|
|
} else {
|
|
|
- if existVal != val {
|
|
|
+ existValDecimal, err := decimal.NewFromString(existVal)
|
|
|
+ existStr := existValDecimal.String()
|
|
|
+ if existStr != val {
|
|
|
sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
|
|
|
sql = fmt.Sprintf(sql, dataTableName)
|
|
|
_, err = o.Raw(sql, val, edbInfoId, av).Exec()
|
|
@@ -699,7 +710,9 @@ func RefreshAllCalculateTbz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
|
|
|
}
|
|
|
existAddDataMap[av] = av
|
|
|
} else {
|
|
|
- if existVal != val {
|
|
|
+ existValDecimal, err := decimal.NewFromString(existVal)
|
|
|
+ existStr := existValDecimal.String()
|
|
|
+ if existStr != val {
|
|
|
sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
|
|
|
sql = fmt.Sprintf(sql, dataTableName)
|
|
|
_, err = o.Raw(sql, val, edbInfoId, av).Exec()
|
|
@@ -733,7 +746,7 @@ func TbzDiv(a, b float64) string {
|
|
|
bf := decimal.NewFromFloat(b)
|
|
|
val, _ := af.Div(bf).Float64()
|
|
|
val = val - 1
|
|
|
- valStr = utils.SubFloatToString(val, 4)
|
|
|
+ valStr = decimal.NewFromFloat(val).RoundCeil(4).String()
|
|
|
} else {
|
|
|
valStr = "0"
|
|
|
}
|