|
@@ -2,19 +2,21 @@ package data_manage
|
|
|
|
|
|
import (
|
|
|
"errors"
|
|
|
+ "eta/eta_api/global"
|
|
|
"eta/eta_api/models/mgo"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
- "github.com/beego/beego/v2/client/orm"
|
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
|
"go.mongodb.org/mongo-driver/mongo"
|
|
|
+ "gorm.io/gorm"
|
|
|
"strconv"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
// EdbDataInsertConfig 指标数据插入配置表
|
|
|
type EdbDataInsertConfig struct {
|
|
|
- EdbInfoId int `orm:"column(edb_info_id);pk" description:"指标id"`
|
|
|
+ //EdbInfoId int `orm:"column(edb_info_id);pk" description:"指标id"`
|
|
|
+ EdbInfoId int `gorm:"column:edb_info_id;primaryKey" description:"指标id"`
|
|
|
Date time.Time `description:"插入的日期"`
|
|
|
Value string `description:"插入的值"`
|
|
|
RealDate time.Time `description:"实际数据的值日期"`
|
|
@@ -24,9 +26,10 @@ type EdbDataInsertConfig struct {
|
|
|
|
|
|
// GetEdbDataInsertConfigByEdbId 根据指标id 获取数据插入配置详情
|
|
|
func GetEdbDataInsertConfigByEdbId(edbInfoId int) (item *EdbDataInsertConfig, err error) {
|
|
|
- o := orm.NewOrmUsingDB("data")
|
|
|
+ //o := orm.NewOrmUsingDB("data")
|
|
|
sql := ` SELECT * FROM edb_data_insert_config WHERE edb_info_id=? `
|
|
|
- err = o.Raw(sql, edbInfoId).QueryRow(&item)
|
|
|
+ //err = o.Raw(sql, edbInfoId).QueryRow(&item)
|
|
|
+ err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId).First(&item).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -37,9 +40,11 @@ func GetEdbDataInsertConfigByEdbIdList(edbInfoIdList []int) (items []*EdbDataIns
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- o := orm.NewOrmUsingDB("data")
|
|
|
- sql := ` SELECT * FROM edb_data_insert_config WHERE edb_info_id in (` + utils.GetOrmInReplace(num) + `) `
|
|
|
- _, err = o.Raw(sql, edbInfoIdList).QueryRows(&items)
|
|
|
+ //o := orm.NewOrmUsingDB("data")
|
|
|
+ //sql := ` SELECT * FROM edb_data_insert_config WHERE edb_info_id in (` + utils.GetOrmInReplace(num) + `) `
|
|
|
+ sql := ` SELECT * FROM edb_data_insert_config WHERE edb_info_id in ? `
|
|
|
+ //_, err = o.Raw(sql, edbInfoIdList).QueryRows(&items)
|
|
|
+ err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoIdList).Find(&items).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -66,7 +71,8 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
saveValue = utils.SubFloatToString(floatValue, 30)
|
|
|
}
|
|
|
|
|
|
- to, err := orm.NewOrmUsingDB("data").Begin()
|
|
|
+ //to, err := orm.NewOrmUsingDB("data").Begin()
|
|
|
+ to := global.DbMap[utils.DbNameIndex].Begin()
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
@@ -83,7 +89,8 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
{
|
|
|
var item *EdbDataInsertConfig
|
|
|
sql := ` SELECT * FROM edb_data_insert_config WHERE edb_info_id=? `
|
|
|
- err = to.Raw(sql, edbInfo.EdbInfoId).QueryRow(&item)
|
|
|
+ err = to.Raw(sql, edbInfo.EdbInfoId).First(&item).Error
|
|
|
+ //err = to.Raw(sql, edbInfo.EdbInfoId).QueryRow(&item)
|
|
|
if err != nil && !utils.IsErrNoRow(err) {
|
|
|
return
|
|
|
}
|
|
@@ -112,7 +119,8 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
ModifyTime: time.Now(),
|
|
|
CreateTime: time.Now(),
|
|
|
}
|
|
|
- _, err = to.Insert(item)
|
|
|
+ err = to.Create(&item).Error
|
|
|
+ //_, err = to.Insert(item)
|
|
|
} else {
|
|
|
if date.Equal(item.RealDate) || date.Before(item.RealDate) {
|
|
|
errMsg = `选择日期不能早于/等于数据最新日期`
|
|
@@ -125,7 +133,8 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
item.Date = date
|
|
|
item.Value = saveValue
|
|
|
item.ModifyTime = time.Now()
|
|
|
- _, err = to.Update(item, "Date", "Value", "ModifyTime")
|
|
|
+ //_, err = to.Update(item, "Date", "Value", "ModifyTime")
|
|
|
+ err = to.Model(&item).Select([]string{"Date", "Value", "ModifyTime"}).Updates(&item).Error
|
|
|
}
|
|
|
if err != nil {
|
|
|
return
|
|
@@ -146,8 +155,8 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
|
|
|
// 指标信息更新
|
|
|
edbInfo.EndDate = dateStr
|
|
|
- _, err = to.Update(edbInfo, "EndDate")
|
|
|
-
|
|
|
+ //_, err = to.Update(edbInfo, "EndDate")
|
|
|
+ err = to.Model(&edbInfo).Select([]string{"EndDate"}).Updates(&edbInfo).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -162,7 +171,8 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
|
|
|
// @param value string
|
|
|
// @return dateStr string
|
|
|
// @return err error
|
|
|
-func updateInsertConfigValueByMysql(to orm.TxOrmer, edbInfo *EdbInfo, oldConfigDate, date time.Time, value string) (dateStr string, err error) {
|
|
|
+// func updateInsertConfigValueByMysql(to orm.TxOrmer, edbInfo *EdbInfo, oldConfigDate, date time.Time, value string) (dateStr string, err error) {
|
|
|
+func updateInsertConfigValueByMysql(to *gorm.DB, edbInfo *EdbInfo, oldConfigDate, date time.Time, value string) (dateStr string, err error) {
|
|
|
tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
|
|
|
if tableName == `` {
|
|
|
err = errors.New("找不到该指标的数据表")
|
|
@@ -190,7 +200,8 @@ func updateInsertConfigValueByMysql(to orm.TxOrmer, edbInfo *EdbInfo, oldConfigD
|
|
|
if !oldConfigDate.IsZero() {
|
|
|
sql := `SELECT edb_data_id,edb_info_id,data_time,value,data_timestamp FROM %s WHERE edb_info_id=? AND data_time = ?`
|
|
|
sql = fmt.Sprintf(sql, tableName)
|
|
|
- err = to.Raw(sql, edbInfo.EdbInfoId, oldConfigDate.Format(utils.FormatDate)).QueryRow(&edbDateData)
|
|
|
+ err = to.Raw(sql, tableName, edbInfo.EdbInfoId, oldConfigDate.Format(utils.FormatDate)).First(&edbDateData).Error
|
|
|
+ //err = to.Raw(sql, edbInfo.EdbInfoId, oldConfigDate.Format(utils.FormatDate)).QueryRow(&edbDateData)
|
|
|
if err != nil && !utils.IsErrNoRow(err) {
|
|
|
return
|
|
|
}
|
|
@@ -201,12 +212,14 @@ func updateInsertConfigValueByMysql(to orm.TxOrmer, edbInfo *EdbInfo, oldConfigD
|
|
|
if edbDateData == nil {
|
|
|
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()
|
|
|
+ err = to.Exec(addSql).Error
|
|
|
+ //_, err = to.Raw(addSql).Exec()
|
|
|
} else if value == "" {
|
|
|
// 传空值时删除
|
|
|
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)
|
|
|
+ //err = to.Raw(sql, edbInfo.EdbInfoId).QueryRow(&offsetDate)
|
|
|
+ err = to.Raw(sql, edbInfo.EdbInfoId).Scan(&offsetDate).Error
|
|
|
if err != nil && !utils.IsErrNoRow(err) {
|
|
|
return
|
|
|
}
|
|
@@ -215,11 +228,13 @@ func updateInsertConfigValueByMysql(to orm.TxOrmer, edbInfo *EdbInfo, oldConfigD
|
|
|
|
|
|
deleteSql := `DELETE FROM %s WHERE edb_data_id = %d;`
|
|
|
deleteSql = fmt.Sprintf(deleteSql, tableName, edbDateData.EdbDataId)
|
|
|
- _, err = to.Raw(deleteSql).Exec()
|
|
|
+ //_, err = to.Raw(deleteSql).Exec()
|
|
|
+ err = to.Exec(deleteSql).Error
|
|
|
} 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)
|
|
|
- _, err = to.Raw(updateSql).Exec()
|
|
|
+ //_, err = to.Raw(updateSql).Exec()
|
|
|
+ err = to.Exec(updateSql).Error
|
|
|
}
|
|
|
if err != nil {
|
|
|
return
|
|
@@ -240,7 +255,7 @@ func updateInsertConfigValueByMysql(to orm.TxOrmer, edbInfo *EdbInfo, oldConfigD
|
|
|
// @param value string
|
|
|
// @return dateStr string
|
|
|
// @return err error
|
|
|
-func updateInsertConfigValueByMongo(to orm.TxOrmer, edbInfo *EdbInfo, oldConfigDate, newDate time.Time, value string) (dateStr string, err error) {
|
|
|
+func updateInsertConfigValueByMongo(to *gorm.DB, edbInfo *EdbInfo, oldConfigDate, newDate time.Time, value string) (dateStr string, err error) {
|
|
|
tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
|
|
|
if tableName == `` {
|
|
|
err = errors.New("找不到该指标的数据表")
|
|
@@ -339,7 +354,7 @@ func updateInsertConfigValueByMongo(to orm.TxOrmer, edbInfo *EdbInfo, oldConfigD
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func updateThsHfInsertConfigValueByMongo(to orm.TxOrmer, edbInfo *EdbInfo, oldConfigDate, newDate time.Time, value string) (dateStr string, err error) {
|
|
|
+func updateThsHfInsertConfigValueByMongo(to *gorm.DB, edbInfo *EdbInfo, oldConfigDate, newDate time.Time, value string) (dateStr string, err error) {
|
|
|
tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
|
|
|
if tableName == `` {
|
|
|
err = errors.New("找不到该指标的数据表")
|