Roc vor 1 Monat
Ursprung
Commit
1bec9eba3b

+ 24 - 169
models/edb_data_calculate_bp.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 (
 
 // AddCalculateBp 升频
 func AddCalculateBp(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("AddCalculateBp,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -47,12 +43,13 @@ func AddCalculateBp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 		edbInfo.EdbType = 2
 		edbInfo.EmptyType = req.EmptyType
 		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)
+		newEdbInfoId := edbInfo.EdbInfoId
+		edbInfo.EdbInfoId = newEdbInfoId
 		//关联关系
 		{
 			calculateMappingItem := new(EdbInfoCalculateMapping)
@@ -70,7 +67,7 @@ func AddCalculateBp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 			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
 			}
@@ -84,7 +81,7 @@ func AddCalculateBp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 		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
 		}
@@ -98,17 +95,12 @@ func AddCalculateBp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 
 // EditCalculateBp 修改升频数据
 func EditCalculateBp(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("EditCalculateBp,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -123,7 +115,7 @@ func EditCalculateBp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
 	edbInfo.EmptyType = req.EmptyType
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime", "EdbNameEn", "UnitEn", "EmptyType")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime", "EdbNameEn", "UnitEn", "EmptyType"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -145,14 +137,14 @@ func EditCalculateBp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
 	}
 	//清空原有数据
 	sql = ` DELETE FROM edb_data_calculate_bp WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -175,7 +167,7 @@ func EditCalculateBp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -187,150 +179,13 @@ func EditCalculateBp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	return
 }
 
-// RefreshAllCalculateBpBak 刷新所有升频数据
-func RefreshAllCalculateBpBak(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
-	defer func() {
-		if err != nil {
-			fmt.Println("RefreshAllCalculateBp,Err:" + err.Error())
-			_ = to.Rollback()
-		} else {
-			_ = to.Commit()
-		}
-	}()
-
-	if err != nil {
-		return
-	}
-	edbInfoIdStr := strconv.Itoa(edbInfoId)
-	//计算数据
-
-	dataList, err := GetEdbDataListAllByTo(to, fromEdbInfo.Source, fromEdbInfo.SubSource, FindEdbDataListAllCond{
-		EdbInfoId:         fromEdbInfo.EdbInfoId,
-		StartDataTime:     startDate,
-		StartDataTimeCond: ">=",
-		EndDataTime:       endDate,
-		EndDataTimeCond:   "<=",
-	}, 0)
-	if err != nil {
-		return err
-	}
-	var dateArr []string
-	dataMap := make(map[string]*EdbInfoSearchData)
-	for _, v := range dataList {
-		dateArr = append(dateArr, v.DataTime)
-		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)
-	if err != nil {
-		return err
-	}
-	existDataMap := make(map[string]string)
-	for _, v := range existDataList {
-		existDataMap[v.DataTime] = v.Value
-	}
-	fmt.Println("existDataMap:", existDataMap)
-	addSql := ` INSERT INTO edb_data_calculate_bp(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
-	var isAdd bool
-
-	existMap := make(map[string]string)
-	dataLen := len(dataList)
-	for i := 0; i < dataLen; i++ {
-		//当期
-		currentItem := dataList[i]
-		currentDate, _ := time.ParseInLocation(utils.FormatDate, currentItem.DataTime, time.Local)
-		var day int
-		var preItem *EdbInfoSearchData
-		var preDate time.Time
-		if i == 0 {
-			day = int(time.Now().Sub(currentDate).Hours() / float64(24))
-			preDate = time.Now()
-		} else {
-			j := i + 1
-			if j < dataLen {
-				preItem = dataList[j]
-				preDate, _ = time.ParseInLocation(utils.FormatDate, preItem.DataTime, time.Local)
-				day = int(currentDate.Sub(preDate).Hours() / float64(24))
-			}
-		}
-		for k := 0; k <= day; k++ {
-			needDay := preDate.AddDate(0, 0, -k)
-			needDayStr := needDay.Format(utils.FormatDate)
-			existKey := edbCode + needDayStr
-			if _, ok := existMap[existKey]; !ok {
-				timestamp := needDay.UnixNano() / 1e6
-				timestampStr := fmt.Sprintf("%d", timestamp)
-				valStr := decimal.NewFromFloat(currentItem.Value).String()
-				if existVal, ok := existDataMap[needDayStr]; !ok {
-					addSql += GetAddSql(edbInfoIdStr, edbCode, needDayStr, timestampStr, valStr)
-				} else {
-					if existVal != 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, needDay).Exec()
-						if err != nil {
-							return err
-						}
-					}
-				}
-			}
-			existMap[existKey] = needDayStr
-		}
-		existKey := edbCode + currentItem.DataTime
-		if _, ok := existMap[existKey]; !ok {
-			currentDate, _ := time.ParseInLocation(utils.FormatDate, currentItem.DataTime, time.Local)
-			timestamp := currentDate.UnixNano() / 1e6
-			timestampStr := fmt.Sprintf("%d", timestamp)
-			valStr := decimal.NewFromFloat(currentItem.Value).String()
-			if existVal, ok := existDataMap[currentItem.DataTime]; !ok {
-				addSql += GetAddSql(edbInfoIdStr, edbCode, currentItem.DataTime, timestampStr, valStr)
-			} else {
-				if existVal != 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, currentItem.DataTime).Exec()
-					if err != nil {
-						return err
-					}
-				}
-			}
-		}
-		existMap[existKey] = currentItem.DataTime
-	}
-
-	if isAdd {
-		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
-		if err != nil {
-			return err
-		}
-	}
-	return
-}
-
 func RefreshAllCalculateBp(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, emptyType int) (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("RefreshAllCalculateBp,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -341,7 +196,7 @@ func RefreshAllCalculateBp(edbInfoId, source, subSource int, fromEdbInfo *EdbInf
 }
 
 // refreshAllCalculateBp 刷新升频数据
-func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, order int, emptyType int) (err error) {
+func refreshAllCalculateBp(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, order int, emptyType int) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
@@ -379,7 +234,7 @@ func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source, subSource int, fro
 		//如果没有来源指标数据,那么已经入库的计算指标数据需要全部删除
 		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ?`, tableName)
-		_, err = to.Raw(sql, edbInfoId).Exec()
+		err = to.Exec(sql, edbInfoId).Error
 		if err != nil {
 			err = fmt.Errorf("删除所有的升频指标数据失败,Err:" + err.Error())
 			return
@@ -501,7 +356,7 @@ func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source, subSource int, fro
 		//如果拼接指标变更了,那么需要删除所有的指标数据
 		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(len(removeDateList))+`) `, tableName)
-		_, err = to.Raw(sql, edbInfoId, removeDateList).Exec()
+		err = to.Exec(sql, edbInfoId, removeDateList).Error
 		if err != nil {
 			err = fmt.Errorf("删除不存在的升频指标数据失败,Err:" + err.Error())
 			return
@@ -510,7 +365,7 @@ func refreshAllCalculateBp(to orm.TxOrmer, edbInfoId, source, subSource int, fro
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 	}
 	return
 }

+ 26 - 42
models/edb_data_calculate_cjjx.go

@@ -2,11 +2,12 @@ package models
 
 import (
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/nosixtools/solarlunar"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
@@ -14,17 +15,12 @@ import (
 
 // AddCalculateCjjx 超季节性
 func AddCalculateCjjx(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edbCode, uniqueCode string, sysUserId int, sysUserRealName string, formulaInt int) (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("AddCalculateCjjx,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	fmt.Println("req.EdbInfoId:", req.EdbInfoId)
@@ -50,12 +46,11 @@ func AddCalculateCjjx(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, e
 		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)
 
 		//关联关系
 		{
@@ -74,7 +69,7 @@ func AddCalculateCjjx(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, e
 			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
 			}
@@ -88,7 +83,7 @@ func AddCalculateCjjx(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, e
 		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,17 +97,12 @@ func AddCalculateCjjx(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, e
 
 // EditCalculateCjjx 超季节性
 func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *EdbInfo, formulaInt int) (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("EditCalculateCjjx,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -134,7 +124,7 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "Calendar", "ModifyTime", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "Calendar", "ModifyTime", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -159,7 +149,7 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 	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 {
 			return
 		}
@@ -183,7 +173,7 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 				ModifyTime:                time.Now(),
 				FromSubSource:             fromEdbInfo.SubSource,
 			}
-			_, err = to.Insert(calculateMappingItem)
+			err = to.Create(calculateMappingItem).Error
 			if err != nil {
 				return
 			}
@@ -193,7 +183,7 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 	//清空原有数据
 	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 {
 		return
 	}
@@ -206,17 +196,12 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 
 // RefreshAllCalculateCjjx 刷新全部超季节性数据
 func RefreshAllCalculateCjjx(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (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("RefreshAllCalculateCjjx,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -227,7 +212,7 @@ func RefreshAllCalculateCjjx(edbInfoId, source, subSource int, fromEdbInfo *EdbI
 }
 
 // refreshAllCalculateCjjx 刷新全部超季节性数据
-func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (err error) {
+func refreshAllCalculateCjjx(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, calendar string, formulaInt int) (err error) {
 	if err != nil {
 		return
 	}
@@ -253,12 +238,10 @@ func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source, subSource int, f
 	if err != nil {
 		return
 	}
-	//获取指标所有数据
-	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
 	}
@@ -369,7 +352,7 @@ func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source, subSource int, f
 				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 +373,7 @@ func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source, subSource int, f
 			//如果拼接指标变更了,那么需要删除所有的指标数据
 			tableName := GetEdbDataTableName(source, subSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, tableName)
-			_, err = to.Raw(sql, edbInfoId, removeDateList).Exec()
+			err = to.Exec(sql, edbInfoId, removeDateList).Error
 			if err != nil {
 				err = fmt.Errorf("删除不存在的超季节性指标数据失败,Err:" + err.Error())
 				return
@@ -400,11 +383,12 @@ func refreshAllCalculateCjjx(to orm.TxOrmer, edbInfoId, source, subSource int, f
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			return err
 		}
 	}
+
 	return
 }
 

+ 22 - 39
models/edb_data_calculate_correlation.go

@@ -3,10 +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"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
@@ -14,17 +15,12 @@ import (
 
 // AddCalculateCorrelation 扩散指数
 func AddCalculateCorrelation(req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueCode string, sysUserId int, sysUserRealName string) (edbInfo *EdbInfo, 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 {
-			fmt.Println("AddCalculateCorrelation,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId > 0 {
@@ -51,12 +47,11 @@ func AddCalculateCorrelation(req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueC
 	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)
 
 	var edbInfoA, edbInfoB *EdbInfo
 	//关联关系
@@ -104,7 +99,7 @@ func AddCalculateCorrelation(req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueC
 		return
 	}
 
-	_, err = to.InsertMulti(len(calculateMappingItemList), calculateMappingItemList)
+	err = to.CreateInBatches(calculateMappingItemList, 500).Error
 	if err != nil {
 		return
 	}
@@ -117,17 +112,12 @@ func AddCalculateCorrelation(req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueC
 
 // EditCalculateCorrelation 修改扩散指数数据
 func EditCalculateCorrelation(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq) (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 {
-			fmt.Println("EditCalculateCorrelation,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -141,14 +131,14 @@ func EditCalculateCorrelation(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditRe
 	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
 	}
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
@@ -156,7 +146,7 @@ func EditCalculateCorrelation(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditRe
 	//清空原有数据
 	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
 	}
@@ -207,7 +197,7 @@ func EditCalculateCorrelation(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditRe
 		err = errors.New(errMsg)
 		return
 	}
-	_, err = to.InsertMulti(len(calculateMappingItemList), calculateMappingItemList)
+	err = to.CreateInBatches(calculateMappingItemList, 500).Error
 	if err != nil {
 		return
 	}
@@ -245,17 +235,12 @@ func RefreshAllCalculateCorrelation(edbInfo *EdbInfo) (err error, errMsg string)
 		err = errors.New(errMsg)
 		return
 	}
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("RefreshAllCalculateCorrelation,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -281,7 +266,7 @@ type EdbCalculateFormula struct {
 }
 
 // refreshAllCalculateCorrelation 刷新扩散指数数据
-func refreshAllCalculateCorrelation(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfoA, edbInfoB *EdbInfo, edbCode, calculateFormula string) (err error, errMsg string) {
+func refreshAllCalculateCorrelation(to *gorm.DB, edbInfoId, source, subSource int, edbInfoA, edbInfoB *EdbInfo, edbCode, calculateFormula string) (err error, errMsg string) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_CORRELATION, utils.DATA_SUB_SOURCE_EDB)
 
@@ -359,7 +344,7 @@ func refreshAllCalculateCorrelation(to orm.TxOrmer, edbInfoId, source, subSource
 
 		if isAdd {
 			addSql = strings.TrimRight(addSql, ",")
-			_, err = to.Raw(addSql).Exec()
+			err = to.Exec(addSql).Error
 		}
 
 		// 移除不存在的日期数据
@@ -368,10 +353,10 @@ func refreshAllCalculateCorrelation(to orm.TxOrmer, edbInfoId, source, subSource
 			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
@@ -428,7 +413,6 @@ func GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *E
 		"天": 1, "周": 7, "月": 30, "季": 90, "年": 365,
 	}
 	// 2023-03-17 时间序列始终以指标A为基准, 始终是B进行平移
-	//baseDataList := make([]*data_manage.EdbDataList, 0)
 	baseDataMap := make(map[string]float64)
 	changeDataList := make([]*EdbInfoSearchData, 0)
 	changeDataMap := make(map[string]float64)
@@ -440,7 +424,6 @@ func GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *E
 			err = fmt.Errorf("获取变频指标插值法Map失败, Err: %s", e.Error())
 			return
 		}
-		//baseDataList = tmpNewChangeDataList
 	}
 	// A指标不管三七二十一,先变个频再说
 	{

+ 27 - 43
models/edb_data_calculate_hbz.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 (
 
 // AddCalculateHbz 新增环比值指标
 func AddCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edbCode, uniqueCode string, sysUserId int, sysUserRealName string, formulaInt int) (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("AddCalculateHbz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -46,12 +42,12 @@ func AddCalculateHbz(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)
+
 		//关联关系
 		{
 			calculateMappingItem := new(EdbInfoCalculateMapping)
@@ -69,7 +65,7 @@ func AddCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 			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
 			}
@@ -82,7 +78,7 @@ func AddCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_HBZ, 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
 		}
@@ -96,17 +92,12 @@ func AddCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 
 // EditCalculateHbz 环比值
 func EditCalculateHbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEdbInfo *EdbInfo, formulaInt int, oldCalculateFormula 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("EditCalculateHbz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -120,7 +111,7 @@ func EditCalculateHbz(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", "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
 	}
@@ -143,7 +134,7 @@ func EditCalculateHbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	//删除,计算指标关联的,基础指标的关联关系
 	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 {
 			return
 		}
@@ -166,7 +157,7 @@ func EditCalculateHbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 				ModifyTime:                time.Now(),
 				FromSubSource:             edbInfo.SubSource,
 			}
-			_, err = to.Insert(calculateMappingItem)
+			err = to.Create(calculateMappingItem).Error
 			if err != nil {
 				return
 			}
@@ -174,7 +165,7 @@ func EditCalculateHbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	}
 	//清空原有数据
 	sql := ` DELETE FROM edb_data_calculate_hbz WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -187,17 +178,12 @@ func EditCalculateHbz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 
 // RefreshAllCalculateHbz 刷新所有环比值数据
 func RefreshAllCalculateHbz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (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("EditCalculateHbz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -207,7 +193,7 @@ func RefreshAllCalculateHbz(edbInfoId, source, subSource int, fromEdbInfo *EdbIn
 }
 
 // refreshAllCalculateHbz 刷新所有环比值数据
-func refreshAllCalculateHbz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
+func refreshAllCalculateHbz(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
@@ -224,13 +210,11 @@ func refreshAllCalculateHbz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 		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
 	}
@@ -271,7 +255,7 @@ func refreshAllCalculateHbz(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, currentItem.DataTime).Exec()
+								err = to.Exec(sql, val, edbInfoId, currentItem.DataTime).Error
 								if err != nil {
 									return err
 								}
@@ -295,7 +279,7 @@ func refreshAllCalculateHbz(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
@@ -304,7 +288,7 @@ func refreshAllCalculateHbz(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
 		}

+ 27 - 50
models/edb_data_calculate_hcz.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 (
 
 // AddCalculateHcz 新增环差值指标
 func AddCalculateHcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edbCode, uniqueCode string, sysUserId int, sysUserRealName string, formulaInt int) (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("AddCalculateHcz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -46,12 +42,11 @@ func AddCalculateHcz(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 AddCalculateHcz(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
 			}
@@ -83,7 +78,7 @@ func AddCalculateHcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_HCZ, 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
 		}
@@ -97,17 +92,12 @@ func AddCalculateHcz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 
 // EditCalculateHcz 修改环差值指标
 func EditCalculateHcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEdbInfo *EdbInfo, formulaInt int, oldCalculateFormula 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("EditCalculateHcz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -121,7 +111,7 @@ func EditCalculateHcz(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", "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
 	}
@@ -144,7 +134,7 @@ func EditCalculateHcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	//删除,计算指标关联的,基础指标的关联关系
 	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 {
 			return
 		}
@@ -167,7 +157,7 @@ func EditCalculateHcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 				ModifyTime:                time.Now(),
 				FromSubSource:             fromEdbInfo.SubSource,
 			}
-			_, err = to.Insert(calculateMappingItem)
+			err = to.Create(calculateMappingItem).Error
 			if err != nil {
 				return
 			}
@@ -175,7 +165,7 @@ func EditCalculateHcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	}
 	//清空原有数据
 	sql := ` DELETE FROM edb_data_calculate_hcz WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -188,17 +178,12 @@ func EditCalculateHcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 
 // RefreshAllCalculateHcz 刷新所有环差值数据
 func RefreshAllCalculateHcz(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (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("RefreshAllCalculateHcz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -208,7 +193,7 @@ func RefreshAllCalculateHcz(edbInfoId, source, subSource int, fromEdbInfo *EdbIn
 }
 
 // refreshAllCalculateHcz 刷新所有环差值数据
-func refreshAllCalculateHcz(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
+func refreshAllCalculateHcz(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string, formulaInt int) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	//计算数据
@@ -224,20 +209,12 @@ func refreshAllCalculateHcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 		dateArr = append(dateArr, v.DataTime)
 		dataMap[v.DataTime] = v
 	}
-	fmt.Println("source:", source)
-	//获取指标所有数据
-	existDataList := make([]*EdbData, 0)
+
 	dataTableName := GetEdbDataTableName(source, subSource)
 	fmt.Println("dataTableName:", dataTableName)
 
-	var existPars []interface{}
-	sql := `SELECT * FROM %s WHERE edb_info_id=? `
-	//if startDate != "" {
-	//	sql += " AND data_time>=? "
-	//	existPars = append(existPars, startDate)
-	//}
-	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = to.Raw(sql, edbInfoId, existPars).QueryRows(&existDataList)
+	//获取指标所有数据
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfoId, source, subSource)
 	if err != nil {
 		return err
 	}
@@ -281,7 +258,7 @@ func refreshAllCalculateHcz(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, currentItem.DataTime).Exec()
+								err = to.Exec(sql, val, edbInfoId, currentItem.DataTime).Error
 								if err != nil {
 									return err
 								}
@@ -295,7 +272,7 @@ func refreshAllCalculateHcz(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
 		}
@@ -307,13 +284,13 @@ func refreshAllCalculateHcz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 		for k := range removeDateMap {
 			removeDateList = append(removeDateList, k)
 		}
-		removeDateStr := strings.Join(removeDateList, `","`)
-		removeDateStr = `"` + removeDateStr + `"`
+		removeDateStr := strings.Join(removeDateList, `','`)
+		removeDateStr = `'` + removeDateStr + `'`
 		//如果拼接指标变更了,那么需要删除所有的指标数据
 		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

+ 24 - 38
models/edb_data_calculate_jp.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"
@@ -40,17 +41,12 @@ func CheckFrequency(fromEdbFrequency, edbFrequency string) (ok bool) {
 
 // AddCalculateJp 降频
 func AddCalculateJp(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("AddCalculateJp,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -73,12 +69,12 @@ func AddCalculateJp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 		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)
+
 		//关联关系
 		{
 			calculateMappingItem := new(EdbInfoCalculateMapping)
@@ -96,7 +92,7 @@ func AddCalculateJp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 			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
 			}
@@ -110,7 +106,7 @@ func AddCalculateJp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 		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
 		}
@@ -124,17 +120,12 @@ func AddCalculateJp(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 
 // EditCalculateJp 修改降频数据
 func EditCalculateJp(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("EditCalculateJp,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -148,7 +139,7 @@ func EditCalculateJp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	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
 	}
@@ -170,7 +161,7 @@ func EditCalculateJp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
@@ -178,7 +169,7 @@ func EditCalculateJp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	//清空原有数据
 	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
 	}
@@ -201,7 +192,7 @@ func EditCalculateJp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -214,17 +205,12 @@ func EditCalculateJp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 }
 
 func RefreshAllCalculateJp(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula 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("RefreshAllCalculateJp,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -235,7 +221,7 @@ func RefreshAllCalculateJp(edbInfoId, source, subSource int, fromEdbInfo *EdbInf
 }
 
 // refreshAllCalculateJp 刷新降频数据
-func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (err error) {
+func refreshAllCalculateJp(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, edbFrequency, formula string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	//计算数据
@@ -461,7 +447,7 @@ func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source, subSource int, fro
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 	}
 
 	// 移除不存在的日期数据
@@ -470,10 +456,10 @@ func refreshAllCalculateJp(to orm.TxOrmer, edbInfoId, source, subSource int, fro
 		for k := range existDelDateMap {
 			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

+ 22 - 37
models/edb_data_calculate_kszs.go

@@ -3,10 +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"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
@@ -14,17 +15,12 @@ import (
 
 // AddCalculateKszs 扩散指数
 func AddCalculateKszs(req *EdbInfoCalculateBatchSaveReq, 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("AddCalculateKszs,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId > 0 {
@@ -51,12 +47,11 @@ func AddCalculateKszs(req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueCode str
 	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)
 
 	//关联关系
 	tagMap := make(map[string]int)
@@ -89,7 +84,7 @@ func AddCalculateKszs(req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueCode str
 
 		tagMap[v.FromTag] = v.EdbInfoId
 	}
-	_, err = to.InsertMulti(len(calculateMappingItemList), calculateMappingItemList)
+	err = to.CreateInBatches(calculateMappingItemList, 500).Error
 	if err != nil {
 		return
 	}
@@ -102,17 +97,12 @@ func AddCalculateKszs(req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueCode str
 
 // EditCalculateKszs 修改扩散指数数据
 func EditCalculateKszs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq) (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("EditCalculateKszs,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -126,14 +116,14 @@ func EditCalculateKszs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq) (err
 	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
 	}
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
@@ -141,7 +131,7 @@ func EditCalculateKszs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq) (err
 	//清空原有数据
 	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
 	}
@@ -177,7 +167,7 @@ func EditCalculateKszs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq) (err
 
 		tagMap[v.FromTag] = v.EdbInfoId
 	}
-	_, err = to.InsertMulti(len(calculateMappingItemList), calculateMappingItemList)
+	err = to.CreateInBatches(calculateMappingItemList, 500).Error
 	if err != nil {
 		return
 	}
@@ -200,17 +190,12 @@ func RefreshAllCalculateKszs(edbInfo *EdbInfo) (err error) {
 		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("RefreshAllCalculateKszs,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -227,7 +212,7 @@ type KszsConfig struct {
 }
 
 // refreshAllCalculateKszs 刷新扩散指数数据
-func refreshAllCalculateKszs(to orm.TxOrmer, edbInfoId, source, subSource int, relationEdbInfoList []*EdbInfo, edbCode, calculateFormula string, tagMap map[string]int) (err error) {
+func refreshAllCalculateKszs(to *gorm.DB, edbInfoId, source, subSource int, relationEdbInfoList []*EdbInfo, edbCode, calculateFormula string, tagMap map[string]int) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_KSZS, utils.DATA_SUB_SOURCE_EDB)
 
@@ -374,7 +359,7 @@ func refreshAllCalculateKszs(to orm.TxOrmer, edbInfoId, source, subSource int, r
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 	}
 
 	// 移除不存在的日期数据
@@ -383,10 +368,10 @@ func refreshAllCalculateKszs(to orm.TxOrmer, edbInfoId, source, subSource int, r
 		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

+ 22 - 40
models/edb_data_calculate_ljz.go

@@ -3,10 +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"
+	"gorm.io/gorm"
 	"reflect"
 	"strconv"
 	"strings"
@@ -34,17 +35,12 @@ func (obj Ljz) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err error,
 		err = errors.New(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(), ";Add,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -84,12 +80,11 @@ func (obj Ljz) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err error,
 		Extra:            req.Extra,
 	}
 
-	newEdbInfoId, tmpErr := to.Insert(edbInfo)
+	tmpErr := to.Create(edbInfo).Error
 	if tmpErr != nil {
 		err = tmpErr
 		return
 	}
-	edbInfo.EdbInfoId = int(newEdbInfoId)
 
 	//关联关系
 	{
@@ -108,7 +103,7 @@ func (obj Ljz) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err error,
 		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
 		}
@@ -138,17 +133,12 @@ func (obj Ljz) Edit(params EditCalculateBatchParams) (err error, errMsg string)
 		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()
 		}
 	}()
 	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
@@ -167,7 +157,7 @@ func (obj Ljz) Edit(params EditCalculateBatchParams) (err error, errMsg string)
 	edbInfo.EdbNameEn = req.EdbNameEn
 	edbInfo.UnitEn = req.UnitEn
 	edbInfo.ModifyTime = time.Now()
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime", "Extra", "EdbNameEn", "UnitEn")
+	err = to.Model(edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime", "Extra", "EdbNameEn", "UnitEn"}).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -195,14 +185,14 @@ func (obj Ljz) Edit(params EditCalculateBatchParams) (err error, errMsg string)
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
 	}
@@ -226,7 +216,7 @@ func (obj Ljz) Edit(params EditCalculateBatchParams) (err error, errMsg string)
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -251,17 +241,12 @@ func (obj Ljz) Refresh(params RefreshParams) (err error, errMsg string) {
 		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()
 		}
 	}()
 
@@ -286,7 +271,7 @@ func (obj Ljz) GetEdbType() int {
 	return utils.CALCULATE_EDB_TYPE
 }
 
-func (obj Ljz) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string, extra string) (err error) {
+func (obj Ljz) refresh(to *gorm.DB, edbInfoId, source, subSource int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string, extra string) (err error) {
 	dataTableName := GetEdbDataTableName(source, subSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
@@ -649,10 +634,7 @@ func (obj Ljz) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo
 	}
 
 	//获取指标所有数据
-	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
 	}
@@ -690,7 +672,7 @@ func (obj Ljz) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo
 			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
 				}
@@ -718,7 +700,7 @@ func (obj Ljz) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo
 		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())
@@ -729,7 +711,7 @@ func (obj Ljz) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo
 
 	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

+ 23 - 40
models/edb_data_calculate_ljznczj.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"
@@ -33,17 +34,12 @@ func (obj LjzNczj) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err er
 		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()
 		}
 	}()
 
@@ -82,12 +78,11 @@ func (obj LjzNczj) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err er
 		Calendar:         "",
 	}
 
-	newEdbInfoId, tmpErr := to.Insert(edbInfo)
+	tmpErr := to.Create(edbInfo).Error
 	if tmpErr != nil {
 		err = tmpErr
 		return
 	}
-	edbInfo.EdbInfoId = int(newEdbInfoId)
 
 	//关联关系
 	{
@@ -106,7 +101,7 @@ func (obj LjzNczj) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err er
 		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
 		}
@@ -136,19 +131,15 @@ func (obj LjzNczj) Edit(params EditCalculateBatchParams) (err error, errMsg stri
 		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()
 		}
 	}()
+
 	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 
 	var isRecalculate bool
@@ -164,7 +155,7 @@ func (obj LjzNczj) Edit(params EditCalculateBatchParams) (err error, errMsg stri
 	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
 	}
@@ -192,14 +183,14 @@ func (obj LjzNczj) Edit(params EditCalculateBatchParams) (err error, errMsg stri
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
 	}
@@ -223,7 +214,7 @@ func (obj LjzNczj) Edit(params EditCalculateBatchParams) (err error, errMsg stri
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -248,17 +239,12 @@ func (obj LjzNczj) Refresh(params RefreshParams) (err error, errMsg string) {
 		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()
 		}
 	}()
 
@@ -283,7 +269,7 @@ func (obj LjzNczj) GetEdbType() int {
 	return utils.CALCULATE_EDB_TYPE
 }
 
-func (obj LjzNczj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
+func (obj LjzNczj) refresh(to *gorm.DB, edbInfoId, source, subSource int, edbInfo, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
 	dataTableName := GetEdbDataTableName(source, subSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
@@ -375,10 +361,7 @@ func (obj LjzNczj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edb
 	}
 
 	//获取指标所有数据
-	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
 	}
@@ -416,7 +399,7 @@ func (obj LjzNczj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edb
 			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
 				}
@@ -444,7 +427,7 @@ func (obj LjzNczj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edb
 		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())
@@ -455,7 +438,7 @@ func (obj LjzNczj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, edb
 
 	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

+ 44 - 67
models/edb_data_calculate_ljztbpj.go

@@ -2,10 +2,12 @@ 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"
 	"sort"
 	"strings"
 	"time"
@@ -13,30 +15,25 @@ import (
 
 // EdbDataCalculateLjztbpj 累计值同比拼接数据结构体
 type EdbDataCalculateLjztbpj 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:"数据日期时间戳"`
 }
 
 // AddCalculateLjztbpj 新增累计值同比拼接数据
 func AddCalculateLjztbpj(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("AddCalculateLjztbpj,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	//待拼接指标map
@@ -103,12 +100,12 @@ func AddCalculateLjztbpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, second
 			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 {
@@ -133,14 +130,14 @@ func AddCalculateLjztbpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, second
 		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
 	}
 
 	//关联关系
@@ -165,12 +162,12 @@ func AddCalculateLjztbpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, second
 			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)
+
 	}
 
 	//同比值指标
@@ -192,12 +189,12 @@ func AddCalculateLjztbpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, second
 			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)
+
 	}
 
 	// 添加数据
@@ -208,17 +205,12 @@ func AddCalculateLjztbpj(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, second
 
 // EditCalculateLjztbpj 编辑累计值同比拼接数据
 func EditCalculateLjztbpj(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("EditCalculateLjztbpj,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -234,7 +226,7 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 	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
 	}
@@ -272,7 +264,7 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 	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 = errors.New("删除拼接日期之前的指标关联关系失败,Err:" + err.Error())
 			return
@@ -297,12 +289,11 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 				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
 		}
@@ -312,7 +303,7 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 	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 = errors.New("删除拼接日期之后的指标关联关系失败,Err:" + err.Error())
 			return
@@ -338,12 +329,11 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 				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
 		}
@@ -354,7 +344,7 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 		// 删除之前所有的指标数据
 		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 = errors.New("删除所有的累计值同比拼接指标数据失败,Err:" + err.Error())
 			return
@@ -380,7 +370,7 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 				return
 			}
 			edbInfo.CalculateFormula = lastDateTime.Format(utils.FormatDate)
-			_, err = to.Update(edbInfo, "CalculateFormula")
+			err = to.Model(edbInfo).Select([]string{"CalculateFormula"}).Updates(edbInfo).Error
 			if err != nil {
 				return
 			}
@@ -393,27 +383,14 @@ func EditCalculateLjztbpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbIn
 	return
 }
 
-// GetAllEdbDataCalculateLjztbpjByEdbInfoId 根据指标id获取全部的数据
-func GetAllEdbDataCalculateLjztbpjByEdbInfoId(edbInfoId int) (items []*EdbDataCalculateLjztbpj, err error) {
-	o := orm.NewOrm()
-	sql := ` SELECT * FROM edb_data_calculate_ljztbpj WHERE edb_info_id=? ORDER BY data_time DESC `
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
-	return
-}
-
 // RefreshAllCalculateLjztbpj 刷新所有 累计值同比拼接 数据
 func RefreshAllCalculateLjztbpj(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("RefreshAllCalculateLjztbpj,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -442,7 +419,7 @@ func RefreshAllCalculateLjztbpj(edbInfo *EdbInfo) (err error) {
 }
 
 // refreshAllCalculateLjztbpj 刷新所有 累计值同比拼接 数据
-func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, existItemB *EdbInfoCalculateMapping) (err error) {
+func refreshAllCalculateLjztbpj(to *gorm.DB, edbInfo *EdbInfo, existItemA, existItemB *EdbInfoCalculateMapping) (err error) {
 	//查询当前指标现有的数据
 	var condition string
 	var pars []interface{}
@@ -452,7 +429,7 @@ func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, ex
 	//根据指标id获取全部的数据
 	var dataList []*EdbDataCalculateLjztbpj
 	sql := ` SELECT * FROM edb_data_calculate_ljztbpj 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
 	}
@@ -491,7 +468,7 @@ func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, ex
 				if edbData.Value != v.Value {
 					//更新指标数据
 					edbData.Value = v.Value
-					_, _ = to.Update(edbData, "Value")
+					_ = to.Model(edbData).Select([]string{"Value"}).Updates(edbData).Error
 				}
 			} else {
 				pjDataMap[v.DataTime] = v.Value
@@ -620,7 +597,7 @@ func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, ex
 
 		//数据入库
 		if len(addDataList) > 0 {
-			_, tmpErr := to.InsertMulti(len(addDataList), addDataList)
+			tmpErr := to.CreateInBatches(addDataList, 500).Error
 			if tmpErr != nil {
 				err = tmpErr
 				return
@@ -631,13 +608,13 @@ func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, ex
 	//删除已经不存在的累计同比拼接指标数据(由于同比值当日的数据删除了)
 	{
 		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 = errors.New("删除不存在的累计值同比拼接指标数据失败,Err:" + err.Error())
 				return
@@ -651,7 +628,7 @@ func refreshAllCalculateLjztbpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, ex
 		for edbDate, edbDataValue := range updateEdbDataMap {
 			sql := fmt.Sprintf(` UPDATE  %s set value = ?,modify_time=now() WHERE edb_info_id = ? and data_time = ? `, tableName)
 
-			_, err = to.Raw(sql, edbDataValue, edbInfo.EdbInfoId, edbDate).Exec()
+			err = to.Exec(sql, edbDataValue, edbInfo.EdbInfoId, edbDate).Error
 			if err != nil {
 				err = errors.New("更新现有的累计值同比拼接指标数据失败,Err:" + err.Error())
 				return

+ 24 - 41
models/edb_data_calculate_ljzzj.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"
@@ -26,17 +27,12 @@ func (obj Ljzzj) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err erro
 		err = errors.New(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(), ";Add,Err:"+err.Error())
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -59,12 +55,11 @@ func (obj Ljzzj) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err erro
 	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)
 
 	//关联关系
 	{
@@ -83,7 +78,7 @@ func (obj Ljzzj) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err erro
 		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
 		}
@@ -106,17 +101,12 @@ func (obj Ljzzj) Edit(params EditCalculateBatchParams) (err error, errMsg string
 		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()
 		}
 	}()
 	tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
@@ -130,7 +120,7 @@ func (obj Ljzzj) Edit(params EditCalculateBatchParams) (err error, errMsg string
 	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
 	}
@@ -152,14 +142,14 @@ func (obj Ljzzj) Edit(params EditCalculateBatchParams) (err error, errMsg string
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
 	}
@@ -183,7 +173,7 @@ func (obj Ljzzj) Edit(params EditCalculateBatchParams) (err error, errMsg string
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -208,17 +198,12 @@ func (obj Ljzzj) Refresh(params RefreshParams) (err error, errMsg string) {
 		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()
 		}
 	}()
 
@@ -243,7 +228,7 @@ func (obj Ljzzj) GetEdbType() int {
 	return utils.CALCULATE_EDB_TYPE
 }
 
-func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
+func (obj Ljzzj) refresh(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
 	dataTableName := GetEdbDataTableName(source, subSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
@@ -279,11 +264,9 @@ func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, fromE
 
 	addSql := ` INSERT INTO ` + dataTableName + `(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
 	var isAdd bool
+
 	//获取指标所有数据
-	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, source, subSource)
 	if err != nil {
 		return err
 	}
@@ -388,7 +371,7 @@ func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, fromE
 		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
@@ -397,7 +380,7 @@ func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, fromE
 
 	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
@@ -406,7 +389,7 @@ func (obj Ljzzj) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, fromE
 	return
 }
 
-func (obj Ljzzj) calculate(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, addSql string, val float64, dataMap, existDataMap map[string]string, to orm.TxOrmer) (newSql string, isAdd bool, err error) {
+func (obj Ljzzj) calculate(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, addSql string, val float64, dataMap, existDataMap map[string]string, to *gorm.DB) (newSql string, isAdd bool, err error) {
 	newSql = addSql
 	saveValue := utils.SubFloatToString(val, 4)
 	//判断数据是否存在
@@ -423,7 +406,7 @@ func (obj Ljzzj) calculate(edbInfoId int, date, edbInfoIdStr, edbCode, dataTable
 		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, date).Exec()
+			err = to.Exec(sql, saveValue, edbInfoId, date).Error
 		}
 	}
 	return

+ 26 - 43
models/edb_data_calculate_ljzzy.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 (
 
 // AddCalculateLjzzy 累计值转月
 func AddCalculateLjzzy(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("AddCalculateLjzzy,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -47,12 +43,11 @@ func AddCalculateLjzzy(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo,
 		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 AddCalculateLjzzy(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo,
 			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
 			}
@@ -84,7 +79,7 @@ func AddCalculateLjzzy(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo,
 		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_LJZZY, 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 AddCalculateLjzzy(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo,
 
 // EditCalculateLjzzy 编辑累计值转月数据
 func EditCalculateLjzzy(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("EditCalculateLjzzy,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -123,7 +113,7 @@ func EditCalculateLjzzy(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fro
 	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
 	}
@@ -145,14 +135,14 @@ func EditCalculateLjzzy(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fro
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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_ljzzy WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -176,7 +166,7 @@ func EditCalculateLjzzy(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fro
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -190,17 +180,12 @@ func EditCalculateLjzzy(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fro
 
 // RefreshAllCalculateLjzzy 刷新全部累计值转月数据
 func RefreshAllCalculateLjzzy(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("RefreshAllCalculateLjzzy,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -210,7 +195,7 @@ func RefreshAllCalculateLjzzy(edbInfoId, source, subSource int, fromEdbInfo *Edb
 	return
 }
 
-func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func refreshAllCalculateLjzzy(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
@@ -247,12 +232,10 @@ func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source, subSource int,
 
 	addSql := ` INSERT INTO edb_data_calculate_ljzzy(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
 	var isAdd bool
-	//获取指标所有数据
-	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
 	}
@@ -378,7 +361,7 @@ func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source, subSource int,
 		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
@@ -387,7 +370,7 @@ func refreshAllCalculateLjzzy(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("RefreshAllCalculateLjzzy add Err", err.Error())
 			return
@@ -396,7 +379,7 @@ func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source, subSource int,
 	return
 }
 
-func calculateLjzzy(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, addSql string, val float64, dataMap, existDataMap map[string]string, to orm.TxOrmer) (newSql string, isAdd bool, err error) {
+func calculateLjzzy(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, addSql string, val float64, dataMap, existDataMap map[string]string, to *gorm.DB) (newSql string, isAdd bool, err error) {
 	newSql = addSql
 	saveValue := utils.SubFloatToString(val, 4)
 	//判断数据是否存在
@@ -413,7 +396,7 @@ func calculateLjzzy(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, a
 		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, date).Exec()
+			err = to.Exec(sql, saveValue, edbInfoId, date).Error
 		}
 	}
 	return

+ 25 - 39
models/edb_data_calculate_nh.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 (
 
 // AddCalculateNh 年化
 func AddCalculateNh(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("AddCalculateNh,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -46,12 +42,12 @@ func AddCalculateNh(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 		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)
+
 		//关联关系
 		{
 			calculateMappingItem := new(EdbInfoCalculateMapping)
@@ -69,7 +65,7 @@ func AddCalculateNh(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 			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
 			}
@@ -83,7 +79,7 @@ func AddCalculateNh(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 		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
 		}
@@ -97,17 +93,12 @@ func AddCalculateNh(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edb
 
 // EditCalculateNh 修改年化数据
 func EditCalculateNh(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("EditCalculateNh,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -121,7 +112,7 @@ func EditCalculateNh(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	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
 	}
@@ -143,7 +134,7 @@ func EditCalculateNh(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
@@ -151,7 +142,7 @@ func EditCalculateNh(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	//清空原有数据
 	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
 	}
@@ -174,7 +165,7 @@ func EditCalculateNh(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -187,17 +178,12 @@ func EditCalculateNh(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 }
 
 func RefreshAllCalculateNh(edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode 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("RefreshAllCalculateNh,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -208,7 +194,7 @@ func RefreshAllCalculateNh(edbInfoId, source, subSource int, fromEdbInfo *EdbInf
 }
 
 // refreshAllCalculateNh 刷新年化数据
-func refreshAllCalculateNh(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
+func refreshAllCalculateNh(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	tableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NH, utils.DATA_SUB_SOURCE_EDB)
 
@@ -247,7 +233,7 @@ func refreshAllCalculateNh(to orm.TxOrmer, edbInfoId, source, subSource int, fro
 	if lenFromDataList <= 0 {
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
 
-		_, err = to.Raw(sql, edbInfoId).Exec()
+		err = to.Exec(sql, edbInfoId).Error
 		if err != nil {
 			err = fmt.Errorf("删除年化指标数据失败,Err:" + err.Error())
 			return
@@ -352,7 +338,7 @@ func refreshAllCalculateNh(to orm.TxOrmer, edbInfoId, source, subSource int, fro
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 	}
 
 	// 移除不存在的日期数据
@@ -361,10 +347,10 @@ func refreshAllCalculateNh(to orm.TxOrmer, edbInfoId, source, subSource int, fro
 		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

+ 62 - 138
models/edb_data_calculate_nhcc.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"
 	"math"
 	"strings"
 	"time"
@@ -13,15 +14,15 @@ import (
 
 // EdbDataCalculateNhcc 拟合残差数据结构体
 type EdbDataCalculateNhcc 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:create_time" description:"创建时间"`
+	ModifyTime    time.Time `gorm:"column:modify_time" description:"修改时间"`
+	DataTimestamp int64     `gorm:"column:data_timestamp" description:"数据日期时间戳"`
 }
 
 // NhccDate 拟合残差的开始、结束日期
@@ -32,17 +33,12 @@ type NhccDate struct {
 
 // AddCalculateNhcc 新增拟合残差数据
 func AddCalculateNhcc(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdbInfo *EdbInfo, edbCode, uniqueCode string, nhccDate NhccDate, sysUserId int, sysUserRealName string) (edbInfo *EdbInfo, 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 {
-			fmt.Println("AddCalculateNhcc,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -68,12 +64,12 @@ func AddCalculateNhcc(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 {
@@ -98,14 +94,14 @@ func AddCalculateNhcc(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
 	}
 
 	//关联关系
@@ -131,12 +127,12 @@ func AddCalculateNhcc(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)
+
 	}
 
 	//第二个指标
@@ -159,12 +155,12 @@ func AddCalculateNhcc(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)
+
 	}
 
 	//拼接数据
@@ -175,17 +171,12 @@ func AddCalculateNhcc(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdb
 
 // EditCalculateNhcc 编辑拟合残差数据
 func EditCalculateNhcc(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo, secondEdbInfo *EdbInfo, nhccDate NhccDate) (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 {
-			fmt.Println("EditCalculateNhcc,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -201,7 +192,7 @@ func EditCalculateNhcc(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
 	}
@@ -240,7 +231,7 @@ func EditCalculateNhcc(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("删除指标A关联关系失败,Err:" + err.Error())
 				return
@@ -251,7 +242,7 @@ func EditCalculateNhcc(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("删除指标B关联关系失败,Err:" + err.Error())
 				return
@@ -283,12 +274,11 @@ func EditCalculateNhcc(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
 			}
@@ -296,7 +286,7 @@ func EditCalculateNhcc(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 			// 如果平移天数不一致的话,
 			existItemA.ModifyTime = time.Now()
 			existItemA.MoveValue = req.EdbInfoIdArr[0].MoveValue
-			_, err = to.Update(existItemA, "ModifyTime", "MoveValue")
+			err = to.Model(existItemA).Select([]string{"ModifyTime", "MoveValue"}).Updates(existItemA).Error
 			if err != nil {
 				return
 			}
@@ -327,19 +317,18 @@ func EditCalculateNhcc(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
 		} else if existItemB.MoveValue != req.EdbInfoIdArr[1].MoveValue {
 			// 如果平移天数不一致的话,
 			existItemB.ModifyTime = time.Now()
 			existItemB.MoveValue = req.EdbInfoIdArr[1].MoveValue
-			_, err = to.Update(existItemB, "ModifyTime", "MoveValue")
+			err = to.Model(existItemB).Select([]string{"ModifyTime", "MoveValue"}).Updates(existItemB).Error
 			if err != nil {
 				return
 			}
@@ -353,7 +342,7 @@ func EditCalculateNhcc(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
@@ -367,14 +356,12 @@ func EditCalculateNhcc(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 
 // RefreshAllCalculateNhcc 刷新所有 拟合残差 数据
 func RefreshAllCalculateNhcc(edbInfo *EdbInfo) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("RefreshAllCalculateNhcc,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	//查询关联指标信息
@@ -420,23 +407,25 @@ func RefreshAllCalculateNhcc(edbInfo *EdbInfo) (err error) {
 }
 
 // refreshAllCalculateNhcc 刷新所有 拟合残差 数据
-func refreshAllCalculateNhcc(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, existItemB *EdbInfoCalculateMapping, nhccDate NhccDate) (err error, errMsg string) {
+func refreshAllCalculateNhcc(to *gorm.DB, edbInfo *EdbInfo, existItemA, existItemB *EdbInfoCalculateMapping, nhccDate NhccDate) (err error, errMsg string) {
 	//查询当前指标现有的数据
 	var condition string
 	var pars []interface{}
 	condition += " AND edb_info_id=? "
 	pars = append(pars, edbInfo.EdbInfoId)
 
-	var dataList []*EdbDataCalculateNhcc
-	sql := ` SELECT * FROM edb_data_calculate_nhcc WHERE edb_info_id=? ORDER BY data_time DESC `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).QueryRows(&dataList)
+	//获取年化指标所有数据
+	existDataList, err := GetAllEdbDataListByTo(to, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.SubSource)
+	//var dataList []*EdbDataCalculateNhcc
+	//sql := ` SELECT * FROM edb_data_calculate_nhcc WHERE edb_info_id=? ORDER BY data_time DESC `
+	//err = to.Raw(sql, edbInfo.EdbInfoId).Scan(&dataList).Error
 	if err != nil {
 		return
 	}
 	var dateArr []string
-	dataMap := make(map[string]*EdbDataCalculateNhcc)
+	dataMap := make(map[string]*EdbData)
 	removeDataTimeMap := make(map[string]int) //需要移除的日期数据
-	for _, v := range dataList {
+	for _, v := range existDataList {
 		dateArr = append(dateArr, v.DataTime)
 		dataMap[v.DataTime] = v
 		removeDataTimeMap[v.DataTime] = 1
@@ -444,76 +433,6 @@ func refreshAllCalculateNhcc(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 
 	addDataList := make([]*EdbDataCalculateNhcc, 0)
 
-	////第一个指标
-	//aDataList := make([]EdbInfoSearchData, 0)
-	//aDataMap := make(map[string]float64)
-	//{
-	//	var condition string
-	//	var pars []interface{}
-	//
-	//	condition += " AND edb_info_id=? "
-	//	pars = append(pars, existItemA.FromEdbInfoId)
-	//
-	//	//第一个指标的数据列表
-	//	firstDataList, tmpErr := GetEdbDataListAllByTo(to, condition, pars, existItemA.FromSource, 0)
-	//	if tmpErr != nil {
-	//		return tmpErr
-	//	}
-	//	aDataList, aDataMap = handleNhccData(firstDataList, existItemA.MoveValue)
-	//
-	//}
-	//
-	////第二个指标
-	//bDataList := make([]EdbInfoSearchData, 0)
-	//secondDataList := make([]*EdbInfoSearchData, 0)
-	//bDataMap := make(map[string]float64)
-	//{
-	//	condition = ``
-	//	pars = make([]interface{}, 0)
-	//
-	//	condition += "  AND edb_info_id = ? "
-	//	pars = append(pars, existItemB.FromEdbInfoId)
-	//
-	//	//第二个指标的数据列表
-	//	secondDataList, err = GetEdbDataListAllByTo(to, condition, pars, existItemB.FromSource, 0)
-	//	if err != nil {
-	//		return
-	//	}
-	//	bDataList, bDataMap = handleNhccData(secondDataList, existItemB.MoveValue)
-	//}
-	//
-	//if len(aDataList) <= 0 {
-	//	err = errors.New("指标A没有数据")
-	//	return
-	//}
-	//if len(bDataList) <= 0 {
-	//	err = errors.New("指标B没有数据")
-	//	return
-	//}
-	//// 拟合残差计算的结束日期判断
-	//{
-	//	endAData := aDataList[len(aDataList)-1]
-	//	tmpEndDate, tmpErr := time.ParseInLocation(utils.FormatDate, endAData.DataTime, time.Local)
-	//	if tmpErr != nil {
-	//		err = tmpErr
-	//		return
-	//	}
-	//	// 如果A指标的最新数据日期早于拟合残差的结束日期,那么就用A指标的最新数据日期
-	//	if tmpEndDate.Before(nhccDate.EndDate) {
-	//		nhccDate.EndDate = tmpEndDate
-	//	}
-	//	endBData := bDataList[len(bDataList)-1]
-	//	tmpEndDate, tmpErr = time.ParseInLocation(utils.FormatDate, endBData.DataTime, time.Local)
-	//	if tmpErr != nil {
-	//		err = tmpErr
-	//		return
-	//	}
-	//	// 如果B指标的最新数据日期早于拟合残差的结束日期,那么就用A指标的最新数据日期
-	//	if tmpEndDate.Before(nhccDate.EndDate) {
-	//		nhccDate.EndDate = tmpEndDate
-	//	}
-	//}
-
 	aDataList, secondDataList, aDataMap, bDataMap, nhccDate, err, errMsg := getNhccData(to, existItemA, existItemB, nhccDate)
 	if err != nil {
 		return
@@ -583,7 +502,8 @@ func refreshAllCalculateNhcc(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 		bDecimal := decimal.NewFromFloat(bData.Value)
 		b2Decimal := decimal.NewFromFloat(b2Val)
 
-		val, _ := bDecimal.Sub(b2Decimal).Round(4).Float64()
+		valDeci := bDecimal.Sub(b2Decimal)
+		val, _ := valDeci.Round(4).Float64()
 
 		// 判断之前有没有该数据
 		existData, ok := dataMap[currDate]
@@ -603,9 +523,15 @@ func refreshAllCalculateNhcc(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 			addDataList = append(addDataList, edbDataNhcc)
 		} else {
 			// 如果有的话,还需要判断值是否一致,一致则不处理,不一致则修改
-			if existData.Value != val {
-				existData.Value = val
-				_, err = to.Update(existData, "Value")
+
+			tmpExistVal, tmpErr := decimal.NewFromString(existData.Value)
+			if tmpErr != nil {
+				err = tmpErr
+				return
+			}
+
+			if !tmpExistVal.Equal(valDeci) {
+				err = ModifyEdbDataById(edbInfo.Source, edbInfo.SubSource, existData.EdbDataId, valDeci.String())
 				if err != nil {
 					return
 				}
@@ -624,7 +550,7 @@ func refreshAllCalculateNhcc(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 			//如果拼接指标变更了,那么需要删除所有的指标数据
 			tableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 			sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (`+utils.GetOrmInReplace(removeNum)+`) `, tableName)
-			_, err = to.Raw(sql, edbInfo.EdbInfoId, removeDateList).Exec()
+			err = to.Exec(sql, edbInfo.EdbInfoId, removeDateList).Error
 			if err != nil {
 				err = fmt.Errorf("删除不存在的拟合残差指标数据失败,Err:" + err.Error())
 				return
@@ -640,7 +566,7 @@ func refreshAllCalculateNhcc(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
 				}
@@ -650,7 +576,7 @@ func refreshAllCalculateNhcc(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
 			}
@@ -698,14 +624,12 @@ func CalculateComputeCorrelation(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo
 		}
 	}
 
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("RefreshAllCalculateNhcc,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	// 获取相关数据
@@ -746,7 +670,7 @@ func CalculateComputeCorrelation(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo
 }
 
 // getNhccData 获取拟合残差需要的数据
-func getNhccData(to orm.TxOrmer, existItemA, existItemB *EdbInfoCalculateMapping, nhccDate NhccDate) (aDataList []EdbInfoSearchData, secondDataList []*EdbInfoSearchData, aDataMap, bDataMap map[string]float64, newNhccDate NhccDate, err error, errMsg string) {
+func getNhccData(to *gorm.DB, existItemA, existItemB *EdbInfoCalculateMapping, nhccDate NhccDate) (aDataList []EdbInfoSearchData, secondDataList []*EdbInfoSearchData, aDataMap, bDataMap map[string]float64, newNhccDate NhccDate, err error, errMsg string) {
 	newNhccDate = nhccDate
 	//第一个指标
 	aDataList = make([]EdbInfoSearchData, 0)

+ 23 - 31
models/edb_data_calculate_nszydbpjjs.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,14 +14,12 @@ import (
 
 // AddCalculateNszydpjjs N数值移动平均计算
 func AddCalculateNszydpjjs(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, edbCode, uniqueCode string, sysUserId int, sysUserRealName string, formulaInt int) (edbInfo *EdbInfo, err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("AddCalculateNszydpjjs,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -43,12 +42,11 @@ func AddCalculateNszydpjjs(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 		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)
 
 		//关联关系
 		{
@@ -67,7 +65,7 @@ func AddCalculateNszydpjjs(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 			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
 			}
@@ -80,7 +78,7 @@ func AddCalculateNszydpjjs(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_NSZYDPJJS, 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
 		}
@@ -93,14 +91,12 @@ func AddCalculateNszydpjjs(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbIn
 
 // EditCalculateNszydpjjs 修改N数值移动平均计算
 func EditCalculateNszydpjjs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEdbInfo *EdbInfo, formulaInt int, oldCalculateFormula string) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("EditCalculateNszydpjjs,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -114,7 +110,7 @@ func EditCalculateNszydpjjs(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", "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
 	}
@@ -126,7 +122,7 @@ func EditCalculateNszydpjjs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 
 	//判断计算指标是否被更换
 	count, err := GetEdbInfoCalculateCountByCondition(existCondition, existPars)
-	if err != nil && !utils.IsErrNoRow(err) {
+	if err != nil && err.Error() != utils.ErrNoRow() {
 		err = errors.New("判断指标是否改变失败,Err:" + err.Error())
 		return
 	}
@@ -140,7 +136,7 @@ func EditCalculateNszydpjjs(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 {
 			return
 		}
@@ -164,7 +160,7 @@ func EditCalculateNszydpjjs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 				ModifyTime:                time.Now(),
 				FromSubSource:             fromEdbInfo.SubSource,
 			}
-			_, err = to.Insert(calculateMappingItem)
+			err = to.Create(calculateMappingItem).Error
 			if err != nil {
 				return
 			}
@@ -172,7 +168,7 @@ func EditCalculateNszydpjjs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 	}
 	//清空原有数据
 	sql := ` DELETE FROM edb_data_calculate_nszydpjjs WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -185,15 +181,12 @@ func EditCalculateNszydpjjs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 
 // RefreshAllCalculateNszydpjjs 刷新全部N数值移动平均计算
 func RefreshAllCalculateNszydpjjs(edbInfoId, source, subSource, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("RefreshCalculateNszydpjjs Err:" + err.Error())
-			utils.FileLog.Info("RefreshCalculateNszydpjjs Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -203,7 +196,7 @@ func RefreshAllCalculateNszydpjjs(edbInfoId, source, subSource, formulaInt int,
 }
 
 // refreshAllCalculateNszydpjjs 更新全部N数值移动平均计算
-func refreshAllCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, subSource, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
+func refreshAllCalculateNszydpjjs(to *gorm.DB, edbInfoId, source, subSource, formulaInt int, fromEdbInfo *EdbInfo, edbCode, startDate string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	fmt.Println(edbInfoIdStr)
 	fmt.Println("refreshAllCalculateNszydpjjs startDate:", startDate)
@@ -235,7 +228,6 @@ func refreshAllCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, subSource,
 		return err
 	}
 	//fmt.Println("fromPars:", fromPars)
-	//fromDataList, err := GetEdbDataListAllV1ByTo(to, fromCondition, fromPars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
 
 	var fromDateArr []string
 	fromDataMap := make(map[string]*EdbInfoSearchData)
@@ -306,7 +298,7 @@ func refreshAllCalculateNszydpjjs(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, av).Exec()
+				err = to.Exec(sql, valStr, edbInfoId, av).Error
 				if err != nil {
 					return err
 				}
@@ -323,7 +315,7 @@ func refreshAllCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, subSource,
 		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, edbInfoId, removeDateList).Exec()
+			err = to.Exec(sql, edbInfoId, removeDateList).Error
 			if err != nil {
 				err = fmt.Errorf("删除不存在的指标数据失败,Err:" + err.Error())
 				return
@@ -334,7 +326,7 @@ func refreshAllCalculateNszydpjjs(to orm.TxOrmer, edbInfoId, source, subSource,
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
 		utils.FileLog.Info("addSql:" + addSql)
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			return err
 		}

+ 24 - 42
models/edb_data_calculate_percentile.go

@@ -3,10 +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"
+	"gorm.io/gorm"
 	"reflect"
 	"strconv"
 	"strings"
@@ -22,17 +23,12 @@ func (obj Percentile) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err
 	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()
 		}
 	}()
 
@@ -55,12 +51,11 @@ func (obj Percentile) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err
 	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)
 
 	//关联关系
 	{
@@ -79,7 +74,7 @@ func (obj Percentile) Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err
 		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
 		}
@@ -97,17 +92,12 @@ func (obj Percentile) Edit(params EditCalculateBatchParams) (err error, errMsg s
 	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)
@@ -124,7 +114,7 @@ func (obj Percentile) Edit(params EditCalculateBatchParams) (err error, errMsg s
 	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
 	}
@@ -150,14 +140,14 @@ func (obj Percentile) Edit(params EditCalculateBatchParams) (err error, errMsg s
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
 	}
@@ -181,7 +171,7 @@ func (obj Percentile) Edit(params EditCalculateBatchParams) (err error, errMsg s
 			ModifyTime:                time.Now(),
 			FromSubSource:             fromEdbInfo.SubSource,
 		}
-		_, err = to.Insert(calculateMappingItem)
+		err = to.Create(calculateMappingItem).Error
 		if err != nil {
 			return
 		}
@@ -206,17 +196,12 @@ func (obj Percentile) Refresh(params RefreshParams) (err error, errMsg string) {
 		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()
 		}
 	}()
 
@@ -249,7 +234,7 @@ type PercentileConfig struct {
 }
 
 // refresh 刷新
-func (obj Percentile) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edbCode string) (err error, errMsg string) {
+func (obj Percentile) refresh(to *gorm.DB, edbInfo, fromEdbInfo *EdbInfo, edbCode string) (err error, errMsg string) {
 	edbInfoId := edbInfo.EdbInfoId
 	dataTableName := GetEdbDataTableName(edbInfo.Source, edbInfo.SubSource)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
@@ -267,10 +252,7 @@ func (obj Percentile) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edb
 	}
 
 	//获取指标所有数据
-	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
 	}
@@ -303,7 +285,7 @@ func (obj Percentile) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edb
 			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
 				}
@@ -331,7 +313,7 @@ func (obj Percentile) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edb
 		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())
@@ -342,7 +324,7 @@ func (obj Percentile) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edb
 
 	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
@@ -352,7 +334,7 @@ func (obj Percentile) refresh(to orm.TxOrmer, edbInfo, fromEdbInfo *EdbInfo, edb
 	return
 }
 
-func (obj Percentile) calculate(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, addSql string, val float64, dataMap, existDataMap map[string]string, to orm.TxOrmer) (newSql string, isAdd bool, err error) {
+func (obj Percentile) calculate(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, addSql string, val float64, dataMap, existDataMap map[string]string, to *gorm.DB) (newSql string, isAdd bool, err error) {
 	newSql = addSql
 	saveValue := utils.SubFloatToString(val, 4)
 	//判断数据是否存在
@@ -369,7 +351,7 @@ func (obj Percentile) calculate(edbInfoId int, date, edbInfoIdStr, edbCode, data
 		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, date).Exec()
+			err = to.Exec(sql, saveValue, edbInfoId, date).Error
 		}
 	}
 	return

+ 23 - 45
models/edb_data_calculate_phase_shift.go

@@ -2,9 +2,10 @@ 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"
 	"strconv"
 	"strings"
 	"time"
@@ -12,18 +13,12 @@ import (
 
 // AddCalculatePhaseShift 期数移位
 func AddCalculatePhaseShift(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("AddCalculatePhaseShift,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -68,12 +63,11 @@ func AddCalculatePhaseShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbI
 		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)
@@ -91,7 +85,7 @@ func AddCalculatePhaseShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbI
 			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
 			}
@@ -105,7 +99,7 @@ func AddCalculatePhaseShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbI
 		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
 		}
@@ -121,18 +115,12 @@ func AddCalculatePhaseShift(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbI
 
 // EditCalculatePhaseShift 修改期数移位
 func EditCalculatePhaseShift(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("EditCalculatePhaseShift,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -165,7 +153,7 @@ func EditCalculatePhaseShift(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
 	}
@@ -187,7 +175,7 @@ func EditCalculatePhaseShift(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
@@ -211,7 +199,7 @@ func EditCalculatePhaseShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq
 					ModifyTime:                time.Now(),
 					FromSubSource:             fromEdbInfo.SubSource,
 				}
-				_, err = to.Insert(calculateMappingItem)
+				err = to.Create(calculateMappingItem).Error
 				if err != nil {
 					return
 				}
@@ -220,7 +208,7 @@ func EditCalculatePhaseShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq
 
 		//清空原有数据
 		sql := ` DELETE FROM edb_data_calculate_phase_shift WHERE edb_info_id = ? `
-		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		err = to.Exec(sql, edbInfo.EdbInfoId).Error
 		if err != nil {
 			return
 		}
@@ -234,23 +222,18 @@ func EditCalculatePhaseShift(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq
 
 // RefreshAllCalculatePhaseShift 刷新所有时间移位数据
 func RefreshAllCalculatePhaseShift(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("RefreshAllCalculatePhaseShift,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
 	//清空原有数据
 	sql := ` DELETE FROM edb_data_calculate_phase_shift WHERE edb_info_id = ? `
-	_, err = to.Raw(sql, edbInfoId).Exec()
+	err = to.Exec(sql, edbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -262,7 +245,7 @@ func RefreshAllCalculatePhaseShift(edbInfoId, source, subSource, formulaInt, mov
 }
 
 // refreshAllCalculatePhaseShift 刷新所有时间移位数据
-func refreshAllCalculatePhaseShift(to orm.TxOrmer, edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
+func refreshAllCalculatePhaseShift(to *gorm.DB, edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 
 	//计算数据
@@ -282,14 +265,9 @@ func refreshAllCalculatePhaseShift(to orm.TxOrmer, edbInfoId, source, subSource,
 	}
 	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
+		return
 	}
 
 	existDataMap := make(map[string]string)
@@ -369,7 +347,7 @@ func refreshAllCalculatePhaseShift(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
 		}

+ 37 - 42
models/edb_data_calculate_qjjs.go

@@ -3,10 +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"
+	"gorm.io/gorm"
 	"math"
 	"strconv"
 	"strings"
@@ -86,18 +87,12 @@ func (obj CalculateRangeAnalysis) Add(params AddCalculateBatchParams) (edbInfo *
 	uniqueCode := params.UniqueCode
 	sysUserId := params.SysUserId
 	sysUserRealName := params.SysUserRealName
-	//req *EdbInfoCalculateBatchSaveReq, edbCode, uniqueCode string, sysUserId int, sysUserRealName string
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("AddCalculateRangeAnalysis,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId > 0 {
@@ -123,12 +118,11 @@ func (obj CalculateRangeAnalysis) Add(params AddCalculateBatchParams) (edbInfo *
 	edbInfo.EdbNameEn = req.EdbName
 	edbInfo.UnitEn = req.Unit
 	edbInfo.EdbType = obj.GetEdbType()
-	newEdbInfoId, tmpErr := to.Insert(edbInfo)
+	tmpErr := to.Create(edbInfo).Error
 	if tmpErr != nil {
 		err = tmpErr
 		return
 	}
-	edbInfo.EdbInfoId = int(newEdbInfoId)
 
 	//关联关系
 	fromEdbInfo, e := GetEdbInfoById(req.FromEdbInfoId)
@@ -153,7 +147,7 @@ func (obj CalculateRangeAnalysis) Add(params AddCalculateBatchParams) (edbInfo *
 	calculateMappingItem.SourceName = edbInfo.SourceName
 	calculateMappingItem.FromSubSource = edbInfo.SubSource
 
-	_, err = to.Insert(calculateMappingItem)
+	err = to.Create(calculateMappingItem).Error
 	if err != nil {
 		return
 	}
@@ -167,17 +161,12 @@ func (obj CalculateRangeAnalysis) Add(params AddCalculateBatchParams) (edbInfo *
 func (obj CalculateRangeAnalysis) Edit(params EditCalculateBatchParams) (err error, errMsg string) {
 	edbInfo := params.EdbInfo
 	req := params.Req
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("EditCalculateRangeAnalysis,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -191,14 +180,14 @@ func (obj CalculateRangeAnalysis) Edit(params EditCalculateBatchParams) (err err
 	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
 	}
 
 	//删除,计算指标关联的,基础指标的关联关系
 	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
@@ -206,7 +195,7 @@ func (obj CalculateRangeAnalysis) Edit(params EditCalculateBatchParams) (err err
 	//清空原有数据
 	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
 	}
@@ -233,7 +222,7 @@ func (obj CalculateRangeAnalysis) Edit(params EditCalculateBatchParams) (err err
 	calculateMappingItem.SourceName = edbInfo.SourceName
 	calculateMappingItem.FromSubSource = edbInfo.SubSource
 
-	_, err = to.Insert(calculateMappingItem)
+	err = to.Create(calculateMappingItem).Error
 	if err != nil {
 		return
 	}
@@ -262,17 +251,12 @@ func (obj CalculateRangeAnalysis) Refresh(params RefreshParams) (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 {
-			fmt.Println("RefreshAllCalculateRangeAnalysis,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -282,7 +266,7 @@ func (obj CalculateRangeAnalysis) Refresh(params RefreshParams) (err error, errM
 	return
 }
 
-func (obj CalculateRangeAnalysis) refresh(to orm.TxOrmer, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, calculateFormula string) (err error, errMsg string) {
+func (obj CalculateRangeAnalysis) refresh(to *gorm.DB, edbInfoId, source, subSource int, fromEdbInfo *EdbInfo, edbCode, calculateFormula string) (err error, errMsg string) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	tableName := GetEdbDataTableName(obj.GetSource(), utils.DATA_SUB_SOURCE_EDB)
 
@@ -350,7 +334,7 @@ func (obj CalculateRangeAnalysis) refresh(to orm.TxOrmer, edbInfoId, source, sub
 
 		if isAdd {
 			addSql = strings.TrimRight(addSql, ",")
-			_, err = to.Raw(addSql).Exec()
+			err = to.Exec(addSql).Error
 		}
 
 		// 移除不存在的日期数据
@@ -359,10 +343,10 @@ func (obj CalculateRangeAnalysis) refresh(to orm.TxOrmer, edbInfoId, source, sub
 			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
@@ -375,7 +359,11 @@ func (obj CalculateRangeAnalysis) refresh(to orm.TxOrmer, edbInfoId, source, sub
 
 // GetAutoCalculateDateDataList 获取当前时间相关的区间作为计算依据
 func GetAutoCalculateDateDataList(currentDate string, dataList []*EdbInfoSearchData, req RangeAnalysisCalculateFormula) (newDataList []*EdbInfoSearchData, err error) {
-	currentDateTime, _ := time.ParseInLocation(utils.FormatDate, currentDate, time.Local)
+	currentDateTime, err := time.ParseInLocation(utils.FormatDate, currentDate, time.Local)
+	if err != nil {
+		err = fmt.Errorf("获取当前时间失败:%s", err.Error())
+		return
+	}
 	switch req.DateRangeType {
 	case 0:
 		// 智能划分得到一个开始日期,和结束日期
@@ -730,9 +718,16 @@ func HandleRangeAnalysisDataByCalculateType(originList []*ChartRangeAnalysisDate
 // GetRangeAnalysisChartDataByEdbInfo 区间计算
 func GetRangeAnalysisChartDataByEdbInfo(fromEdbInfo *EdbInfo, calculateFormula RangeAnalysisCalculateFormula) (newDataList []*EdbInfoSearchData, err error) {
 	// 指标的开始日期和结束日期
-	edbStartDateTime, _ := time.ParseInLocation(utils.FormatDate, fromEdbInfo.StartDate, time.Local)
-	//edbStartDate := edbStartDateTime.AddDate(0, 0, 1).Format(utils.FormatDate)
-	edbEndDateTime, _ := time.ParseInLocation(utils.FormatDate, fromEdbInfo.EndDate, time.Local)
+	edbStartDateTime, err := time.ParseInLocation(utils.FormatDate, fromEdbInfo.StartDate, time.Local)
+	if err != nil {
+		err = fmt.Errorf("指标开始日期解析失败:%s", err.Error())
+		return
+	}
+	edbEndDateTime, err := time.ParseInLocation(utils.FormatDate, fromEdbInfo.EndDate, time.Local)
+	if err != nil {
+		err = fmt.Errorf("指标结束日期解析失败:%s", err.Error())
+		return
+	}
 	edbEndDate := edbEndDateTime.Format(utils.FormatDate)
 
 	// 获取时间基准指标在时间区间内的值

+ 25 - 43
models/edb_data_calculate_rjz.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 (
 
 // AddCalculateRjz 日均值
 func AddCalculateRjz(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("AddCalculateRjz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 	if req.EdbInfoId <= 0 {
@@ -46,12 +42,11 @@ func AddCalculateRjz(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 AddCalculateRjz(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 AddCalculateRjz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_RJZ, 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 AddCalculateRjz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 
 // EditCalculateRjz 日均值
 func EditCalculateRjz(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("EditCalculateRjz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -121,7 +111,7 @@ func EditCalculateRjz(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 EditCalculateRjz(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_rjz 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 EditCalculateRjz(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 EditCalculateRjz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 
 // RefreshAllCalculateRjz 刷新所有日均值数据
 func RefreshAllCalculateRjz(edbInfoId, source 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("RefreshAllCalculateRjz,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -206,7 +191,7 @@ func RefreshAllCalculateRjz(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode
 }
 
 // refreshAllCalculateRjz
-func refreshAllCalculateRjz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
+func refreshAllCalculateRjz(to *gorm.DB, edbInfoId, source int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate string) (err error) {
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
@@ -225,13 +210,10 @@ func refreshAllCalculateRjz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 		dataMap[v.DataTime] = v
 	}
 	fmt.Println("source:", source)
-	//获取指标所有数据
-	existDataList := make([]*EdbData, 0)
 	dataTableName := GetEdbDataTableName(source, utils.DATA_SUB_SOURCE_EDB)
-	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, 0)
 	if err != nil {
 		return err
 	}
@@ -272,7 +254,7 @@ func refreshAllCalculateRjz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 				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
 					}
@@ -292,7 +274,7 @@ func refreshAllCalculateRjz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 		tableName := GetEdbDataTableName(source, utils.DATA_SUB_SOURCE_EDB)
 		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
@@ -301,7 +283,7 @@ func refreshAllCalculateRjz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			return err
 		}