|
@@ -2,22 +2,22 @@ package supply_analysis
|
|
|
|
|
|
import (
|
|
import (
|
|
"errors"
|
|
"errors"
|
|
|
|
+ "eta/eta_index_lib/global"
|
|
"eta/eta_index_lib/utils"
|
|
"eta/eta_index_lib/utils"
|
|
- "fmt"
|
|
|
|
- "github.com/beego/beego/v2/client/orm"
|
|
|
|
"github.com/shopspring/decimal"
|
|
"github.com/shopspring/decimal"
|
|
|
|
+ "gorm.io/gorm"
|
|
"time"
|
|
"time"
|
|
)
|
|
)
|
|
|
|
|
|
// BaseFromStockPlantData base_from_stock_plant_data 存量装置的指标的计算数据
|
|
// BaseFromStockPlantData base_from_stock_plant_data 存量装置的指标的计算数据
|
|
type BaseFromStockPlantData struct {
|
|
type BaseFromStockPlantData struct {
|
|
- StockPlantDataId int `orm:"column(stock_plant_data_id);pk"`
|
|
|
|
- VarietyEdbId int `description:"指标id"`
|
|
|
|
- DataTime time.Time `description:"数据日期"`
|
|
|
|
- Value float64 `description:"数据值"`
|
|
|
|
- ModifyTime time.Time `description:"修改时间"`
|
|
|
|
- CreateTime time.Time `description:"创建时间"`
|
|
|
|
- DataTimestamp int64 `description:"数据日期时间戳"`
|
|
|
|
|
|
+ StockPlantDataId int `gorm:"primaryKey;autoIncrement;column:stock_plant_data_id" description:"指标数据ID"`
|
|
|
|
+ VarietyEdbId int `gorm:"column:variety_edb_id" description:"指标id"`
|
|
|
|
+ DataTime time.Time `gorm:"column:data_time" description:"数据日期"`
|
|
|
|
+ Value float64 `gorm:"column:value" description:"数据值"`
|
|
|
|
+ ModifyTime time.Time `gorm:"column:modify_time" description:"修改时间"`
|
|
|
|
+ CreateTime time.Time `gorm:"column:create_time" description:"创建时间"`
|
|
|
|
+ DataTimestamp int64 `gorm:"column:data_timestamp" description:"数据日期时间戳"`
|
|
}
|
|
}
|
|
|
|
|
|
// CalculateVarietyReq 重新计算请求
|
|
// CalculateVarietyReq 重新计算请求
|
|
@@ -115,17 +115,12 @@ func Calculate(varietyId int, sysUserId int, sysUserName string) (err error) {
|
|
dataMap[tmpDate] = calculateVal
|
|
dataMap[tmpDate] = calculateVal
|
|
}
|
|
}
|
|
|
|
|
|
- to, err := orm.NewOrm().Begin()
|
|
|
|
- if err != nil {
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ to := global.DEFAULT_DB.Begin()
|
|
defer func() {
|
|
defer func() {
|
|
if err != nil {
|
|
if err != nil {
|
|
- fmt.Println("Calculate,Err:" + err.Error())
|
|
|
|
- _ = to.Rollback()
|
|
|
|
|
|
+ to.Rollback()
|
|
} else {
|
|
} else {
|
|
- _ = to.Commit()
|
|
|
|
|
|
+ to.Commit()
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
|
|
|
|
@@ -143,15 +138,15 @@ func Calculate(varietyId int, sysUserId int, sysUserName string) (err error) {
|
|
varietyInfo.LastUpdateSysUserId = sysUserId
|
|
varietyInfo.LastUpdateSysUserId = sysUserId
|
|
varietyInfo.LastUpdateSysUserRealName = sysUserName
|
|
varietyInfo.LastUpdateSysUserRealName = sysUserName
|
|
varietyInfo.ModifyTime = time.Now()
|
|
varietyInfo.ModifyTime = time.Now()
|
|
- _, err = to.Update(varietyInfo, "LastUpdateSysUserId", "LastUpdateSysUserRealName", "ModifyTime")
|
|
|
|
|
|
+ err = to.Model(varietyInfo).Select([]string{"LastUpdateSysUserId", "LastUpdateSysUserRealName", "ModifyTime"}).Updates(varietyInfo).Error
|
|
|
|
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[time.Time]float64, startDate, lastDate time.Time) (err error) {
|
|
|
|
|
|
+func calculateEdb(to *gorm.DB, varietyEdbInfo *VarietyEdbInfo, dataMap map[time.Time]float64, startDate, lastDate time.Time) (err error) {
|
|
sql := `SELECT * FROM base_from_stock_plant_data WHERE variety_edb_id = ? `
|
|
sql := `SELECT * FROM base_from_stock_plant_data WHERE variety_edb_id = ? `
|
|
var list []*BaseFromStockPlantData
|
|
var list []*BaseFromStockPlantData
|
|
- _, err = to.Raw(sql, varietyEdbInfo.VarietyEdbId).QueryRows(&list)
|
|
|
|
|
|
+ err = to.Raw(sql, varietyEdbInfo.VarietyEdbId).Find(&list).Error
|
|
if err != nil {
|
|
if err != nil {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -218,7 +213,8 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
|
|
if existItem.Value != currVal {
|
|
if existItem.Value != currVal {
|
|
existItem.Value = currVal
|
|
existItem.Value = currVal
|
|
existItem.ModifyTime = time.Now()
|
|
existItem.ModifyTime = time.Now()
|
|
- _, err = to.Update(existItem, "Value", "ModifyTime")
|
|
|
|
|
|
+ //err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
|
|
|
|
+ err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
|
|
if err != nil {
|
|
if err != nil {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -279,7 +275,8 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
|
|
if existItem.Value != currVal {
|
|
if existItem.Value != currVal {
|
|
existItem.Value = currVal
|
|
existItem.Value = currVal
|
|
existItem.ModifyTime = time.Now()
|
|
existItem.ModifyTime = time.Now()
|
|
- _, err = to.Update(existItem, "Value", "ModifyTime")
|
|
|
|
|
|
+ //err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
|
|
|
|
+ err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
|
|
if err != nil {
|
|
if err != nil {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -329,7 +326,7 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
|
|
if existItem.Value != currVal {
|
|
if existItem.Value != currVal {
|
|
existItem.Value = currVal
|
|
existItem.Value = currVal
|
|
existItem.ModifyTime = time.Now()
|
|
existItem.ModifyTime = time.Now()
|
|
- _, err = to.Update(existItem, "Value", "ModifyTime")
|
|
|
|
|
|
+ err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
|
|
if err != nil {
|
|
if err != nil {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -347,7 +344,7 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
|
|
// 需要添加的指标数据
|
|
// 需要添加的指标数据
|
|
lenAddList := len(addList)
|
|
lenAddList := len(addList)
|
|
if lenAddList > 0 {
|
|
if lenAddList > 0 {
|
|
- _, err = to.InsertMulti(lenAddList, addList)
|
|
|
|
|
|
+ err = to.CreateInBatches(addList, utils.MultiAddNum).Error
|
|
if err != nil {
|
|
if err != nil {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -361,7 +358,7 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
|
|
deleteIdList = append(deleteIdList, v)
|
|
deleteIdList = append(deleteIdList, v)
|
|
}
|
|
}
|
|
sql = ` DELETE FROM base_from_stock_plant_data WHERE stock_plant_data_id in (` + utils.GetOrmInReplace(lenDeleteIdMap) + `) `
|
|
sql = ` DELETE FROM base_from_stock_plant_data WHERE stock_plant_data_id in (` + utils.GetOrmInReplace(lenDeleteIdMap) + `) `
|
|
- _, err = to.Raw(sql, deleteIdList).Exec()
|
|
|
|
|
|
+ err = to.Exec(sql, deleteIdList).Error
|
|
if err != nil {
|
|
if err != nil {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -371,7 +368,6 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
|
|
varietyEdbInfo.EndDate = endDate
|
|
varietyEdbInfo.EndDate = endDate
|
|
varietyEdbInfo.LatestValue = latestValue
|
|
varietyEdbInfo.LatestValue = latestValue
|
|
varietyEdbInfo.ModifyTime = time.Now()
|
|
varietyEdbInfo.ModifyTime = time.Now()
|
|
- _, err = to.Update(varietyEdbInfo, "StartDate", "EndDate", "LatestValue", "ModifyTime")
|
|
|
|
-
|
|
|
|
|
|
+ err = to.Model(varietyEdbInfo).Select([]string{"StartDate", "EndDate", "LatestValue", "ModifyTime"}).Updates(varietyEdbInfo).Error
|
|
return
|
|
return
|
|
}
|
|
}
|