Roc 1 місяць тому
батько
коміт
43a1b1c54b

+ 23 - 40
models/edb_data_calculate_standard_deviation.go

@@ -2,9 +2,11 @@ package models
 
 import (
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
+	"gorm.io/gorm"
+
 	"github.com/shopspring/decimal"
 	"reflect"
 	"strconv"
@@ -21,17 +23,12 @@ func (obj StandardDeviation) Add(params AddCalculateBatchParams) (edbInfo *EdbIn
 	req := params.Req
 	fromEdbInfo := params.FromEdbInfo
 	edbCode := params.EdbCode
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
-			fmt.Println(reflect.TypeOf(obj).Name(), ";Add,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -54,12 +51,11 @@ func (obj StandardDeviation) Add(params AddCalculateBatchParams) (edbInfo *EdbIn
 	edbInfo.UnitEn = req.Unit
 	edbInfo.EdbType = obj.GetEdbType()
 	edbInfo.Sort = GetAddEdbMaxSortByClassifyId(req.ClassifyId, utils.EDB_INFO_TYPE)
-	newEdbInfoId, tmpErr := to.Insert(edbInfo)
+	tmpErr := to.Create(edbInfo).Error
 	if tmpErr != nil {
 		err = tmpErr
 		return
 	}
-	edbInfo.EdbInfoId = int(newEdbInfoId)
 
 	//关联关系
 	{
@@ -78,7 +74,7 @@ func (obj StandardDeviation) Add(params AddCalculateBatchParams) (edbInfo *EdbIn
 		calculateMappingItem.Source = edbInfo.Source
 		calculateMappingItem.SourceName = edbInfo.SourceName
 		calculateMappingItem.FromSubSource = edbInfo.SubSource
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -96,17 +92,12 @@ func (obj StandardDeviation) Edit(params EditCalculateBatchParams) (err error, e
 	edbInfo := params.EdbInfo
 	fromEdbInfo := params.FromEdbInfo
 
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
-			fmt.Println(reflect.TypeOf(obj).Name(), ";Edit,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
@@ -123,7 +114,7 @@ func (obj StandardDeviation) Edit(params EditCalculateBatchParams) (err error, e
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -149,14 +140,14 @@ func (obj StandardDeviation) Edit(params EditCalculateBatchParams) (err error, e
 
 	//删除,计算指标关联的,基础指标的关联关系
 	sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
 
 	//清空原有数据
 	sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -179,7 +170,7 @@ func (obj StandardDeviation) Edit(params EditCalculateBatchParams) (err error, e
 			CreateTime:                time.Now(),
 			ModifyTime:                time.Now(),
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -204,17 +195,12 @@ func (obj StandardDeviation) Refresh(params RefreshParams) (err error, errMsg st
 		return
 	}
 
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
-			fmt.Println(reflect.TypeOf(obj).Name(), ";Refresh,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -239,7 +225,7 @@ func (obj StandardDeviation) GetEdbType() int {
 	return utils.CALCULATE_EDB_TYPE
 }
 
-func (obj StandardDeviation) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode string) (err error) {
+func (obj StandardDeviation) refresh(to *gorm.DB, edbInfo, fromEdbInfo *EdbInfo, edbCode string) (err error) {
 	edbInfoId := edbInfo.EdbInfoId
 	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
@@ -256,10 +242,7 @@ func (obj StandardDeviation) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbIn
 	}
 
 	//获取指标所有数据
-	existDataList := make([]*EdbData, 0)
-	sql := `SELECT * FROM %s WHERE edb_info_id=? `
-	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, edbInfo.Source, edbInfo.SubSource)
 	if err != nil {
 		return err
 	}
@@ -292,7 +275,7 @@ func (obj StandardDeviation) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbIn
 			if existVal != saveValue {
 				sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 				sql = fmt.Sprintf(sql, dataTableName)
-				_, err = to.Raw(sql, saveValue, edbInfoId, currDateStr).Exec()
+				err = to.Exec(sql, saveValue, edbInfoId, currDateStr).Error
 				if err != nil {
 					return
 				}
@@ -320,7 +303,7 @@ func (obj StandardDeviation) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbIn
 		removeNum := len(removeDateList)
 		if removeNum > 0 {
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, dataTableName)
-			_, err = to.Raw(sql, edbInfo.EdbInfoId, removeDateList).Exec()
+			err = to.Exec(sql, edbInfo.EdbInfoId, removeDateList).Error
 			if err != nil {
 				fmt.Println(reflect.TypeOf(obj).Name(), " add data ;delete Err", err.Error())
 				err = fmt.Errorf("删除不存在的指标数据失败,Err:" + err.Error())
@@ -331,7 +314,7 @@ func (obj StandardDeviation) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbIn
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			fmt.Println(reflect.TypeOf(obj).Name(), " add data Err", err.Error())
 			return

+ 45 - 35
models/edb_data_calculate_stl.go

@@ -1,70 +1,79 @@
 package models
 
 import (
+	sql2 "database/sql"
+	"eta/eta_index_lib/global"
+	"eta/eta_index_lib/utils"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 type EdbDataCalculateStl struct {
-	EdbDataId     int       `orm:"pk"`
-	EdbInfoId     int       `description:"指标id"`
-	EdbCode       string    `description:"指标编码"`
-	DataTime      time.Time `description:"数据时间"`
-	Value         float64   `description:"数据值"`
-	CreateTime    time.Time `description:"创建时间"`
-	ModifyTime    time.Time `description:"修改时间"`
-	DataTimestamp int64     `description:"数据时间戳"`
+	EdbDataId     int       `gorm:"column:edb_data_id;type:int(11);primaryKey;not null;"`
+	EdbInfoId     int       `gorm:"column:edb_info_id;type:int(11);comment:指标id;default:NULL;"`       // 指标id
+	EdbCode       string    `gorm:"column:edb_code;type:varchar(190);comment:指标编码;default:NULL;"`     // 指标编码
+	DataTime      time.Time `gorm:"column:data_time;type:date;comment:数据日期;default:NULL;"`            // 数据日期
+	Value         float64   `gorm:"column:value;type:double;comment:数据值;default:NULL;" json:"value"`  // 数据值
+	CreateTime    time.Time `gorm:"column:create_time;type:datetime;comment:创建时间;default:NULL;"`      // 创建时间
+	ModifyTime    time.Time `gorm:"column:modify_time;type:datetime;comment:修改时间;default:NULL;"`      // 修改时间
+	DataTimestamp int64     `gorm:"column:data_timestamp;type:bigint(20);comment:数据日期时间戳;default:0;"` // 数据日期时间戳
 }
 
 type CalculateStlConfigMapping struct {
-	Id                   int       `orm:"pk" description:"主键"`
-	CalculateStlConfigId int       `description:"stl配置id"`
-	EdbInfoId            int       `description:"edb信息id"`
-	StlEdbType           int       `description:"stl指标类型: 1-Trend, 2-Seasonal, 3-Residual"`
-	CreateTime           time.Time `description:"创建时间"`
-	ModifyTime           time.Time `description:"修改时间"`
+	Id                   int       `gorm:"column:id;type:int(10) UNSIGNED;primaryKey;not null;"`
+	CalculateStlConfigId int       `gorm:"column:calculate_stl_config_id;type:int(10) UNSIGNED;comment:stl趋势分解配置id;not null;" `                // stl趋势分解配置id
+	EdbInfoId            int       `gorm:"column:edb_info_id;type:int(11);comment:指标id;not null;"`                                             // 指标id
+	StlEdbType           int       `gorm:"column:stl_edb_type;type:tinyint(4);comment:stl指标类型: 1-Trend, 2-Seasonal, 3-Residual;default:NULL;"` // stl指标类型: 1-Trend, 2-Seasonal, 3-Residual
+	CreateTime           time.Time `gorm:"column:create_time;type:datetime;comment:关系建立时间;not null;"`                                          // 关系建立时间
+	ModifyTime           time.Time `gorm:"column:modify_time;type:datetime;comment:更新时间;default:NULL;" `                                       // 更新时间
 }
 
 type CalculateStlConfig struct {
-	CalculateStlConfigId int       `orm:"column(calculate_stl_config_id);pk"`
-	Config               string    `description:"STL计算配置"`
-	SysUserId            int       `description:"系统用户ID"`
-	CreateTime           time.Time `description:"创建时间"`
-	ModifyTime           time.Time `description:"更新时间"`
+	CalculateStlConfigId int       `gorm:"column:calculate_stl_config_id;type:int(10) UNSIGNED;primaryKey;not null;"`
+	Config               string    `gorm:"column:config;type:text;comment:计算参数配置;not null;"`            // 计算参数配置
+	SysUserId            int       `gorm:"column:sys_user_id;type:int(11);comment:操作人id;not null;"`     // 操作人id
+	ModifyTime           time.Time `gorm:"column:modify_time;type:datetime;comment:修改时间;default:NULL;"` // 修改时间
+	CreateTime           time.Time `gorm:"column:create_time;type:datetime;comment:创建时间;default:NULL;"` // 创建时间
 }
 
 func GetRelationCalculateStlConfigMappingByEdbInfoId(edbInfoId int) (items []*CalculateStlConfigMapping, err error) {
-	o := orm.NewOrm()
+	o := global.DEFAULT_DB
 	sql := `SELECT calculate_stl_config_id FROM calculate_stl_config_mapping WHERE edb_info_id =? LIMIT 1`
 	var confId int
-	err = o.Raw(sql, edbInfoId).QueryRow(&confId)
+	err = o.Raw(sql, edbInfoId).First(&confId).Error
 	if err != nil {
 		return
 	}
 	sql = `SELECT * FROM calculate_stl_config_mapping WHERE calculate_stl_config_id =?`
-	_, err = o.Raw(sql, confId).QueryRows(&items)
+	err = o.Raw(sql, confId).Find(&items).Error
+
 	return
 }
 
 // GetCalculateStlConfigMappingByConfigId 根据配置文件id获取配置文件映射信息
 func GetCalculateStlConfigMappingByConfigId(configId int) (items []*CalculateStlConfigMapping, err error) {
-	o := orm.NewOrm()
 	sql := `SELECT * FROM calculate_stl_config_mapping WHERE calculate_stl_config_id=?`
-	_, err = o.Raw(sql, configId).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, configId).Find(&items).Error
+
 	return
 }
 
 // GetCalculateStlConfigMappingIdByEdbInfoId 获取配置文件id
 func GetCalculateStlConfigMappingIdByEdbInfoId(edbInfoId int) (configId int, err error) {
-	o := orm.NewOrm()
+	var configIdNull sql2.NullInt64
 	sql := `SELECT calculate_stl_config_id FROM calculate_stl_config_mapping WHERE edb_info_id=? LIMIT 1`
-	err = o.Raw(sql, edbInfoId).QueryRow(&configId)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).Scan(&configIdNull).Error
+	if err != nil {
+		return
+	}
+	if configIdNull.Valid {
+		configId = int(configIdNull.Int64)
+	}
+
 	return
 }
 
 func DeleteAndInsertEdbDataCalculateStl(edbCode string, dataList []*EdbDataCalculateStl) (err error) {
-	tx, err := orm.NewOrm().Begin()
+	tx := global.DEFAULT_DB.Begin()
 	if err != nil {
 		return
 	}
@@ -76,22 +85,23 @@ func DeleteAndInsertEdbDataCalculateStl(edbCode string, dataList []*EdbDataCalcu
 		}
 	}()
 	sql := `DELETE FROM edb_data_calculate_stl WHERE edb_code =?`
-	_, err = tx.Raw(sql, edbCode).Exec()
+	err = tx.Exec(sql, edbCode).Error
 	if err != nil {
 		return
 	}
-	_, err = tx.InsertMulti(500, dataList)
+	err = tx.CreateInBatches(dataList, utils.MultiAddNum).Error
+
 	return
 }
 func (c *CalculateStlConfig) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(c, cols...)
+	err = global.DEFAULT_DB.Model(c).Select(cols).Updates(c).Error
+
 	return
 }
 
 func GetCalculateStlConfigById(id int) (item *CalculateStlConfig, err error) {
-	o := orm.NewOrm()
 	sql := "SELECT * FROM calculate_stl_config WHERE calculate_stl_config_id =?"
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, id).First(&item).Error
+
 	return
 }

+ 26 - 47
models/edb_data_calculate_sum.go

@@ -3,11 +3,11 @@ package models
 import (
 	"encoding/json"
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/shopspring/decimal"
-	"reflect"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
@@ -20,18 +20,12 @@ type CalculateSum struct {
 func (obj CalculateSum) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err error, errMsg string) {
 	req := params.Req
 	edbCode := params.EdbCode
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("CalculateSum.Add,Err:" + err.Error())
-			fmt.Println("CalculateSum.Add,ErrMsg:" + errMsg)
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId > 0 {
@@ -60,13 +54,12 @@ func (obj CalculateSum) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, e
 	edbInfo.Extra = req.Extra
 	edbInfo.EdbNameEn = req.EdbName
 	edbInfo.UnitEn = req.Unit
-	newEdbInfoId, tmpErr := to.Insert(edbInfo)
+	tmpErr := to.Create(edbInfo).Error
 	if tmpErr != nil {
 		errMsg = "新增失败"
 		err = tmpErr
 		return
 	}
-	edbInfo.EdbInfoId = int(newEdbInfoId)
 
 	//关联关系
 	tagMap := make(map[string]int)
@@ -100,7 +93,7 @@ func (obj CalculateSum) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, e
 
 		tagMap[v.FromTag] = v.EdbInfoId
 	}
-	_, err = to.InsertMulti(len(calculateMappingItemList), calculateMappingItemList)
+	err = to.CreateInBatches(calculateMappingItemList, 500).Error
 	if err != nil {
 		errMsg = "保存失败"
 		return
@@ -115,17 +108,12 @@ func (obj CalculateSum) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, e
 func (obj CalculateSum) Edit(params EditCalculateBatchParams) (err error, errMsg string) {
 	req := params.Req
 	edbInfo := params.EdbInfo
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("EditCalculateKszs,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -151,7 +139,7 @@ func (obj CalculateSum) Edit(params EditCalculateBatchParams) (err error, errMsg
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "Extra", "EmptyType", "MaxEmptyType", "ModifyTime", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "Extra", "EmptyType", "MaxEmptyType", "ModifyTime", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -189,7 +177,7 @@ func (obj CalculateSum) Edit(params EditCalculateBatchParams) (err error, errMsg
 	}
 	//删除,计算指标关联的,基础指标的关联关系
 	sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		err = errors.New("删除计算指标关联关系失败,Err:" + err.Error())
 		return
@@ -197,7 +185,7 @@ func (obj CalculateSum) Edit(params EditCalculateBatchParams) (err error, errMsg
 	//清空原有数据
 	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -234,7 +222,7 @@ func (obj CalculateSum) Edit(params EditCalculateBatchParams) (err error, errMsg
 
 		tagMap[v.FromTag] = v.EdbInfoId
 	}
-	_, err = to.InsertMulti(len(calculateMappingItemList), calculateMappingItemList)
+	err = to.CreateInBatches(calculateMappingItemList, 500).Error
 	if err != nil {
 		return
 	}
@@ -258,17 +246,12 @@ func (obj CalculateSum) Refresh(params RefreshParams) (err error, errMsg string)
 		fromEdbInfo, _ := GetEdbInfoById(v.FromEdbInfoId)
 		relationEdbInfoList = append(relationEdbInfoList, fromEdbInfo)
 	}
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println(reflect.TypeOf(obj).Name() + ",Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -278,9 +261,7 @@ func (obj CalculateSum) Refresh(params RefreshParams) (err error, errMsg string)
 	return
 }
 
-func (obj CalculateSum) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfoIdArr []*EdbInfo, edbCode, extra string, edbInfoTag map[string]int, emptyType int) (err error) {
-
-	//to orm.TxOrmer, edbInfoId, source, subSource int, edbInfoIdArr []*EdbInfo, edbCode, extra string, edbInfoTag map[string]int, emptyType int
+func (obj CalculateSum) refresh(to *gorm.DB, edbInfoId, source, subSource int, edbInfoIdArr []*EdbInfo, edbCode, extra string, edbInfoTag map[string]int, emptyType int) (err error) {
 	realSaveDataMap := make(map[string]map[int]float64)
 	saveDataMap := make(map[string]map[int]float64)
 
@@ -375,12 +356,10 @@ func (obj CalculateSum) refresh(to orm.TxOrmer, edbInfoId, source, subSource int
 	addSql := ` INSERT INTO ` + tableName + ` (edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
 	var isAdd bool
 
-	//获取指标所有数据
-	dataList := make([]*EdbData, 0)
 	dataTableName := GetEdbDataTableName(source, subSource)
-	sql := `SELECT * FROM %s WHERE edb_info_id=? `
-	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = to.Raw(sql, edbInfoId).QueryRows(&dataList)
+
+	//获取指标所有数据
+	dataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return err
 	}
@@ -426,7 +405,7 @@ func (obj CalculateSum) refresh(to orm.TxOrmer, edbInfoId, source, subSource int
 			if existStr != saveValue {
 				sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 				sql = fmt.Sprintf(sql, dataTableName)
-				_, err = to.Raw(sql, saveValue, edbInfoId, sk).Exec()
+				err = to.Exec(sql, saveValue, edbInfoId, sk).Error
 				if err != nil {
 					return err
 				}
@@ -436,7 +415,7 @@ func (obj CalculateSum) refresh(to orm.TxOrmer, edbInfoId, source, subSource int
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			fmt.Println("RefreshAllCalculate add Err", err.Error())
 			return
@@ -448,12 +427,12 @@ func (obj CalculateSum) refresh(to orm.TxOrmer, edbInfoId, source, subSource int
 		for k := range removeDateMap {
 			removeDateList = append(removeDateList, k)
 		}
-		removeDateStr := strings.Join(removeDateList, `","`)
-		removeDateStr = `"` + removeDateStr + `"`
+		removeDateStr := strings.Join(removeDateList, `','`)
+		removeDateStr = `'` + removeDateStr + `'`
 		//如果拼接指标变更了,那么需要删除所有的指标数据
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
-		_, err = to.Raw(sql, edbInfoId).Exec()
+		err = to.Exec(sql, edbInfoId).Error
 		if err != nil {
 			err = fmt.Errorf("删除计算失败的计算指标数据失败,Err:" + err.Error())
 			return

+ 25 - 43
models/edb_data_calculate_tbz.go

@@ -2,10 +2,11 @@ package models
 
 import (
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
@@ -13,17 +14,12 @@ import (
 
 // AddCalculateTbz 同比值
 func AddCalculateTbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edbCode, uniqueCode string, sysUserId int, sysUserRealName string) (edbInfo *EdbInfo, err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("AddCalculateTbz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -46,12 +42,11 @@ func AddCalculateTbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		edbInfo.UnitEn = req.Unit
 		edbInfo.EdbType = 2
 		edbInfo.Sort = GetAddEdbMaxSortByClassifyId(req.ClassifyId, utils.EDB_INFO_TYPE)
-		newEdbInfoId, tmpErr := to.Insert(edbInfo)
+		tmpErr := to.Create(edbInfo).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
-		edbInfo.EdbInfoId = int(newEdbInfoId)
 
 		//关联关系
 		{
@@ -70,7 +65,7 @@ func AddCalculateTbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 			calculateMappingItem.Source = edbInfo.Source
 			calculateMappingItem.SourceName = edbInfo.SourceName
 			calculateMappingItem.FromSubSource = fromEdbInfo.SubSource
-			_, err = to.Insert(calculateMappingItem)
+			err = to.Create(calculateMappingItem).Error
 			if err != nil {
 				return
 			}
@@ -84,7 +79,7 @@ func AddCalculateTbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_TBZ, utils.DATA_SUB_SOURCE_EDB)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
-		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
+		err = to.Exec(deleteSql, req.EdbInfoId).Error
 		if err != nil {
 			return
 		}
@@ -98,17 +93,12 @@ func AddCalculateTbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 
 // EditCalculateTbz 同比值
 func EditCalculateTbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEdbInfo *EdbInfo) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("EditCalculateTbz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -121,7 +111,7 @@ func EditCalculateTbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -143,13 +133,13 @@ func EditCalculateTbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 
 	//删除,计算指标关联的,基础指标的关联关系
 	sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
 	//清空原有数据
 	sql = ` DELETE FROM edb_data_calculate_tbz WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -172,7 +162,7 @@ func EditCalculateTbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -186,17 +176,12 @@ func EditCalculateTbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 
 // RefreshAllCalculateTbz 刷新所有同比值数据
 func RefreshAllCalculateTbz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("RefreshAllCalculateTbz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -206,7 +191,7 @@ func RefreshAllCalculateTbz(edbInfoId, source, subSource int, fromEdbInfo *EdbIn
 }
 
 // refreshAllCalculateTbz
-func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func refreshAllCalculateTbz(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
@@ -235,13 +220,10 @@ func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 		return err
 	}
 
-	//获取当前已经入库的指标所有数据
-	existDataList := make([]*EdbData, 0)
 	dataTableName := GetEdbDataTableName(source, subSource)
-	//fmt.Println("dataTableName:", dataTableName)
-	sql := `SELECT * FROM %s WHERE edb_info_id=? `
-	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)
+
+	//获取指标所有数据
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return err
 	}
@@ -278,7 +260,7 @@ func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 			if existStr != val {
 				sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 				sql = fmt.Sprintf(sql, dataTableName)
-				_, err = to.Raw(sql, val, edbInfoId, currentDateStr).Exec()
+				err = to.Exec(sql, val, edbInfoId, currentDateStr).Error
 				if err != nil {
 					return err
 				}
@@ -297,7 +279,7 @@ func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 			//如果拼接指标变更了,那么需要删除所有的指标数据
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, dataTableName)
 
-			_, err = to.Raw(sql, edbInfoId, removeDateList).Exec()
+			err = to.Exec(sql, edbInfoId, removeDateList).Error
 			if err != nil {
 				err = fmt.Errorf("删除自有数据的明细数据失败,Err:" + err.Error())
 				return
@@ -307,7 +289,7 @@ func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			return err
 		}

+ 30 - 48
models/edb_data_calculate_tcz.go

@@ -2,10 +2,11 @@ package models
 
 import (
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
@@ -13,17 +14,12 @@ import (
 
 // AddCalculateTcz 同差值
 func AddCalculateTcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edbCode, uniqueCode string, sysUserId int, sysUserRealName string) (edbInfo *EdbInfo, err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("AddCalculateTcz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	fmt.Println("req.EdbInfoId:", req.EdbInfoId)
@@ -47,12 +43,11 @@ func AddCalculateTcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		edbInfo.UnitEn = req.Unit
 		edbInfo.EdbType = 2
 		edbInfo.Sort = GetAddEdbMaxSortByClassifyId(req.ClassifyId, utils.EDB_INFO_TYPE)
-		newEdbInfoId, tmpErr := to.Insert(edbInfo)
+		tmpErr := to.Create(edbInfo).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
-		edbInfo.EdbInfoId = int(newEdbInfoId)
 
 		//关联关系
 		{
@@ -71,7 +66,7 @@ func AddCalculateTcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 			calculateMappingItem.Source = edbInfo.Source
 			calculateMappingItem.SourceName = edbInfo.SourceName
 			calculateMappingItem.FromSubSource = fromEdbInfo.SubSource
-			_, err = to.Insert(calculateMappingItem)
+			err = to.Create(calculateMappingItem).Error
 			if err != nil {
 				return
 			}
@@ -85,7 +80,7 @@ func AddCalculateTcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		fmt.Println("dataTableName:", dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
-		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
+		err = to.Exec(deleteSql, req.EdbInfoId).Error
 		if err != nil {
 			return
 		}
@@ -99,20 +94,14 @@ func AddCalculateTcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 
 // EditCalculateTcz 同差值
 func EditCalculateTcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEdbInfo *EdbInfo) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("EditCalculateTcz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
-
 	//修改指标信息
 	edbInfo.EdbName = req.EdbName
 	edbInfo.EdbNameSource = req.EdbName
@@ -122,7 +111,7 @@ func EditCalculateTcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -144,14 +133,14 @@ func EditCalculateTcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 
 	//删除,计算指标关联的,基础指标的关联关系
 	sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
 
 	//清空原有数据
 	sql = ` DELETE FROM edb_data_calculate_tcz WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -175,7 +164,7 @@ func EditCalculateTcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -189,17 +178,12 @@ func EditCalculateTcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 
 // RefreshAllCalculateTcz 刷新全部同差值数据
 func RefreshAllCalculateTcz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("RefreshAllCalculateTcz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -208,7 +192,7 @@ func RefreshAllCalculateTcz(edbInfoId, source, subSource int, fromEdbInfo *EdbIn
 	return
 }
 
-func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func refreshAllCalculateTcz(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
@@ -226,12 +210,10 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 		dateArr = append(dateArr, v.DataTime)
 		dataMap[v.DataTime] = v
 	}
-	//获取指标所有数据
-	existDataList := make([]*EdbData, 0)
 	dataTableName := GetEdbDataTableName(source, subSource)
-	sql := `SELECT * FROM %s WHERE edb_info_id=? `
-	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)
+
+	//获取指标所有数据
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return err
 	}
@@ -276,7 +258,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 					if existStr != val {
 						sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 						sql = fmt.Sprintf(sql, dataTableName)
-						_, err = to.Raw(sql, val, edbInfoId, av).Exec()
+						err = to.Exec(sql, val, edbInfoId, av).Error
 						if err != nil {
 							return err
 						}
@@ -306,7 +288,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 								if existStr != val {
 									sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 									sql = fmt.Sprintf(sql, dataTableName)
-									_, err = to.Raw(sql, val, edbInfoId, av).Exec()
+									err = to.Exec(sql, val, edbInfoId, av).Error
 									if err != nil {
 										return err
 									}
@@ -333,7 +315,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 									if existStr != val {
 										sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 										sql = fmt.Sprintf(sql, dataTableName)
-										_, err = to.Raw(sql, val, edbInfoId, av).Exec()
+										err = to.Exec(sql, val, edbInfoId, av).Error
 										if err != nil {
 											return err
 										}
@@ -361,7 +343,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 							if existStr != val {
 								sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 								sql = fmt.Sprintf(sql, dataTableName)
-								_, err = to.Raw(sql, val, edbInfoId, av).Exec()
+								err = to.Exec(sql, val, edbInfoId, av).Error
 								if err != nil {
 									return err
 								}
@@ -390,7 +372,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 								if existStr != val {
 									sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 									sql = fmt.Sprintf(sql, dataTableName)
-									_, err = to.Raw(sql, val, edbInfoId, av).Exec()
+									err = to.Exec(sql, val, edbInfoId, av).Error
 									if err != nil {
 										return err
 									}
@@ -417,7 +399,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 									if existStr != val {
 										sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 										sql = fmt.Sprintf(sql, dataTableName)
-										_, err = to.Raw(sql, val, edbInfoId, av).Exec()
+										err = to.Exec(sql, val, edbInfoId, av).Error
 										if err != nil {
 											return err
 										}
@@ -442,7 +424,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
-		_, err = to.Raw(sql, edbInfoId).Exec()
+		err = to.Exec(sql, edbInfoId).Error
 		if err != nil {
 			err = fmt.Errorf("删除计算失败的计算指标数据失败,Err:" + err.Error())
 			return
@@ -451,7 +433,7 @@ func refreshAllCalculateTcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			return err
 		}

+ 24 - 44
models/edb_data_calculate_time_shift.go

@@ -2,10 +2,11 @@ package models
 
 import (
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
@@ -13,18 +14,12 @@ import (
 
 // AddCalculateTimeShift 时间移位
 func AddCalculateTimeShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edbCode, uniqueCode string, sysUserId int, sysUserRealName string) (edbInfo *EdbInfo, err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
-
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("AddCalculateTimeShift,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -49,12 +44,11 @@ func AddCalculateTimeShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 		edbInfo.Sort = GetAddEdbMaxSortByClassifyId(req.ClassifyId, utils.EDB_INFO_TYPE)
 		edbInfo.MoveType = req.MoveType
 		edbInfo.MoveFrequency = req.MoveFrequency
-		newEdbInfoId, tmpErr := to.Insert(edbInfo)
+		tmpErr := to.Create(edbInfo).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
-		edbInfo.EdbInfoId = int(newEdbInfoId)
 		//关联关系
 		{
 			calculateMappingItem := new(EdbInfoCalculateMapping)
@@ -72,7 +66,7 @@ func AddCalculateTimeShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 			calculateMappingItem.Source = edbInfo.Source
 			calculateMappingItem.SourceName = edbInfo.SourceName
 			calculateMappingItem.FromSubSource = edbInfo.SubSource
-			_, err = to.Insert(calculateMappingItem)
+			err = to.Create(calculateMappingItem).Error
 			if err != nil {
 				return
 			}
@@ -86,7 +80,7 @@ func AddCalculateTimeShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 		fmt.Println("dataTableName:" + dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
-		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
+		err = to.Exec(deleteSql, req.EdbInfoId).Error
 		if err != nil {
 			return
 		}
@@ -102,18 +96,12 @@ func AddCalculateTimeShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 
 // EditCalculateTimeShift 修改时间移位
 func EditCalculateTimeShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEdbInfo *EdbInfo) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
-
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("EditCalculateTimeShift,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	oldEdbInfo := *edbInfo //旧的指标信息
@@ -130,7 +118,7 @@ func EditCalculateTimeShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "MoveType", "MoveFrequency", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "MoveType", "MoveFrequency", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -152,7 +140,7 @@ func EditCalculateTimeShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 		if count <= 0 {
 			//删除,计算指标关联的,基础指标的关联关系
 			sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? `
-			_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+			err = to.Exec(sql, edbInfo.EdbInfoId).Error
 			if err != nil {
 				err = errors.New("删除计算指标关联关系失败,Err:" + err.Error())
 				return
@@ -176,7 +164,7 @@ func EditCalculateTimeShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 					ModifyTime:                time.Now(),
 					FromSubSource:             fromEdbInfo.SubSource,
 				}
-				_, err = to.Insert(calculateMappingItem)
+				err = to.Create(calculateMappingItem).Error
 				if err != nil {
 					return
 				}
@@ -185,7 +173,7 @@ func EditCalculateTimeShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 
 		//清空原有数据
 		sql := ` DELETE FROM edb_data_calculate_time_shift WHERE edb_info_id = ? `
-		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		err = to.Exec(sql, edbInfo.EdbInfoId).Error
 		if err != nil {
 			return
 		}
@@ -199,17 +187,12 @@ func EditCalculateTimeShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 
 // RefreshAllCalculateTimeShift 刷新所有时间移位数据
 func RefreshAllCalculateTimeShift(edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("RefreshAllCalculateTimeShift,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -220,7 +203,7 @@ func RefreshAllCalculateTimeShift(edbInfoId, source, subSource, formulaInt, move
 }
 
 // refreshAllCalculateTimeShift 刷新所有时间移位数据
-func refreshAllCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
+func refreshAllCalculateTimeShift(to *gorm.DB, edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	//计算数据
@@ -260,13 +243,10 @@ func refreshAllCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, subSource,
 		dataMap[v.DataTime] = v
 	}
 	fmt.Println("source:", source)
-	//获取指标所有数据
-	existDataList := make([]*EdbData, 0)
 	dataTableName := GetEdbDataTableName(source, subSource)
-	fmt.Println("dataTableName:", dataTableName)
-	sql := `SELECT * FROM %s WHERE edb_info_id=? `
-	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)
+
+	//获取指标所有数据
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return err
 	}
@@ -303,7 +283,7 @@ func refreshAllCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, subSource,
 				if existStr != valStr {
 					sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 					sql = fmt.Sprintf(sql, dataTableName)
-					_, err = to.Raw(sql, valStr, edbInfoId, newDate.Format(utils.FormatDate)).Exec()
+					err = to.Exec(sql, valStr, edbInfoId, newDate.Format(utils.FormatDate)).Error
 					if err != nil {
 						return err
 					}
@@ -318,7 +298,7 @@ func refreshAllCalculateTimeShift(to orm.TxOrmer, edbInfoId, source, subSource,
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			return err
 		}

+ 22 - 44
models/edb_data_calculate_zdyfx.go

@@ -3,11 +3,12 @@ package models
 import (
 	"encoding/json"
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/models/excel"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 	"reflect"
 	"strconv"
 	"strings"
@@ -40,17 +41,12 @@ func (obj CustomAnalysis) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo,
 		return
 	}
 
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
-			fmt.Println(reflect.TypeOf(obj).Name(), ";Add,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -73,12 +69,11 @@ func (obj CustomAnalysis) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo,
 	edbInfo.UnitEn = req.Unit
 	edbInfo.EdbType = obj.GetEdbType()
 	edbInfo.Sort = GetAddEdbMaxSortByClassifyId(req.ClassifyId, utils.EDB_INFO_TYPE)
-	newEdbInfoId, tmpErr := to.Insert(edbInfo)
+	tmpErr := to.Create(edbInfo).Error
 	if tmpErr != nil {
 		err = tmpErr
 		return
 	}
-	edbInfo.EdbInfoId = int(newEdbInfoId)
 
 	//关联关系
 	{
@@ -88,7 +83,7 @@ func (obj CustomAnalysis) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo,
 		excelEdbMappingItem.ExcelInfoId = customAnalysisData.ExcelInfoId
 		excelEdbMappingItem.Source = 4
 		excelEdbMappingItem.EdbInfoId = edbInfo.EdbInfoId
-		_, err = to.Insert(excelEdbMappingItem)
+		err = to.Create(excelEdbMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -116,17 +111,12 @@ func (obj CustomAnalysis) Edit(params EditCalculateBatchParams) (err error, errM
 		return
 	}
 
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
-			fmt.Println(reflect.TypeOf(obj).Name(), ";Edit,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -140,7 +130,7 @@ func (obj CustomAnalysis) Edit(params EditCalculateBatchParams) (err error, errM
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -193,7 +183,7 @@ type UpdateEdbDataStr struct {
 	DataTime string `description:"数据对应的日期"`
 }
 
-func (obj CustomAnalysis) refresh(to orm.TxOrmer, edbInfo *EdbInfo, dateList []string, dataList []float64) (err error) {
+func (obj CustomAnalysis) refresh(to *gorm.DB, edbInfo *EdbInfo, dateList []string, dataList []float64) (err error) {
 	edbInfoId := edbInfo.EdbInfoId
 	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
@@ -204,10 +194,7 @@ func (obj CustomAnalysis) refresh(to orm.TxOrmer, edbInfo *EdbInfo, dateList []s
 	}
 
 	//获取指标所有数据
-	existDataList := make([]*EdbData, 0)
-	sql := `SELECT * FROM %s WHERE edb_info_id=? `
-	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, edbInfo.Source, edbInfo.SubSource)
 	if err != nil {
 		return err
 	}
@@ -225,13 +212,6 @@ func (obj CustomAnalysis) refresh(to orm.TxOrmer, edbInfo *EdbInfo, dateList []s
 	updateEdbDataStrList := make([]UpdateEdbDataStr, 0)
 	updateSql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 	updateSql = fmt.Sprintf(updateSql, dataTableName)
-	p, err := to.Raw(updateSql).Prepare()
-	if err != nil {
-		return
-	}
-	defer func() {
-		_ = p.Close()
-	}()
 
 	for i, currDateStr := range dateList {
 		currVal := dataList[i] // 当前日期对应的值
@@ -288,7 +268,7 @@ func (obj CustomAnalysis) refresh(to orm.TxOrmer, edbInfo *EdbInfo, dateList []s
 		removeNum := len(removeDateList)
 		if removeNum > 0 {
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, dataTableName)
-			_, err = to.Raw(sql, edbInfo.EdbInfoId, removeDateList).Exec()
+			err = to.Exec(sql, edbInfo.EdbInfoId, removeDateList).Error
 			if err != nil {
 				fmt.Println(reflect.TypeOf(obj).Name(), " add data ;delete Err", err.Error())
 				err = fmt.Errorf("删除不存在的指标数据失败,Err:" + err.Error())
@@ -300,7 +280,7 @@ func (obj CustomAnalysis) refresh(to orm.TxOrmer, edbInfo *EdbInfo, dateList []s
 	// 添加指标数据
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			fmt.Println(reflect.TypeOf(obj).Name(), " add data Err", err.Error())
 			return
@@ -309,11 +289,14 @@ func (obj CustomAnalysis) refresh(to orm.TxOrmer, edbInfo *EdbInfo, dateList []s
 
 	// 更新指标数据
 	if isUpdate {
+		// todo 测试
+		updateSql = ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
+		updateSql = fmt.Sprintf(updateSql, dataTableName)
 		for _, v := range updateEdbDataStrList {
 			if v.Value == "" || v.DataTime == "" {
 				continue
 			}
-			_, err = p.Exec(v.Value, edbInfoId, v.DataTime)
+			err = to.Exec(updateSql, v.Value, edbInfoId, v.DataTime).Error
 			if err != nil {
 				fmt.Println(reflect.TypeOf(obj).Name(), " update data Err", err.Error())
 				return
@@ -326,17 +309,12 @@ func (obj CustomAnalysis) refresh(to orm.TxOrmer, edbInfo *EdbInfo, dateList []s
 
 // ResetData 数据重置
 func (obj CustomAnalysis) ResetData(edbInfo *EdbInfo, dateList []string, dataList []float64) (err error, errMsg string) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
-			fmt.Println(reflect.TypeOf(obj).Name(), ";ResetData,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 

+ 42 - 65
models/edb_data_calculate_zjpj.go

@@ -1,39 +1,36 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
+
+	"gorm.io/gorm"
 	"strings"
 	"time"
 )
 
 // EdbDataCalculateZjpj 直接拼接数据结构体
 type EdbDataCalculateZjpj struct {
-	EdbDataId     int `orm:"column(edb_data_id);pk"`
-	EdbInfoId     int
-	EdbCode       string
-	DataTime      string
-	Value         float64
-	Status        int
-	CreateTime    time.Time
-	ModifyTime    time.Time
-	DataTimestamp int64
+	EdbDataId     int       `gorm:"primaryKey;autoIncrement;column:edb_data_id"`
+	EdbInfoId     int       `gorm:"column:edb_info_id" description:"指标ID"`
+	EdbCode       string    `gorm:"column:edb_code" description:"指标编码"`
+	DataTime      string    `gorm:"column:data_time" description:"数据日期"`
+	Value         float64   `gorm:"column:value" description:"数据值"`
+	Status        int       `gorm:"column:status" description:"状态"`
+	CreateTime    time.Time `gorm:"column:status" description:"创建时间"`
+	ModifyTime    time.Time `gorm:"column:create_time" description:"修改时间"`
+	DataTimestamp int64     `gorm:"column:modify_time" description:"数据日期时间戳"`
 }
 
 // AddCalculateZjpj 新增直接拼接数据
 func AddCalculateZjpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdbInfo *EdbInfo, edbCode, uniqueCode string, sysUserId int, sysUserRealName string) (edbInfo *EdbInfo, err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("AddCalculateZjpj,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -59,12 +56,12 @@ func AddCalculateZjpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdb
 			EdbType:          2,
 			Sort:             GetAddEdbMaxSortByClassifyId(req.ClassifyId, utils.EDB_INFO_TYPE),
 		}
-		newEdbInfoId, tmpErr := to.Insert(edbInfo)
+		tmpErr := to.Create(edbInfo).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
-		edbInfo.EdbInfoId = int(newEdbInfoId)
+
 	} else {
 		edbInfo, err = GetEdbInfoById(req.EdbInfoId)
 		if err != nil {
@@ -89,14 +86,14 @@ func AddCalculateZjpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdb
 		fmt.Println("dataTableName:" + dataTableName)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
-		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
+		err = to.Exec(deleteSql, req.EdbInfoId).Error
 		if err != nil {
 			return
 		}
 
 		//删除指标关系
 		sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id=? `
-		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	}
 
 	//关联关系
@@ -121,12 +118,11 @@ func AddCalculateZjpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdb
 			ModifyTime:                time.Now(),
 			FromSubSource:             firstEdbInfo.SubSource,
 		}
-		insertId, tmpErr := to.Insert(existItemA)
+		tmpErr := to.Create(existItemA).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
-		existItemA.EdbInfoCalculateMappingId = int(insertId)
 	}
 
 	//第二个指标
@@ -148,12 +144,11 @@ func AddCalculateZjpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdb
 			ModifyTime:                time.Now(),
 			FromSubSource:             secondEdbInfo.SubSource,
 		}
-		insertId, tmpErr := to.Insert(existItemB)
+		tmpErr := to.Create(existItemB).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
-		existItemB.EdbInfoCalculateMappingId = int(insertId)
 	}
 
 	//拼接数据
@@ -164,17 +159,12 @@ func AddCalculateZjpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdb
 
 // EditCalculateZjpj 编辑直接拼接数据
 func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo, secondEdbInfo *EdbInfo) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("EditCalculateZjpj,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -190,7 +180,7 @@ func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -229,7 +219,7 @@ func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 		if existItemA.FromEdbInfoId != firstEdbInfo.EdbInfoId {
 			//删除之前的A指标关联关系
 			sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? and from_edb_info_id = ?`
-			_, err = to.Raw(sql, edbInfo.EdbInfoId, existItemA.FromEdbInfoId).Exec()
+			err = to.Exec(sql, edbInfo.EdbInfoId, existItemA.FromEdbInfoId).Error
 			if err != nil {
 				err = fmt.Errorf("删除拼接日期之前的指标关联关系失败,Err:" + err.Error())
 				return
@@ -254,13 +244,11 @@ func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 					ModifyTime:                time.Now(),
 					FromSubSource:             firstEdbInfo.SubSource,
 				}
-				insertId, tmpErr := to.Insert(existItemA)
+				tmpErr := to.Create(existItemA).Error
 				if tmpErr != nil {
 					err = tmpErr
 					return
 				}
-				existItemA.EdbInfoCalculateMappingId = int(insertId)
-
 				isNeedCalculateData = true
 			}
 		}
@@ -272,7 +260,7 @@ func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 		if existItemB.FromEdbInfoId != secondEdbInfo.EdbInfoId {
 			//删除之前的B指标关联关系
 			sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? and from_edb_info_id = ?`
-			_, err = to.Raw(sql, edbInfo.EdbInfoId, existItemB.FromEdbInfoId).Exec()
+			err = to.Exec(sql, edbInfo.EdbInfoId, existItemB.FromEdbInfoId).Error
 			if err != nil {
 				err = fmt.Errorf("删除拼接日期之后的指标关联关系失败,Err:" + err.Error())
 				return
@@ -296,12 +284,11 @@ func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 				ModifyTime:                time.Now(),
 				FromSubSource:             secondEdbInfo.SubSource,
 			}
-			insertId, tmpErr := to.Insert(existItemB)
+			tmpErr := to.Create(existItemB).Error
 			if tmpErr != nil {
 				err = tmpErr
 				return
 			}
-			existItemB.EdbInfoCalculateMappingId = int(insertId)
 
 			isNeedCalculateData = true
 		}
@@ -313,7 +300,7 @@ func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 
 		tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
-		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		err = to.Exec(sql, edbInfo.EdbInfoId).Error
 		if err != nil {
 			err = fmt.Errorf("删除历史数据失败,Err:" + err.Error())
 			return
@@ -325,24 +312,14 @@ func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 	return
 }
 
-// GetAllEdbDataCalculateZjpjByEdbInfoId 根据指标id获取全部的数据
-func GetAllEdbDataCalculateZjpjByEdbInfoId(edbInfoId int) (items []*EdbDataCalculateZjpj, err error) {
-	o := orm.NewOrm()
-	sql := ` SELECT * FROM edb_data_calculate_zjpj WHERE edb_info_id=? ORDER BY data_time DESC `
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
-	return
-}
-
 // RefreshAllCalculateZjpj 刷新所有 直接拼接 数据
 func RefreshAllCalculateZjpj(edbInfo *EdbInfo) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("RefreshAllCalculateZjpj,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	//查询关联指标信息
@@ -371,7 +348,7 @@ func RefreshAllCalculateZjpj(edbInfo *EdbInfo) (err error) {
 }
 
 // refreshAllCalculateZjpj 刷新所有 直接拼接 数据
-func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, existItemB *EdbInfoCalculateMapping) (err error) {
+func refreshAllCalculateZjpj(to *gorm.DB, edbInfo *EdbInfo, existItemA, existItemB *EdbInfoCalculateMapping) (err error) {
 	//查询当前指标现有的数据
 	var condition string
 	var pars []interface{}
@@ -380,7 +357,7 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 
 	var dataList []*EdbDataCalculateZjpj
 	sql := ` SELECT * FROM edb_data_calculate_zjpj WHERE edb_info_id=? ORDER BY data_time DESC `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).QueryRows(&dataList)
+	err = to.Raw(sql, edbInfo.EdbInfoId).Scan(&dataList).Error
 	if err != nil {
 		return err
 	}
@@ -416,7 +393,7 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 				if edbData.Value != v.Value {
 					//更新指标数据
 					edbData.Value = v.Value
-					_, _ = to.Update(edbData, "Value")
+					_ = to.Model(edbData).Select([]string{"Value"}).Updates(edbData).Error
 				}
 			} else {
 				//时间戳
@@ -461,7 +438,7 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 					//更新指标数据
 					edbData.Value = v.Value
 					edbData.ModifyTime = time.Now()
-					_, tmpErr := to.Update(edbData, "Value", "ModifyTime")
+					tmpErr := to.Model(edbData).Select([]string{"Value", "ModifyTime"}).Updates(edbData).Error
 					if tmpErr != nil {
 						fmt.Println("tmpErr:", tmpErr)
 					}
@@ -493,13 +470,13 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 			removeDateList = append(removeDateList, dateTime)
 		}
 		if len(removeDateList) > 0 {
-			removeDateStr := strings.Join(removeDateList, `","`)
-			removeDateStr = `"` + removeDateStr + `"`
+			removeDateStr := strings.Join(removeDateList, `','`)
+			removeDateStr = `'` + removeDateStr + `'`
 			//如果拼接指标变更了,那么需要删除所有的指标数据
 			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
-			_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+			err = to.Exec(sql, edbInfo.EdbInfoId).Error
 			if err != nil {
 				err = fmt.Errorf("删除不存在的直接拼接指标数据失败,Err:" + err.Error())
 				return
@@ -515,7 +492,7 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 			tmpAddDataList = append(tmpAddDataList, v)
 			i++
 			if i >= 500 {
-				_, err = to.InsertMulti(len(tmpAddDataList), tmpAddDataList)
+				err = to.CreateInBatches(tmpAddDataList, 500).Error
 				if err != nil {
 					return
 				}
@@ -525,7 +502,7 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 		}
 
 		if len(tmpAddDataList) > 0 {
-			_, err = to.InsertMulti(len(tmpAddDataList), tmpAddDataList)
+			err = to.CreateInBatches(tmpAddDataList, 500).Error
 			if err != nil {
 				return
 			}

+ 22 - 40
models/edb_data_calculate_zsxy.go

@@ -2,10 +2,11 @@ package models
 
 import (
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 	"reflect"
 	"strconv"
 	"strings"
@@ -20,17 +21,12 @@ func (obj ExponentialSmoothing) Add(params AddCalculateBatchParams) (edbInfo *Ed
 	req := params.Req
 	fromEdbInfo := params.FromEdbInfo
 	edbCode := params.EdbCode
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
-			fmt.Println(reflect.TypeOf(obj).Name(), ";Add,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -53,12 +49,11 @@ func (obj ExponentialSmoothing) Add(params AddCalculateBatchParams) (edbInfo *Ed
 	edbInfo.UnitEn = req.Unit
 	edbInfo.EdbType = obj.GetEdbType()
 	edbInfo.Sort = GetAddEdbMaxSortByClassifyId(req.ClassifyId, utils.EDB_INFO_TYPE)
-	newEdbInfoId, tmpErr := to.Insert(edbInfo)
+	tmpErr := to.Create(edbInfo).Error
 	if tmpErr != nil {
 		err = tmpErr
 		return
 	}
-	edbInfo.EdbInfoId = int(newEdbInfoId)
 
 	//关联关系
 	{
@@ -77,7 +72,7 @@ func (obj ExponentialSmoothing) Add(params AddCalculateBatchParams) (edbInfo *Ed
 		calculateMappingItem.Source = edbInfo.Source
 		calculateMappingItem.SourceName = edbInfo.SourceName
 		calculateMappingItem.FromSubSource = fromEdbInfo.SubSource
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -94,17 +89,12 @@ func (obj ExponentialSmoothing) Edit(params EditCalculateBatchParams) (err error
 	edbInfo := params.EdbInfo
 	fromEdbInfo := params.FromEdbInfo
 
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
-			fmt.Println(reflect.TypeOf(obj).Name(), ";Edit,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
@@ -121,7 +111,7 @@ func (obj ExponentialSmoothing) Edit(params EditCalculateBatchParams) (err error
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -147,14 +137,14 @@ func (obj ExponentialSmoothing) Edit(params EditCalculateBatchParams) (err error
 
 	//删除,计算指标关联的,基础指标的关联关系
 	sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
 
 	//清空原有数据
 	sql = ` DELETE FROM ` + tableName + ` WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -178,7 +168,7 @@ func (obj ExponentialSmoothing) Edit(params EditCalculateBatchParams) (err error
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -203,17 +193,12 @@ func (obj ExponentialSmoothing) Refresh(params RefreshParams) (err error, errMsg
 		return
 	}
 
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
-			fmt.Println(reflect.TypeOf(obj).Name(), ";Refresh,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -238,7 +223,7 @@ func (obj ExponentialSmoothing) GetEdbType() int {
 	return utils.CALCULATE_EDB_TYPE
 }
 
-func (obj ExponentialSmoothing) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode string) (err error) {
+func (obj ExponentialSmoothing) refresh(to *gorm.DB, edbInfo, fromEdbInfo *EdbInfo, edbCode string) (err error) {
 	edbInfoId := edbInfo.EdbInfoId
 	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
@@ -250,10 +235,7 @@ func (obj ExponentialSmoothing) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *Ed
 	}
 
 	//获取指标所有数据
-	existDataList := make([]*EdbData, 0)
-	sql := `SELECT * FROM %s WHERE edb_info_id=? `
-	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, edbInfo.Source, edbInfo.SubSource)
 	if err != nil {
 		return err
 	}
@@ -286,7 +268,7 @@ func (obj ExponentialSmoothing) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *Ed
 			if existVal != saveValue {
 				sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 				sql = fmt.Sprintf(sql, dataTableName)
-				_, err = to.Raw(sql, saveValue, edbInfoId, currDateStr).Exec()
+				err = to.Exec(sql, saveValue, edbInfoId, currDateStr).Error
 				if err != nil {
 					return
 				}
@@ -314,7 +296,7 @@ func (obj ExponentialSmoothing) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *Ed
 		removeNum := len(removeDateList)
 		if removeNum > 0 {
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, dataTableName)
-			_, err = to.Raw(sql, edbInfo.EdbInfoId, removeDateList).Exec()
+			err = to.Exec(sql, edbInfo.EdbInfoId, removeDateList).Error
 			if err != nil {
 				fmt.Println(reflect.TypeOf(obj).Name(), " add data ;delete Err", err.Error())
 				err = fmt.Errorf("删除不存在的指标数据失败,Err:" + err.Error())
@@ -325,7 +307,7 @@ func (obj ExponentialSmoothing) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *Ed
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			fmt.Println(reflect.TypeOf(obj).Name(), " add data Err", err.Error())
 			return

+ 8 - 8
models/edb_data_insert_config.go

@@ -1,13 +1,14 @@
 package models
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_index_lib/global"
+	"gorm.io/gorm"
 	"time"
 )
 
 // EdbDataInsertConfig 指标数据插入配置表
 type EdbDataInsertConfig struct {
-	EdbInfoId  int       `orm:"column(edb_info_id);pk" description:"指标id"`
+	EdbInfoId  int       `gorm:"primaryKey;autoIncrement:false;column:edb_info_id" description:"指标id"`
 	Date       time.Time `description:"插入的日期"`
 	Value      string    `description:"插入的值"`
 	RealDate   time.Time `description:"实际数据的日期"`
@@ -17,23 +18,22 @@ type EdbDataInsertConfig struct {
 
 // GetEdbDataInsertConfigByEdbId 根据指标id 获取数据插入配置详情
 func GetEdbDataInsertConfigByEdbId(edbInfoId int) (item *EdbDataInsertConfig, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT * FROM edb_data_insert_config WHERE edb_info_id=? `
-	err = o.Raw(sql, edbInfoId).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).First(&item).Error
 	return
 }
 
 // DeleteEdbDataInsertConfigByEdbId 根据指标id 删除数据插入配置详情
 func DeleteEdbDataInsertConfigByEdbId(edbInfoId int) (err error) {
-	o := orm.NewOrm()
 	sql := ` DELETE FROM edb_data_insert_config WHERE edb_info_id=? `
-	_, err = o.Raw(sql, edbInfoId).Exec()
+	err = global.DEFAULT_DB.Exec(sql, edbInfoId).Error
 	return
 }
 
 // GetEdbDataInsertConfigByEdbIdWithTo 根据指标id 获取数据插入配置详情
-func GetEdbDataInsertConfigByEdbIdWithTo(to orm.TxOrmer, edbInfoId int) (item *EdbDataInsertConfig, err error) {
+func GetEdbDataInsertConfigByEdbIdWithTo(to *gorm.DB, edbInfoId int) (item *EdbDataInsertConfig, err error) {
 	sql := ` SELECT * FROM edb_data_insert_config WHERE edb_info_id=? `
-	err = to.Raw(sql, edbInfoId).QueryRow(&item)
+	err = to.Raw(sql, edbInfoId).First(&item).Error
+
 	return
 }