|
@@ -5,6 +5,7 @@ import (
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
+ "strconv"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -52,7 +53,17 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
dateStr := date.Format(utils.FormatDate)
|
|
|
timestamp := date.UnixNano() / 1e6
|
|
|
timeStr := fmt.Sprintf("%d", timestamp)
|
|
|
- saveValue := utils.SubFloatToString(value, 30)
|
|
|
+
|
|
|
+ var saveValue string
|
|
|
+ if value != "" {
|
|
|
+ floatValue, err := strconv.ParseFloat(value, 64)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("转换失败:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ saveValue = utils.SubFloatToString(floatValue, 30)
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
to, err := orm.NewOrmUsingDB("data").Begin()
|
|
|
if err != nil {
|
|
@@ -120,6 +131,7 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ var offsetDate string
|
|
|
// 更改数据
|
|
|
{
|
|
|
var edbDateData *EdbDataList
|
|
@@ -131,6 +143,14 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
return
|
|
|
}
|
|
|
err = nil
|
|
|
+
|
|
|
+ sql = `SELECT data_time FROM %s WHERE edb_info_id=? ORDER BY data_time DESC LIMIT 1 OFFSET 1`
|
|
|
+ sql = fmt.Sprintf(sql, tableName)
|
|
|
+ err = to.Raw(sql, edbInfo.EdbInfoId).QueryRow(&offsetDate)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = nil
|
|
|
}
|
|
|
|
|
|
// 如果是没有历史数据,那么就需要增加数据
|
|
@@ -138,6 +158,11 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
addSql := ` INSERT INTO %s (edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) VALUES ( %d, "%s", "%s", "%s", now(), now(), %s) `
|
|
|
addSql = fmt.Sprintf(addSql, tableName, edbInfo.EdbInfoId, edbInfo.EdbCode, dateStr, saveValue, timeStr)
|
|
|
_, err = to.Raw(addSql).Exec()
|
|
|
+ } else if value == "" {
|
|
|
+ // 传空值时删除
|
|
|
+ deleteSql := `DELETE FROM %s WHERE edb_data_id = %d;`
|
|
|
+ deleteSql = fmt.Sprintf(deleteSql, tableName, edbDateData.EdbDataId)
|
|
|
+ _, err = to.Raw(deleteSql).Exec()
|
|
|
} else {
|
|
|
updateSql := `UPDATE %s SET data_time = "%s", value = "%s", modify_time= now(), data_timestamp= %s WHERE edb_data_id = %d;`
|
|
|
updateSql = fmt.Sprintf(updateSql, tableName, dateStr, saveValue, timeStr, edbDateData.EdbDataId)
|
|
@@ -149,6 +174,9 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
}
|
|
|
|
|
|
// 更改指标的数据结束日期
|
|
|
+ if value == "" {
|
|
|
+ dateStr = offsetDate
|
|
|
+ }
|
|
|
edbInfo.EndDate = dateStr
|
|
|
_, err = to.Update(edbInfo, "EndDate")
|
|
|
|