Browse Source

Merge branch 'dm' of http://8.136.199.33:3000/eta_gn_server/eta_api into dm

chenhan 6 months ago
parent
commit
1715435b9e

+ 98 - 29
models/data_manage/gl_data.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
@@ -11,9 +11,12 @@ type GlClassify struct {
 }
 
 func GetGlSurveyClassify() (items []*GlClassify, err error) {
+	//sql := ` SELECT CASE WHEN BREED_SHORT_NAME IS NULL THEN '无' ELSE BREED_SHORT_NAME END BREED_SHORT_NAME  FROM mb_index_main_info GROUP BY BREED_SHORT_NAME ORDER BY BREED_SHORT_NAME ASC `
+	//o := orm.NewOrmUsingDB("gl")
+	//o.Raw(sql).QueryRows(&items)
+
 	sql := ` SELECT CASE WHEN BREED_SHORT_NAME IS NULL THEN '无' ELSE BREED_SHORT_NAME END BREED_SHORT_NAME  FROM mb_index_main_info GROUP BY BREED_SHORT_NAME ORDER BY BREED_SHORT_NAME ASC `
-	o := orm.NewOrmUsingDB("gl")
-	o.Raw(sql).QueryRows(&items)
+	err = global.DmSQL["gl"].Raw(sql).Find(&items).Error
 	return
 }
 
@@ -22,14 +25,27 @@ type GlFrequency struct {
 }
 
 func GetGlFrequencyByClassifyId(breedShortName string) (items []*GlFrequency, err error) {
-	o := orm.NewOrmUsingDB("gl")
+	//o := orm.NewOrmUsingDB("gl")
+	//if breedShortName == "无" {
+	//	sql := ` SELECT FREQUENCY_NAME AS frequency FROM mb_index_main_info WHERE BREED_SHORT_NAME IS NULL GROUP BY FREQUENCY_CODE ORDER BY FREQUENCY_CODE ASC `
+	//	_, err = o.Raw(sql).QueryRows(&items)
+	//	return
+	//} else {
+	//	sql := ` SELECT FREQUENCY_NAME AS frequency FROM mb_index_main_info WHERE BREED_SHORT_NAME=? GROUP BY FREQUENCY_CODE ORDER BY FREQUENCY_CODE ASC `
+	//	_, err = o.Raw(sql, breedShortName).QueryRows(&items)
+	//	return
+	//}
+
 	if breedShortName == "无" {
 		sql := ` SELECT FREQUENCY_NAME AS frequency FROM mb_index_main_info WHERE BREED_SHORT_NAME IS NULL GROUP BY FREQUENCY_CODE ORDER BY FREQUENCY_CODE ASC `
-		_, err = o.Raw(sql).QueryRows(&items)
+		err = global.DmSQL["gl"].Raw(sql).Find(&items).Error
 		return
 	} else {
+		//sql := ` SELECT FREQUENCY_NAME AS frequency FROM mb_index_main_info WHERE BREED_SHORT_NAME=? GROUP BY FREQUENCY_CODE ORDER BY FREQUENCY_CODE ASC `
+		//_, err = o.Raw(sql, breedShortName).QueryRows(&items)
+
 		sql := ` SELECT FREQUENCY_NAME AS frequency FROM mb_index_main_info WHERE BREED_SHORT_NAME=? GROUP BY FREQUENCY_CODE ORDER BY FREQUENCY_CODE ASC `
-		_, err = o.Raw(sql, breedShortName).QueryRows(&items)
+		err = global.DmSQL["gl"].Raw(sql, breedShortName).Find(&items).Error
 		return
 	}
 }
@@ -44,22 +60,35 @@ type GlIndex struct {
 }
 
 func GetGlIndex(breedShortName, frequency string) (items []*GlIndex, err error) {
-	o := orm.NewOrmUsingDB("gl")
+	//o := orm.NewOrmUsingDB("gl")
+	//if breedShortName == "无" {
+	//	sql := ` SELECT * FROM mb_index_main_info WHERE BREED_SHORT_NAME IS NULL AND FREQUENCY_NAME=? ORDER BY INDEX_CODE ASC `
+	//	_, err = o.Raw(sql, frequency).QueryRows(&items)
+	//	return
+	//} else {
+	//	sql := ` SELECT * FROM mb_index_main_info WHERE BREED_SHORT_NAME=? AND FREQUENCY_NAME=? ORDER BY INDEX_CODE ASC `
+	//	_, err = o.Raw(sql, breedShortName, frequency).QueryRows(&items)
+	//	return
+	//}
+
 	if breedShortName == "无" {
 		sql := ` SELECT * FROM mb_index_main_info WHERE BREED_SHORT_NAME IS NULL AND FREQUENCY_NAME=? ORDER BY INDEX_CODE ASC `
-		_, err = o.Raw(sql, frequency).QueryRows(&items)
+		err = global.DmSQL["gl"].Raw(sql, frequency).Find(&items).Error
 		return
 	} else {
 		sql := ` SELECT * FROM mb_index_main_info WHERE BREED_SHORT_NAME=? AND FREQUENCY_NAME=? ORDER BY INDEX_CODE ASC `
-		_, err = o.Raw(sql, breedShortName, frequency).QueryRows(&items)
+		err = global.DmSQL["gl"].Raw(sql, breedShortName, frequency).Find(&items).Error
 		return
 	}
 }
 
 func GetGlFrequency(productName string) (items []*string, err error) {
+	//sql := `SELECT DISTINCT FREQUENCY_NAME FROM mb_index_main_info WHERE BREED_SHORT_NAME=? ORDER BY FIELD(FREQUENCY_NAME,'日度','周度','旬度','月度','季度','半年','年度') `
+	//o := orm.NewOrmUsingDB("gl")
+	//_, err = o.Raw(sql, productName).QueryRows(&items)
+
 	sql := `SELECT DISTINCT FREQUENCY_NAME FROM mb_index_main_info WHERE BREED_SHORT_NAME=? ORDER BY FIELD(FREQUENCY_NAME,'日度','周度','旬度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("gl")
-	_, err = o.Raw(sql, productName).QueryRows(&items)
+	err = global.DmSQL["gl"].Raw(sql, productName).Find(&items).Error
 	return
 }
 
@@ -81,35 +110,56 @@ type GlIndexData struct {
 
 func GetGlIndexData(indexCode string, startSize, pageSize int) (items []*GlIndexData, err error) {
 	//sql := ` SELECT *  FROM mb_index_main_data WHERE INDEX_CODE=? ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC LIMIT ?,?`
+	//sql := ` SELECT * FROM (
+	//SELECT DISTINCT a.INDEX_CODE,a.DATA_VALUE,a.DATA_DATE FROM mb_index_main_data AS a WHERE INDEX_CODE=? AND IS_DELETE=0
+	//ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC
+	//)AS t
+	//GROUP BY t.DATA_DATE
+	//ORDER BY t.DATA_DATE DESC LIMIT ?,? `
+	//o := orm.NewOrmUsingDB("gl")
+	//_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+
 	sql := ` SELECT * FROM (
 	SELECT DISTINCT a.INDEX_CODE,a.DATA_VALUE,a.DATA_DATE FROM mb_index_main_data AS a WHERE INDEX_CODE=? AND IS_DELETE=0
 	ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC 
 	)AS t
 	GROUP BY t.DATA_DATE
 	ORDER BY t.DATA_DATE DESC LIMIT ?,? `
-	o := orm.NewOrmUsingDB("gl")
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = global.DmSQL["gl"].Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
 func GetGlIndexByCode(indexCode string) (items *GlIndex, err error) {
+	//sql := ` SELECT *  FROM mb_index_main_info WHERE INDEX_CODE=? `
+	//o := orm.NewOrmUsingDB("gl")
+	//err = o.Raw(sql, indexCode).QueryRow(&items)
+
 	sql := ` SELECT *  FROM mb_index_main_info WHERE INDEX_CODE=? `
-	o := orm.NewOrmUsingDB("gl")
-	err = o.Raw(sql, indexCode).QueryRow(&items)
+	err = global.DmSQL["gl"].Raw(sql, indexCode).First(&items).Error
 	return
 }
 
 func GetGlIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("gl")
+	//o := orm.NewOrmUsingDB("gl")
+	//sql := `SELECT COUNT(1) AS count FROM (
+	//		SELECT * FROM (
+	//			SELECT DISTINCT a.INDEX_CODE,a.DATA_VALUE,a.DATA_DATE FROM mb_index_main_data AS a WHERE INDEX_CODE=? AND IS_DELETE=0
+	//			ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC
+	//			)AS t
+	//			GROUP BY t.DATA_DATE
+	//			ORDER BY t.DATA_DATE DESC
+	//		)AS n `
+	//err = o.Raw(sql, indexCode).QueryRow(&count)
+
 	sql := `SELECT COUNT(1) AS count FROM (
 			SELECT * FROM (
 				SELECT DISTINCT a.INDEX_CODE,a.DATA_VALUE,a.DATA_DATE FROM mb_index_main_data AS a WHERE INDEX_CODE=? AND IS_DELETE=0
-				ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC 
+				ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC
 				)AS t
 				GROUP BY t.DATA_DATE
 				ORDER BY t.DATA_DATE DESC
 			)AS n `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = global.DmSQL["gl"].Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
@@ -125,33 +175,52 @@ type GlSearchIndex struct {
 
 // GetGlItemList 模糊查询隆众数据库指标列表
 func GetGlItemList(keyword string) (items []*GlSearchIndex, err error) {
-	o := orm.NewOrmUsingDB("gl")
+	//o := orm.NewOrmUsingDB("gl")
+	//sql := "SELECT * FROM mb_index_main_info WHERE CONCAT(INDEX_NAME,INDEX_CODE) LIKE ? "
+	//_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+
 	sql := "SELECT * FROM mb_index_main_info WHERE CONCAT(INDEX_NAME,INDEX_CODE) LIKE ? "
-	_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+	err = global.DmSQL["gl"].Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
 	return
 
 }
 
 func GetGlDataMaxCount(classifyName string) (count int, err error) {
-	o := orm.NewOrmUsingDB("gl")
+	//o := orm.NewOrmUsingDB("gl")
+	//sql := `SELECT MAX(t.num) AS count FROM (
+	//			SELECT COUNT(1) AS num  FROM mb_index_main_info AS a
+	//			INNER JOIN mb_index_main_data AS b ON a.INDEX_CODE=b.INDEX_CODE
+	//			WHERE a.BREED_SHORT_NAME=?
+	//			GROUP BY a.INDEX_CODE
+	//		)AS t `
+	//err = o.Raw(sql, classifyName).QueryRow(&count)
+
 	sql := `SELECT MAX(t.num) AS count FROM (
 				SELECT COUNT(1) AS num  FROM mb_index_main_info AS a
 				INNER JOIN mb_index_main_data AS b ON a.INDEX_CODE=b.INDEX_CODE
 				WHERE a.BREED_SHORT_NAME=?
 				GROUP BY a.INDEX_CODE
 			)AS t `
-	err = o.Raw(sql, classifyName).QueryRow(&count)
+	err = global.DmSQL["gl"].Raw(sql, classifyName).Scan(&count).Error
 	return
 }
 
 func GetGlDataByCode(indexCode string) (items []*GlIndexData, err error) {
-	o := orm.NewOrmUsingDB("gl")
+	//	o := orm.NewOrmUsingDB("gl")
+	//	sql := `SELECT
+	//	*
+	//FROM
+	//	( SELECT * FROM mb_index_main_data WHERE INDEX_CODE = ? GROUP BY UPDATE_TIME DESC, DATA_DATE DESC ) a
+	//GROUP BY
+	//	a.DATA_DATE DESC `
+	//	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+
 	sql := `SELECT
-	* 
-FROM
-	( SELECT * FROM mb_index_main_data WHERE INDEX_CODE = ? GROUP BY UPDATE_TIME DESC, DATA_DATE DESC ) a 
-GROUP BY
-	a.DATA_DATE DESC `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+		* 
+	FROM
+		( SELECT * FROM mb_index_main_data WHERE INDEX_CODE = ? GROUP BY UPDATE_TIME DESC, DATA_DATE DESC ) a 
+	GROUP BY
+		a.DATA_DATE DESC `
+	err = global.DmSQL["gl"].Raw(sql, indexCode).Find(&items).Error
 	return
 }

+ 26 - 11
models/data_manage/lz_data.go

@@ -1,7 +1,7 @@
 package data_manage
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta_gn/eta_api/global"
 	"time"
 )
 
@@ -11,9 +11,12 @@ type LzClassify struct {
 }
 
 func GetLzSurveyClassify() (items []*LzClassify, err error) {
+	//sql := ` SELECT breed_id,breed_name FROM longzhong_survey_product GROUP BY breed_name ORDER BY breed_name DESC `
+	//o := orm.NewOrmUsingDB("edb")
+	//o.Raw(sql).QueryRows(&items)
+
 	sql := ` SELECT breed_id,breed_name FROM longzhong_survey_product GROUP BY breed_name ORDER BY breed_name DESC `
-	o := orm.NewOrmUsingDB("edb")
-	o.Raw(sql).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql).Find(&items).Error
 	return
 }
 
@@ -22,9 +25,12 @@ type LzFrequency struct {
 }
 
 func GetLzFrequencyByClassifyId(breedId int) (items []*LzFrequency, err error) {
+	//sql := ` SELECT frequency  FROM longzhong_survey_product WHERE breed_id=? GROUP BY frequency ORDER BY frequency ASC `
+	//o := orm.NewOrmUsingDB("edb")
+	//_, err = o.Raw(sql, breedId).QueryRows(&items)
+
 	sql := ` SELECT frequency  FROM longzhong_survey_product WHERE breed_id=? GROUP BY frequency ORDER BY frequency ASC `
-	o := orm.NewOrmUsingDB("edb")
-	_, err = o.Raw(sql, breedId).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, breedId).Find(&items).Error
 	return
 }
 
@@ -60,9 +66,12 @@ type LongzhongSurveyProduct struct {
 }
 
 func GetLongzhongSurveyProduct(breedId, frequency int) (items []*LongzhongSurveyProduct, err error) {
+	//sql := ` SELECT *  FROM longzhong_survey_product WHERE breed_id=? AND frequency=? ORDER BY survey_product_id ASC `
+	//o := orm.NewOrmUsingDB("edb")
+	//_, err = o.Raw(sql, breedId, frequency).QueryRows(&items)
+
 	sql := ` SELECT *  FROM longzhong_survey_product WHERE breed_id=? AND frequency=? ORDER BY survey_product_id ASC `
-	o := orm.NewOrmUsingDB("edb")
-	_, err = o.Raw(sql, breedId, frequency).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, breedId, frequency).Find(&items).Error
 	return
 }
 
@@ -89,15 +98,21 @@ type LzProductData struct {
 }
 
 func GetLongzhongSurveyProductData(surveyProductId int) (items []*LzProductData, err error) {
+	//sql := ` SELECT *  FROM longzhong_survey_data WHERE survey_product_id=? ORDER BY data_time DESC `
+	//o := orm.NewOrmUsingDB("edb")
+	//_, err = o.Raw(sql, surveyProductId).QueryRows(&items)
+
 	sql := ` SELECT *  FROM longzhong_survey_data WHERE survey_product_id=? ORDER BY data_time DESC `
-	o := orm.NewOrmUsingDB("edb")
-	_, err = o.Raw(sql, surveyProductId).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, surveyProductId).Find(&items).Error
 	return
 }
 
 func GetLongzhongSurveyProductByCode(lzCode string) (items *LongzhongSurveyProduct, err error) {
+	//sql := ` SELECT *  FROM longzhong_survey_product WHERE lz_code=? `
+	//o := orm.NewOrmUsingDB("edb")
+	//err = o.Raw(sql, lzCode).QueryRow(&items)
+
 	sql := ` SELECT *  FROM longzhong_survey_product WHERE lz_code=? `
-	o := orm.NewOrmUsingDB("edb")
-	err = o.Raw(sql, lzCode).QueryRow(&items)
+	err = global.DmSQL["data"].Raw(sql, lzCode).First(&items).Error
 	return
 }

+ 18 - 5
models/data_manage/manual.go

@@ -1,6 +1,8 @@
 package data_manage
 
-import "github.com/beego/beego/v2/client/orm"
+import (
+	"eta_gn/eta_api/global"
+)
 
 type ManualSysUser struct {
 	ItemId   int    `description:"部门/组/用户 id"`
@@ -14,21 +16,32 @@ type ManualClassifyEdbInfoCount struct {
 }
 
 func GetManualClassifyEdbInfoCount() (items []*ManualClassifyEdbInfoCount, err error) {
+	//sql := ` SELECT a.classify_id,COUNT(1) AS total FROM edbdata_classify AS a
+	//		INNER JOIN edbinfo AS b ON a.classify_id=b.classify_id
+	//		WHERE a.is_show=1
+	//		GROUP BY a.classify_id `
+	//o := orm.NewOrmUsingDB("edb")
+	//_, err = o.Raw(sql).QueryRows(&items)
+
 	sql := ` SELECT a.classify_id,COUNT(1) AS total FROM edbdata_classify AS a
 			INNER JOIN edbinfo AS b ON a.classify_id=b.classify_id
 			WHERE a.is_show=1
 			GROUP BY a.classify_id `
-	o := orm.NewOrmUsingDB("edb")
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql).Find(&items).Error
 	return
 }
 
 // GetManualEdbInfoCountByClassifyId 根据手工指标分类id获取指标数
 func GetManualEdbInfoCountByClassifyId(classifyId int) (total int, err error) {
+	//sql := ` SELECT COUNT(1) AS total FROM edbdata_classify AS a
+	//		INNER JOIN edbinfo AS b ON a.classify_id=b.classify_id
+	//		WHERE a.is_show=1 AND b.classify_id = ?`
+	//o := orm.NewOrmUsingDB("edb")
+	//err = o.Raw(sql, classifyId).QueryRow(&total)
+
 	sql := ` SELECT COUNT(1) AS total FROM edbdata_classify AS a
 			INNER JOIN edbinfo AS b ON a.classify_id=b.classify_id
 			WHERE a.is_show=1 AND b.classify_id = ?`
-	o := orm.NewOrmUsingDB("edb")
-	err = o.Raw(sql, classifyId).QueryRow(&total)
+	err = global.DmSQL["data"].Raw(sql, classifyId).Scan(&total).Error
 	return
 }

+ 84 - 27
models/data_manage/manual_classify.go

@@ -1,7 +1,7 @@
 package data_manage
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta_gn/eta_api/global"
 	"time"
 )
 
@@ -25,8 +25,9 @@ type EdbdataClassifyList struct {
 }
 
 func AddEdbdataClassify(item *EdbdataClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("edb")
-	lastId, err = o.Insert(item)
+	//o := orm.NewOrmUsingDB("edb")
+	//lastId, err = o.Insert(item)
+	err = global.DmSQL["data"].Create(item).Error
 	return
 }
 
@@ -40,22 +41,36 @@ type ManualClassifyList struct {
 
 func GetManualClassifyAll(adminId int) (items []*ManualClassifyList, err error) {
 	var newItems []*ManualClassifyList
-	o := orm.NewOrmUsingDB("edb")
+	//o := orm.NewOrmUsingDB("edb")
+	//sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=0 AND is_show=1 ORDER BY sort ASC ,classify_id ASC `
+	//_, err = o.Raw(sql).QueryRows(&newItems)
+	//if err != nil {
+	//	return
+	//}
+
 	sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=0 AND is_show=1 ORDER BY sort ASC ,classify_id ASC `
-	_, err = o.Raw(sql).QueryRows(&newItems)
+	err = global.DmSQL["data"].Raw(sql).Find(&newItems).Error
 	if err != nil {
 		return
 	}
+
 	classifyLen := len(newItems)
 	for i := 0; i < classifyLen; i++ {
 		var childItems []*ManualClassifyList
 		parentId := newItems[i].ClassifyId
 		childSql := ``
+		//childSql = "SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=? AND is_show=1 ORDER BY sort ASC ,classify_id ASC "
+		//_, err = o.Raw(childSql, parentId).QueryRows(&childItems)
+		//if err != nil {
+		//	return
+		//}
+
 		childSql = "SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=? AND is_show=1 ORDER BY sort ASC ,classify_id ASC "
-		_, err = o.Raw(childSql, parentId).QueryRows(&childItems)
+		err = global.DmSQL["data"].Raw(childSql, parentId).Find(&childItems).Error
 		if err != nil {
 			return
 		}
+
 		checkList := make([]int, 0)
 		for _, v := range childItems {
 			if v.ParentId > 0 {
@@ -93,9 +108,15 @@ func GetManualClassifyAll(adminId int) (items []*ManualClassifyList, err error)
 
 func GetManualClassifyAllV2() (items []*ManualClassifyList, err error) {
 	var newItems []*ManualClassifyList
-	o := orm.NewOrmUsingDB("edb")
+	//o := orm.NewOrmUsingDB("edb")
+	//sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=0 AND is_show=1 ORDER BY sort ASC ,classify_id ASC `
+	//_, err = o.Raw(sql).QueryRows(&newItems)
+	//if err != nil {
+	//	return
+	//}
+
 	sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=0 AND is_show=1 ORDER BY sort ASC ,classify_id ASC `
-	_, err = o.Raw(sql).QueryRows(&newItems)
+	err = global.DmSQL["data"].Raw(sql).Find(&newItems).Error
 	if err != nil {
 		return
 	}
@@ -104,8 +125,14 @@ func GetManualClassifyAllV2() (items []*ManualClassifyList, err error) {
 		var childItems []*ManualClassifyList
 		parentId := newItems[i].ClassifyId
 		childSql := ``
+		//childSql = "SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=? AND is_show=1 ORDER BY sort ASC ,classify_id ASC "
+		//_, err = o.Raw(childSql, parentId).QueryRows(&childItems)
+		//if err != nil {
+		//	return
+		//}
+
 		childSql = "SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=? AND is_show=1 ORDER BY sort ASC ,classify_id ASC "
-		_, err = o.Raw(childSql, parentId).QueryRows(&childItems)
+		err = global.DmSQL["data"].Raw(childSql, parentId).Find(&childItems).Error
 		if err != nil {
 			return
 		}
@@ -123,24 +150,30 @@ type AddManualClassifyReq struct {
 	ParentId     int    `description:"父级id,第一级传0"`
 }
 
-func GetManualClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("edb")
-	sql := `SELECT COUNT(1) AS count FROM edbdata_classify WHERE parent_id=? AND classify_name=? `
-	err = o.Raw(sql, parentId, classifyName).QueryRow(&count)
-	return
-}
+//func GetManualClassifyCount(classifyName string, parentId int) (count int, err error) {
+//	o := orm.NewOrmUsingDB("edb")
+//	sql := `SELECT COUNT(1) AS count FROM edbdata_classify WHERE parent_id=? AND classify_name=? `
+//	err = o.Raw(sql, parentId, classifyName).QueryRow(&count)
+//	return
+//}
 
 func GetManualClassifyByClassifyName(classifyName string) (item *EdbdataClassify, err error) {
-	o := orm.NewOrmUsingDB("edb")
+	//o := orm.NewOrmUsingDB("edb")
+	//sql := `SELECT * FROM edbdata_classify WHERE classify_name=? `
+	//err = o.Raw(sql, classifyName).QueryRow(&item)
+
 	sql := `SELECT * FROM edbdata_classify WHERE classify_name=? `
-	err = o.Raw(sql, classifyName).QueryRow(&item)
+	err = global.DmSQL["data"].Raw(sql, classifyName).First(&item).Error
 	return
 }
 
 func ModifyManualClassifyIsShow(isShow, classifyId, parentId int) (err error) {
-	o := orm.NewOrmUsingDB("edb")
+	//o := orm.NewOrmUsingDB("edb")
+	//sql := `UPDATE edbdata_classify SET is_show=?,parent_id=? WHERE classify_id=? `
+	//_, err = o.Raw(sql, isShow, parentId, classifyId).Exec()
+
 	sql := `UPDATE edbdata_classify SET is_show=?,parent_id=? WHERE classify_id=? `
-	_, err = o.Raw(sql, isShow, parentId, classifyId).Exec()
+	err = global.DmSQL["data"].Exec(sql, isShow, parentId, classifyId).Error
 	return
 }
 
@@ -156,14 +189,28 @@ type DelManualClassifyReq struct {
 }
 
 func GetManualClassifyById(classifyId int) (item *EdbdataClassify, err error) {
-	o := orm.NewOrmUsingDB("edb")
+	//o := orm.NewOrmUsingDB("edb")
+	//sql := ` SELECT * FROM edbdata_classify WHERE classify_id=? `
+	//err = o.Raw(sql, classifyId).QueryRow(&item)
+
 	sql := ` SELECT * FROM edbdata_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DmSQL["data"].Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 func ModifyManualClassifyName(classifyName string, classifyId, parentId int) (err error) {
-	o := orm.NewOrmUsingDB("edb")
+	//o := orm.NewOrmUsingDB("edb")
+	//updateStr := ` classify_name=? `
+	//pars := []interface{}{classifyName}
+	//if parentId > 0 {
+	//	updateStr += ` , parent_id=? `
+	//	pars = append(pars, parentId)
+	//}
+	//sql := `UPDATE edbdata_classify SET ` + updateStr + ` WHERE classify_id=? `
+	//
+	//pars = append(pars, classifyId)
+	//_, err = o.Raw(sql, pars).Exec()
+
 	updateStr := ` classify_name=? `
 	pars := []interface{}{classifyName}
 	if parentId > 0 {
@@ -173,25 +220,35 @@ func ModifyManualClassifyName(classifyName string, classifyId, parentId int) (er
 	sql := `UPDATE edbdata_classify SET ` + updateStr + ` WHERE classify_id=? `
 
 	pars = append(pars, classifyId)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DmSQL["data"].Exec(sql, pars).Error
 	return
 }
 
 func GetManualClassifyAllByCondition(condition string) (items []*EdbdataClassifyList, err error) {
-	o := orm.NewOrmUsingDB("edb")
+	//o := orm.NewOrmUsingDB("edb")
+	//sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE is_show=1 `
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//sql += `  ORDER BY sort ASC `
+	//_, err = o.Raw(sql).QueryRows(&items)
+
 	sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE is_show=1 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += `  ORDER BY sort ASC `
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql).Find(&items).Error
 	return
 }
 
 // GetChildManualClassifyCount 根据分类id获取下面存在的子分类数量(展示的)
 func GetChildManualClassifyCount(parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("edb")
+	//o := orm.NewOrmUsingDB("edb")
+	//sql := `SELECT COUNT(1) AS count FROM edbdata_classify WHERE parent_id=? AND is_show = 1`
+	//err = o.Raw(sql, parentId).QueryRow(&count)
+
 	sql := `SELECT COUNT(1) AS count FROM edbdata_classify WHERE parent_id=? AND is_show = 1`
-	err = o.Raw(sql, parentId).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, parentId).Scan(&count).Error
 	return
 }

+ 48 - 24
models/data_manage/manual_user.go

@@ -1,8 +1,9 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
+	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
@@ -16,15 +17,19 @@ type ManualUser struct {
 }
 
 func DeleteManualUser(adminId int) (err error) {
+	//sql := `DELETE FROM manual_user WHERE admin_id=? `
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Raw(sql, adminId).Exec()
+
 	sql := `DELETE FROM manual_user WHERE admin_id=? `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, adminId).Exec()
+	err = global.DmSQL["data"].Exec(sql, adminId).Error
 	return
 }
 
 func AddManualUser(item *ManualUser) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(item)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Insert(item)
+	err = global.DmSQL["data"].Create(item).Error
 	return
 }
 
@@ -34,12 +39,18 @@ type ManualUserItem struct {
 }
 
 func GetManualUserList() (list []*ManualUserItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT admin_id,admin_real_name FROM manual_user
+	//		GROUP BY admin_id
+	//		ORDER BY create_time DESC `
+	//fmt.Println("GetManualUserList:", sql)
+	//_, err = o.Raw(sql).QueryRows(&list)
+
 	sql := ` SELECT admin_id,admin_real_name FROM manual_user
 			GROUP BY admin_id
 			ORDER BY create_time DESC `
 	fmt.Println("GetManualUserList:", sql)
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = global.DmSQL["data"].Raw(sql).Find(&list).Error
 	return
 }
 
@@ -48,13 +59,13 @@ type ManualUserList struct {
 	AdminRealName int `description:"用户姓名"`
 }
 
-func GetManualSysuserAll() (list []*ManualUserList, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM manual_user
-			ORDER BY create_time ASC `
-	o.Raw(sql).QueryRows()
-	return
-}
+//func GetManualSysuserAll() (list []*ManualUserList, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT * FROM manual_user
+//			ORDER BY create_time ASC `
+//	o.Raw(sql).QueryRows()
+//	return
+//}
 
 type ManualSysUserClassifySaveReq struct {
 	AdminId    int   `description:"用户id"`
@@ -69,35 +80,48 @@ type ManualUserClassify struct {
 }
 
 func AddManualUserClassifyMulti(items []*ManualUserClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(1, items)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.InsertMulti(1, items)
+	err = global.DmSQL["data"].CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func DeleteManualUserClassifyCount(adminId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` DELETE FROM manual_user_classify WHERE admin_id=? `
+	//_, err = o.Raw(sql, adminId).Exec()
+
 	sql := ` DELETE FROM manual_user_classify WHERE admin_id=? `
-	_, err = o.Raw(sql, adminId).Exec()
+	err = global.DmSQL["data"].Exec(sql, adminId).Error
 	return
 }
 
 func GetManualUserClassifyCount(adminId, classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT COUNT(1) AS count FROM manual_user_classify WHERE admin_id=? AND classify_id=? `
+	//err = o.Raw(sql, adminId, classifyId).QueryRow(&count)
+
 	sql := ` SELECT COUNT(1) AS count FROM manual_user_classify WHERE admin_id=? AND classify_id=? `
-	err = o.Raw(sql, adminId, classifyId).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, adminId, classifyId).Scan(&count).Error
 	return
 }
 
 func GetManualUserCount(adminId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT COUNT(1) AS count FROM manual_user WHERE admin_id=? `
+	//err = o.Raw(sql, adminId).QueryRow(&count)
+
 	sql := ` SELECT COUNT(1) AS count FROM manual_user WHERE admin_id=? `
-	err = o.Raw(sql, adminId).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, adminId).Scan(&count).Error
 	return
 }
 
 func GetManualUserSetClassify(adminId int) (list []*EdbdataClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM manual_user_classify WHERE admin_id=? `
+	//_, err = o.Raw(sql, adminId).QueryRows(&list)
+
 	sql := ` SELECT * FROM manual_user_classify WHERE admin_id=? `
-	_, err = o.Raw(sql, adminId).QueryRows(&list)
+	err = global.DmSQL["data"].Raw(sql, adminId).Find(&list).Error
 	return
 }

+ 83 - 21
models/data_manage/multiple_graph_config.go

@@ -2,11 +2,11 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/models/data_manage/line_equation/request"
 	"eta_gn/eta_api/services/alarm_msg"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -28,29 +28,37 @@ type MultipleGraphConfig struct {
 
 // AddMultipleGraphConfig 新增多图配置
 func AddMultipleGraphConfig(item *MultipleGraphConfig) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	// 表格信息入库
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.MultipleGraphConfigId = int(lastId)
+	//o := orm.NewOrmUsingDB("data")
+	//// 表格信息入库
+	//lastId, err := o.Insert(item)
+	//if err != nil {
+	//	return
+	//}
+	//item.MultipleGraphConfigId = int(lastId)
+
+	err = global.DmSQL["data"].Create(item).Error
 	return
 }
 
 // Update 更新 基础信息
 func (item *MultipleGraphConfig) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Update(item, cols...)
+
+	err = global.DmSQL["data"].Select(cols).Updates(item).Error
 	return
 }
 
 // GetMultipleGraphConfigById 根据配置id获取配置
 func GetMultipleGraphConfigById(id int) (item *MultipleGraphConfig, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM multiple_graph_config WHERE multiple_graph_config_id = ? `
+	//// 表格信息入库
+	//err = o.Raw(sql, id).QueryRow(&item)
+
 	sql := `SELECT * FROM multiple_graph_config WHERE multiple_graph_config_id = ? `
 	// 表格信息入库
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DmSQL["data"].Raw(sql, id).First(&item).Error
 	return
 }
 
@@ -93,11 +101,30 @@ func ReplaceEdbInfoInLineEquationMultipleGraphConfig(oldEdbInfo, newEdbInfo *Edb
 	var errmsg string
 	logMsg := `` // 记录替换的日志
 
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	//o := orm.NewOrmUsingDB("data")
+	//to, err := o.Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = to.Rollback()
+	//	} else {
+	//		_ = to.Commit()
+	//		if logMsg != `` {
+	//			utils.FileLog.Info(fmt.Sprintf("替换拟合方程中的指标记录 替换总数%d,旧的指标id:%d,新的指标id:%d;%s", replaceConfigTotal, oldEdbInfo.EdbInfoId, newEdbInfo.EdbInfoId, logMsg))
+	//		}
+	//	}
+	//	if errmsg != "" {
+	//		fmt.Println("errmsg:" + errmsg)
+	//	}
+	//	if err != nil && errmsg != "" {
+	//		go alarm_msg.SendAlarmMsg("替换拟合方程中的指标记录失败提醒,errmsg:"+errmsg, 3)
+	//	}
+	//}()
+
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -114,15 +141,24 @@ func ReplaceEdbInfoInLineEquationMultipleGraphConfig(oldEdbInfo, newEdbInfo *Edb
 			go alarm_msg.SendAlarmMsg("替换拟合方程中的指标记录失败提醒,errmsg:"+errmsg, 3)
 		}
 	}()
+
 	//替换multiple_graph_config中的指标
 	{
 		multipleGraphConfigList := make([]*MultipleGraphConfig, 0)
+		//csql := `SELECT * FROM multiple_graph_config WHERE edb_info_id_a=0 AND edb_info_id_b=0 AND curve !=""`
+		//_, err = to.Raw(csql).QueryRows(&multipleGraphConfigList)
+		//if err != nil {
+		//	errmsg = "获取指标关联图表配置信息失败:Err:" + err.Error()
+		//	return
+		//}
+
 		csql := `SELECT * FROM multiple_graph_config WHERE edb_info_id_a=0 AND edb_info_id_b=0 AND curve !=""`
-		_, err = to.Raw(csql).QueryRows(&multipleGraphConfigList)
+		err = to.Raw(csql).Find(&multipleGraphConfigList).Error
 		if err != nil {
 			errmsg = "获取指标关联图表配置信息失败:Err:" + err.Error()
 			return
 		}
+
 		if len(multipleGraphConfigList) == 0 {
 			return
 		}
@@ -165,17 +201,30 @@ func ReplaceEdbInfoInLineEquationMultipleGraphConfig(oldEdbInfo, newEdbInfo *Edb
 			if len(configIds) >= 10 {
 				numStr := utils.GetOrmInReplace(len(configIds))
 				// 准备批量更新的 SQL 语句
+				//			updateSQL := `UPDATE multiple_graph_config SET
+				//curve = CASE multiple_graph_config_id  `
+				//			for _, updateItem := range updateList {
+				//				updateSQL += `WHEN ` + strconv.Itoa(updateItem.MultipleGraphConfigId) + ` THEN '` + updateItem.Curve + `' `
+				//			}
+				//			updateSQL += `END, modify_time = ? WHERE multiple_graph_config_id IN (` + numStr + `)`
+				//			_, err = to.Raw(updateSQL, time.Now(), configIds).Exec()
+				//			if err != nil {
+				//				errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
+				//				return
+				//			}
+
 				updateSQL := `UPDATE multiple_graph_config SET   
     curve = CASE multiple_graph_config_id  `
 				for _, updateItem := range updateList {
 					updateSQL += `WHEN ` + strconv.Itoa(updateItem.MultipleGraphConfigId) + ` THEN '` + updateItem.Curve + `' `
 				}
 				updateSQL += `END, modify_time = ? WHERE multiple_graph_config_id IN (` + numStr + `)`
-				_, err = to.Raw(updateSQL, time.Now(), configIds).Exec()
+				err = to.Exec(updateSQL, time.Now(), configIds).Error
 				if err != nil {
 					errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
 					return
 				}
+
 				logMsg += `涉及到的配置id:` + strings.Join(configIdStr, ",") + ";"
 				replaceConfigTotal += len(configIds)
 				configIds = make([]int, 0)
@@ -186,17 +235,30 @@ func ReplaceEdbInfoInLineEquationMultipleGraphConfig(oldEdbInfo, newEdbInfo *Edb
 		if len(configIds) > 0 {
 			numStr := utils.GetOrmInReplace(len(configIds))
 			// 准备批量更新的 SQL 语句
+			//		updateSQL := `UPDATE multiple_graph_config SET
+			//curve = CASE multiple_graph_config_id  `
+			//		for _, updateItem := range updateList {
+			//			updateSQL += `WHEN ` + strconv.Itoa(updateItem.MultipleGraphConfigId) + ` THEN '` + updateItem.Curve + `' `
+			//		}
+			//		updateSQL += `END, modify_time = ? WHERE multiple_graph_config_id IN (` + numStr + `)`
+			//		_, err = to.Raw(updateSQL, time.Now(), configIds).Exec()
+			//		if err != nil {
+			//			errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
+			//			return
+			//		}
+
 			updateSQL := `UPDATE multiple_graph_config SET   
-    curve = CASE multiple_graph_config_id  `
+			curve = CASE multiple_graph_config_id  `
 			for _, updateItem := range updateList {
 				updateSQL += `WHEN ` + strconv.Itoa(updateItem.MultipleGraphConfigId) + ` THEN '` + updateItem.Curve + `' `
 			}
 			updateSQL += `END, modify_time = ? WHERE multiple_graph_config_id IN (` + numStr + `)`
-			_, err = to.Raw(updateSQL, time.Now(), configIds).Exec()
+			err = to.Exec(updateSQL, time.Now(), configIds).Error
 			if err != nil {
 				errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
 				return
 			}
+
 			logMsg += `涉及到的配置id:` + strings.Join(configIdStr, ",") + ";"
 			replaceConfigTotal += len(configIds)
 			configIds = make([]int, 0)

+ 140 - 34
models/data_manage/multiple_graph_config_chart_mapping.go

@@ -1,10 +1,10 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/services/alarm_msg"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -22,47 +22,57 @@ type MultipleGraphConfigChartMapping struct {
 
 // AddMultipleGraphConfigChartMapping 新增多图配置
 func AddMultipleGraphConfigChartMapping(item *MultipleGraphConfigChartMapping) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	// 表格信息入库
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.Id = int(lastId)
+	//o := orm.NewOrmUsingDB("data")
+	//// 表格信息入库
+	//lastId, err := o.Insert(item)
+	//if err != nil {
+	//	return
+	//}
+	//item.Id = int(lastId)
+
+	err = global.DmSQL["data"].Create(item).Error
 	return
 }
 
 // Update 更新 基础信息
 func (item *MultipleGraphConfigChartMapping) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Update(item, cols...)
+
+	err = global.DmSQL["data"].Select(cols).Updates(item).Error
 	return
 }
 
 // GetMultipleGraphConfigChartMappingByIdAndSource 根据配置id和来源获取关联关系
 func GetMultipleGraphConfigChartMappingByIdAndSource(configId, source int) (item *MultipleGraphConfigChartMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE multiple_graph_config_id = ? AND source = ? `
-	err = o.Raw(sql, configId, source).QueryRow(&item)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE multiple_graph_config_id = ? AND source = ? `
+	//err = o.Raw(sql, configId, source).QueryRow(&item)
 
+	sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE multiple_graph_config_id = ? AND source = ? `
+	err = global.DmSQL["data"].Raw(sql, configId, source).First(&item).Error
 	return
 }
 
 // GetMultipleGraphConfigChartMappingByChartId 根据图表id和来源获取关联关系
 func GetMultipleGraphConfigChartMappingByChartId(chartId int) (item *MultipleGraphConfigChartMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE chart_info_id = ?  `
-	err = o.Raw(sql, chartId).QueryRow(&item)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE chart_info_id = ?  `
+	//err = o.Raw(sql, chartId).QueryRow(&item)
 
+	sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE chart_info_id = ?  `
+	err = global.DmSQL["data"].Raw(sql, chartId).First(&item).Error
 	return
 }
 
 // GetMultipleGraphConfigChartMappingListById 根据配置id获取所有关联关系
 func GetMultipleGraphConfigChartMappingListById(configId int) (items []*MultipleGraphConfigChartMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE multiple_graph_config_id = ? `
-	_, err = o.Raw(sql, configId).QueryRows(&items)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE multiple_graph_config_id = ? `
+	//_, err = o.Raw(sql, configId).QueryRows(&items)
 
+	sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE multiple_graph_config_id = ? `
+	err = global.DmSQL["data"].Raw(sql, configId).Find(&items).Error
 	return
 }
 
@@ -71,11 +81,30 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 	var errmsg string
 	logMsg := `` // 记录替换的日志
 
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	//o := orm.NewOrmUsingDB("data")
+	//to, err := o.Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = to.Rollback()
+	//	} else {
+	//		_ = to.Commit()
+	//		if logMsg != `` {
+	//			utils.FileLog.Info(fmt.Sprintf("替换相关性分析中的指标记录 替换总数%d,旧的指标id:%d,新的指标id:%d;%s", replaceConfigTotal, oldEdbInfo.EdbInfoId, newEdbInfo.EdbInfoId, logMsg))
+	//		}
+	//	}
+	//	if errmsg != "" {
+	//		fmt.Println("errmsg:" + errmsg)
+	//	}
+	//	if err != nil && errmsg != "" {
+	//		go alarm_msg.SendAlarmMsg("替换统计分析配置中的指标记录失败提醒,errmsg:"+errmsg, 3)
+	//	}
+	//}()
+
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -92,14 +121,23 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 			go alarm_msg.SendAlarmMsg("替换统计分析配置中的指标记录失败提醒,errmsg:"+errmsg, 3)
 		}
 	}()
+
 	//替换multiple_graph_config中的指标
 	multipleGraphConfigList := make([]*MultipleGraphConfig, 0)
+	//csql := `SELECT * FROM multiple_graph_config WHERE (edb_info_id_a=? or edb_info_id_b=?)`
+	//_, err = to.Raw(csql, oldEdbInfo.EdbInfoId, oldEdbInfo.EdbInfoId).QueryRows(&multipleGraphConfigList)
+	//if err != nil {
+	//	errmsg = "获取指标关联图表配置信息失败:Err:" + err.Error()
+	//	return
+	//}
+
 	csql := `SELECT * FROM multiple_graph_config WHERE (edb_info_id_a=? or edb_info_id_b=?)`
-	_, err = to.Raw(csql, oldEdbInfo.EdbInfoId, oldEdbInfo.EdbInfoId).QueryRows(&multipleGraphConfigList)
+	err = to.Raw(csql, oldEdbInfo.EdbInfoId, oldEdbInfo.EdbInfoId).Find(&multipleGraphConfigList).Error
 	if err != nil {
 		errmsg = "获取指标关联图表配置信息失败:Err:" + err.Error()
 		return
 	}
+
 	if len(multipleGraphConfigList) > 0 {
 		replaceConfigTotal = len(multipleGraphConfigList)
 		configIdMap := make(map[int]int)
@@ -114,15 +152,29 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 				if len(configIds) >= 1000 {
 					numStr := utils.GetOrmInReplace(len(configIds))
 					//更新配置中的指标A
+					//sql := `UPDATE multiple_graph_config SET edb_info_id_a=?, modify_time=? WHERE edb_info_id_a=? and multiple_graph_config_id IN (` + numStr + `)`
+					//_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+					//if err != nil {
+					//	errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
+					//	return
+					//}
+
 					sql := `UPDATE multiple_graph_config SET edb_info_id_a=?, modify_time=? WHERE edb_info_id_a=? and multiple_graph_config_id IN (` + numStr + `)`
-					_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+					err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 					if err != nil {
 						errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
 						return
 					}
 					//更新配置中的指标B
+					//sql = `UPDATE multiple_graph_config SET edb_info_id_b=?, modify_time=? WHERE edb_info_id_b=? and multiple_graph_config_id IN (` + numStr + `)`
+					//_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+					//if err != nil {
+					//	errmsg = "更新指标B关联图表配置信息失败:Err:" + err.Error()
+					//	return
+					//}
+
 					sql = `UPDATE multiple_graph_config SET edb_info_id_b=?, modify_time=? WHERE edb_info_id_b=? and multiple_graph_config_id IN (` + numStr + `)`
-					_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+					err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 					if err != nil {
 						errmsg = "更新指标B关联图表配置信息失败:Err:" + err.Error()
 						return
@@ -130,12 +182,20 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 
 					// 更新
 					// 更新指标id
+					//sql = `UPDATE multiple_graph_config_edb_mapping SET edb_info_id=?, modify_time=? WHERE edb_info_id=? and multiple_graph_config_id IN (` + numStr + `)`
+					//_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+					//if err != nil {
+					//	errmsg = "更新指标id关联图表配置信息失败:Err:" + err.Error()
+					//	return
+					//}
+
 					sql = `UPDATE multiple_graph_config_edb_mapping SET edb_info_id=?, modify_time=? WHERE edb_info_id=? and multiple_graph_config_id IN (` + numStr + `)`
-					_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+					err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 					if err != nil {
 						errmsg = "更新指标id关联图表配置信息失败:Err:" + err.Error()
 						return
 					}
+
 					logMsg += `涉及到的配置id:` + strings.Join(configIdStr, ",") + ";"
 					configIds = make([]int, 0)
 					configIdStr = make([]string, 0)
@@ -145,22 +205,45 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 		if len(configIds) > 0 {
 			numStr := utils.GetOrmInReplace(len(configIds))
 			//更新配置中的指标A
+			//sql := `UPDATE multiple_graph_config SET edb_info_id_a=?, modify_time=? WHERE edb_info_id_a=? and multiple_graph_config_id IN (` + numStr + `)`
+			//_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+			//if err != nil {
+			//	errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
+			//	return
+			//}
+
 			sql := `UPDATE multiple_graph_config SET edb_info_id_a=?, modify_time=? WHERE edb_info_id_a=? and multiple_graph_config_id IN (` + numStr + `)`
-			_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+			err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 			if err != nil {
 				errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
 				return
 			}
+
 			//更新配置中的指标B
+			//sql = `UPDATE multiple_graph_config SET edb_info_id_b=?, modify_time=? WHERE edb_info_id_b=? and multiple_graph_config_id IN (` + numStr + `)`
+			//_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+			//if err != nil {
+			//	errmsg = "更新指标B关联图表配置信息失败:Err:" + err.Error()
+			//	return
+			//}
+
 			sql = `UPDATE multiple_graph_config SET edb_info_id_b=?, modify_time=? WHERE edb_info_id_b=? and multiple_graph_config_id IN (` + numStr + `)`
-			_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+			err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 			if err != nil {
 				errmsg = "更新指标B关联图表配置信息失败:Err:" + err.Error()
 				return
 			}
+
 			// 更新指标id
+			//sql = `UPDATE multiple_graph_config_edb_mapping SET edb_info_id=?, modify_time=? WHERE edb_info_id=? and multiple_graph_config_id IN (` + numStr + `)`
+			//_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+			//if err != nil {
+			//	errmsg = "更新指标id关联图表配置信息失败:Err:" + err.Error()
+			//	return
+			//}
+
 			sql = `UPDATE multiple_graph_config_edb_mapping SET edb_info_id=?, modify_time=? WHERE edb_info_id=? and multiple_graph_config_id IN (` + numStr + `)`
-			_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+			err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 			if err != nil {
 				errmsg = "更新指标id关联图表配置信息失败:Err:" + err.Error()
 				return
@@ -173,14 +256,29 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 	}
 
 	// 更新相关性图表中的
+	//sql := `UPDATE chart_info_correlation SET edb_info_id_first=?, modify_time=? WHERE edb_info_id_first=?`
+	//_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Exec()
+	//if err != nil {
+	//	errmsg = "更新相关性图表中的指标id关联失败:Err:" + err.Error()
+	//	return
+	//}
+
 	sql := `UPDATE chart_info_correlation SET edb_info_id_first=?, modify_time=? WHERE edb_info_id_first=?`
-	_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Error
 	if err != nil {
 		errmsg = "更新相关性图表中的指标id关联失败:Err:" + err.Error()
 		return
 	}
+
+	//sql = `UPDATE chart_info_correlation SET edb_info_id_second=?, modify_time=? WHERE edb_info_id_second=?`
+	//_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Exec()
+	//if err != nil {
+	//	errmsg = "更新相关性图表中的指标id关联失败:Err:" + err.Error()
+	//	return
+	//}
+
 	sql = `UPDATE chart_info_correlation SET edb_info_id_second=?, modify_time=? WHERE edb_info_id_second=?`
-	_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Error
 	if err != nil {
 		errmsg = "更新相关性图表中的指标id关联失败:Err:" + err.Error()
 		return
@@ -188,11 +286,19 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 
 	// 替换拟合方程曲线替换指标
 	// 替换跨品种标签绑定得到指标ID
+	//sql = `UPDATE chart_tag_variety SET edb_info_id=?, modify_time=? WHERE edb_info_id=?`
+	//_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Exec()
+	//if err != nil {
+	//	errmsg = "更新指标id关联跨品种分析标签失败:Err:" + err.Error()
+	//	return
+	//}
+
 	sql = `UPDATE chart_tag_variety SET edb_info_id=?, modify_time=? WHERE edb_info_id=?`
-	_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Error
 	if err != nil {
 		errmsg = "更新指标id关联跨品种分析标签失败:Err:" + err.Error()
 		return
 	}
+
 	return
 }

+ 57 - 31
models/data_manage/multiple_graph_config_edb_mapping.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
@@ -18,69 +18,94 @@ type MultipleGraphConfigEdbMapping struct {
 
 // AddMultipleGraphConfigEdbMapping 新增多图配置
 func AddMultipleGraphConfigEdbMapping(item *MultipleGraphConfigEdbMapping) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	// 表格信息入库
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.Id = int(lastId)
+	//o := orm.NewOrmUsingDB("data")
+	//// 表格信息入库
+	//lastId, err := o.Insert(item)
+	//if err != nil {
+	//	return
+	//}
+	//item.Id = int(lastId)
+
+	err = global.DmSQL["data"].Create(item).Error
 	return
 }
 
 // Update 更新 基础信息
 func (item *MultipleGraphConfigEdbMapping) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Update(item, cols...)
+
+	err = global.DmSQL["data"].Select(cols).Updates(item).Error
 	return
 }
 
 // GetMultipleGraphConfigEdbMappingByIdAndSource 根据配置id和来源获取关联关系
 func GetMultipleGraphConfigEdbMappingByIdAndSource(configId, source int) (item *MultipleGraphConfigEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? `
-	err = o.Raw(sql, configId, source).QueryRow(&item)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? `
+	//err = o.Raw(sql, configId, source).QueryRow(&item)
 
+	sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? `
+	err = global.DmSQL["data"].Raw(sql, configId, source).First(&item).Error
 	return
 }
 
 // GetMultipleGraphConfigEdbMappingListById 根据配置id获取所有关联关系
 func GetMultipleGraphConfigEdbMappingListById(configId int) (items []*MultipleGraphConfigEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? `
-	_, err = o.Raw(sql, configId).QueryRows(&items)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? `
+	//_, err = o.Raw(sql, configId).QueryRows(&items)
 
+	sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? `
+	err = global.DmSQL["data"].Raw(sql, configId).Find(&items).Error
 	return
 }
 
 func GetMultipleGraphConfigEdbMappingListByIdAndSource(configId, source int) (items []*MultipleGraphConfigEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? `
-	_, err = o.Raw(sql, configId, source).QueryRows(&items)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? `
+	//_, err = o.Raw(sql, configId, source).QueryRows(&items)
 
+	sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? `
+	err = global.DmSQL["data"].Raw(sql, configId, source).Find(&items).Error
 	return
 }
 
 // AddMultipleGraphConfigEdbMappingList 新增多图配置
 func AddMultipleGraphConfigEdbMappingList(items []*MultipleGraphConfigEdbMapping) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.InsertMulti(len(items), items)
+
+	err = global.DmSQL["data"].CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func DeleteMultipleGraphConfigEdbMappingByEdbIds(configId, source int, edbIds []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `DELETE FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? AND edb_info_id IN (` + utils.GetOrmInReplace(len(edbIds)) + `) `
+	//_, err = o.Raw(sql, configId, source, edbIds).Exec()
+
 	sql := `DELETE FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? AND edb_info_id IN (` + utils.GetOrmInReplace(len(edbIds)) + `) `
-	_, err = o.Raw(sql, configId, source, edbIds).Exec()
+	err = global.DmSQL["data"].Exec(sql, configId, source, edbIds).Error
 	return
 }
 
 func DeleteMultipleGraphConfigByChartInfoId(chartInfoId, configId, source int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	//o := orm.NewOrmUsingDB("data")
+	//to, err := o.Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = to.Rollback()
+	//	} else {
+	//		_ = to.Commit()
+	//	}
+	//}()
+
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -88,17 +113,18 @@ func DeleteMultipleGraphConfigByChartInfoId(chartInfoId, configId, source int) (
 			_ = to.Commit()
 		}
 	}()
+
 	sql := ` DELETE FROM multiple_graph_config WHERE multiple_graph_config_id = ?`
-	_, err = to.Raw(sql, configId).Exec()
+	err = to.Exec(sql, configId).Error
 	if err != nil {
 		return
 	}
 	sql = ` DELETE FROM multiple_graph_config_chart_mapping WHERE chart_info_id=? and multiple_graph_config_id = ? and	source=?`
-	_, err = to.Raw(sql, chartInfoId, configId, source).Exec()
+	err = to.Exec(sql, chartInfoId, configId, source).Error
 	if err != nil {
 		return
 	}
 	sql = ` DELETE FROM  multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? and	source=? `
-	_, err = to.Raw(sql, configId, source).Exec()
+	err = to.Exec(sql, configId, source).Error
 	return
 }

File diff suppressed because it is too large
+ 393 - 146
models/data_manage/my_chart.go


+ 4 - 3
models/data_manage/my_chart_log.go

@@ -1,7 +1,7 @@
 package data_manage
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta_gn/eta_api/global"
 	"time"
 )
 
@@ -18,7 +18,8 @@ type MyChartLog struct {
 }
 
 func AddMyChartLog(item *MyChartLog) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	//o := orm.NewOrmUsingDB("data")
+	//lastId, err = o.Insert(item)
+	err = global.DmSQL["data"].Create(item).Error
 	return
 }

+ 126 - 43
models/data_manage/mysteel_chemical_classify.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
@@ -23,8 +23,9 @@ type BaseFromMysteelChemicalClassify struct {
 
 // AddBaseFromMysteelChemicalClassify 添加钢联化工分类
 func AddBaseFromMysteelChemicalClassify(item *BaseFromMysteelChemicalClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	//o := orm.NewOrmUsingDB("data")
+	//lastId, err = o.Insert(item)
+	err = global.DmSQL["data"].Create(item).Error
 	return
 }
 
@@ -37,9 +38,12 @@ func AddBaseFromMysteelChemicalClassify(item *BaseFromMysteelChemicalClassify) (
 // @return count int
 // @return err error
 func GetBaseFromMysteelChemicalClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_classify WHERE classify_name=? AND parent_id=? `
+	//err = o.Raw(sql, classifyName, parentId).QueryRow(&count)
+
 	sql := `SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_classify WHERE classify_name=? AND parent_id=? `
-	err = o.Raw(sql, classifyName, parentId).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, classifyName, parentId).Scan(&count).Error
 	return
 }
 
@@ -52,25 +56,33 @@ func GetBaseFromMysteelChemicalClassifyCount(classifyName string, parentId int)
 // @return count int
 // @return err error
 func GetBaseFromMysteelChemicalClassifyEnCount(classifyNameEn string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_classify WHERE classify_name_en = ? AND parent_id=? `
+	//err = o.Raw(sql, classifyNameEn, parentId).QueryRow(&count)
+
 	sql := `SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_classify WHERE classify_name_en = ? AND parent_id=? `
-	err = o.Raw(sql, classifyNameEn, parentId).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, classifyNameEn, parentId).Scan(&count).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalClassifyById 通过分类id的获取分类信息
 func GetBaseFromMysteelChemicalClassifyById(classifyId int) (item *BaseFromMysteelChemicalClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM base_from_mysteel_chemical_classify WHERE base_from_mysteel_chemical_classify_id=? `
+	//err = o.Raw(sql, classifyId).QueryRow(&item)
+
 	sql := `SELECT * FROM base_from_mysteel_chemical_classify WHERE base_from_mysteel_chemical_classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DmSQL["data"].Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 // EditBaseFromMysteelChemicalClassify 修改钢联化工分类
 func EditBaseFromMysteelChemicalClassify(classifyId int, classifyName string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `UPDATE base_from_mysteel_chemical_classify SET classify_name=?,modify_time=NOW() WHERE base_from_mysteel_chemical_classify_id=? `
+	//_, err = o.Raw(sql, classifyName, classifyId).Exec()
 	sql := `UPDATE base_from_mysteel_chemical_classify SET classify_name=?,modify_time=NOW() WHERE base_from_mysteel_chemical_classify_id=? `
-	_, err = o.Raw(sql, classifyName, classifyId).Exec()
+	err = global.DmSQL["data"].Exec(sql, classifyName, classifyId).Error
 	return
 }
 
@@ -82,9 +94,12 @@ func EditBaseFromMysteelChemicalClassify(classifyId int, classifyName string) (e
 // @param classifyNameEn string
 // @return err error
 func EditBaseFromMysteelChemicalClassifyEn(classifyId int, classifyNameEn string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `UPDATE base_from_mysteel_chemical_classify SET classify_name_en = ?,modify_time=NOW() WHERE base_from_mysteel_chemical_classify_id=? `
+	//_, err = o.Raw(sql, classifyNameEn, classifyId).Exec()
+
 	sql := `UPDATE base_from_mysteel_chemical_classify SET classify_name_en = ?,modify_time=NOW() WHERE base_from_mysteel_chemical_classify_id=? `
-	_, err = o.Raw(sql, classifyNameEn, classifyId).Exec()
+	err = global.DmSQL["data"].Exec(sql, classifyNameEn, classifyId).Error
 	return
 }
 
@@ -118,25 +133,34 @@ type BaseFromMysteelChemicalClassifyItemsButton struct {
 
 // GetBaseFromMysteelChemicalClassifyByParentId 根据上级id获取当下的分类列表数据
 func GetBaseFromMysteelChemicalClassifyByParentId(parentId int) (items []*BaseFromMysteelChemicalClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id=? order by sort asc,base_from_mysteel_chemical_classify_id asc`
+	//_, err = o.Raw(sql, parentId).QueryRows(&items)
+
 	sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id=? order by sort asc,base_from_mysteel_chemical_classify_id asc`
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, parentId).Find(&items).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalClassifyByIds 根据id获取当下的分类列表数据
 func GetBaseFromMysteelChemicalClassifyByIds(classifyIds []int) (items []*BaseFromMysteelChemicalClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id > 0 and base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) order by sort asc,base_from_mysteel_chemical_classify_id asc`
+	//_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+
 	sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id > 0 and base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) order by sort asc,base_from_mysteel_chemical_classify_id asc`
-	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, classifyIds).Find(&items).Error
 	return
 }
 
 // GetAllBaseFromMysteelChemicalClassify 获取所有的分类列表数据
 func GetAllBaseFromMysteelChemicalClassify() (items []*BaseFromMysteelChemicalClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id <> 0 order by sort asc,base_from_mysteel_chemical_classify_id asc`
+	//_, err = o.Raw(sql).QueryRows(&items)
+
 	sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id <> 0 order by sort asc,base_from_mysteel_chemical_classify_id asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql).Find(&items).Error
 	return
 }
 
@@ -158,45 +182,69 @@ type BaseFromMysteelChemicalClassifySimplify struct {
 
 // GetFirstBaseFromMysteelChemicalClassify 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromMysteelChemicalClassify() (item *BaseFromMysteelChemicalClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_mysteel_chemical_classify order by sort asc,base_from_mysteel_chemical_classify_id asc limit 1`
+	//err = o.Raw(sql).QueryRow(&item)
+
 	sql := ` SELECT * FROM base_from_mysteel_chemical_classify order by sort asc,base_from_mysteel_chemical_classify_id asc limit 1`
-	err = o.Raw(sql).QueryRow(&item)
+	err = global.DmSQL["data"].Raw(sql).First(&item).Error
 	return
 }
 
 // UpdateBaseFromMysteelChemicalClassifySortByClassifyId 根据分类id更新排序
 func UpdateBaseFromMysteelChemicalClassifySortByClassifyId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` update base_from_mysteel_chemical_classify set sort = ` + updateSort + ` WHERE parent_id=? AND sort > ? `
+	//if classifyId > 0 {
+	//	sql += ` or ( base_from_mysteel_chemical_classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
+	//}
+	//_, err = o.Raw(sql, parentId, nowSort).Exec()
+
 	sql := ` update base_from_mysteel_chemical_classify set sort = ` + updateSort + ` WHERE parent_id=? AND sort > ? `
 	if classifyId > 0 {
 		sql += ` or ( base_from_mysteel_chemical_classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, parentId, nowSort).Exec()
+	err = global.DmSQL["data"].Exec(sql, parentId, nowSort).Error
 	return
 }
 
 // Update 更新分类基础信息
 func (BaseFromMysteelChemicalClassify *BaseFromMysteelChemicalClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(BaseFromMysteelChemicalClassify, cols...)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Update(BaseFromMysteelChemicalClassify, cols...)
+
+	err = global.DmSQL["data"].Select(cols).Updates(BaseFromMysteelChemicalClassify).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalClassifyMaxSort 获取分类下最大的排序数
 func GetBaseFromMysteelChemicalClassifyMaxSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT Max(sort) AS sort FROM base_from_mysteel_chemical_classify WHERE parent_id=? `
+	//err = o.Raw(sql, parentId).QueryRow(&sort)
+
 	sql := `SELECT Max(sort) AS sort FROM base_from_mysteel_chemical_classify WHERE parent_id=? `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	err = global.DmSQL["data"].Raw(sql, parentId).Scan(&sort).Error
 	return
 }
 
 // DeleteMysteelChemicalByClassifyId 根据分类id删除对应的指标分类、指标、指标数据
 func DeleteMysteelChemicalByClassifyId(classifyIdList []int, mysteelChemicalIndexIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	//o := orm.NewOrmUsingDB("data")
+	//to, err := o.Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = to.Rollback()
+	//	} else {
+	//		_ = to.Commit()
+	//	}
+	//}()
+
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -204,21 +252,34 @@ func DeleteMysteelChemicalByClassifyId(classifyIdList []int, mysteelChemicalInde
 			_ = to.Commit()
 		}
 	}()
+
 	num := len(classifyIdList)
 	if num <= 0 {
 		return
 	}
 
 	//删除分类
+	//sql := `DELETE FROM base_from_mysteel_chemical_classify  WHERE base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(num) + `) `
+	//_, err = to.Raw(sql, classifyIdList).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql := `DELETE FROM base_from_mysteel_chemical_classify  WHERE base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = to.Raw(sql, classifyIdList).Exec()
+	err = to.Exec(sql, classifyIdList).Error
 	if err != nil {
 		return
 	}
 
 	//删除指标
+	//sql = `DELETE FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(num) + `) `
+	//_, err = to.Raw(sql, classifyIdList).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql = `DELETE FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = to.Raw(sql, classifyIdList).Exec()
+	err = to.Exec(sql, classifyIdList).Error
 	if err != nil {
 		return
 	}
@@ -226,8 +287,14 @@ func DeleteMysteelChemicalByClassifyId(classifyIdList []int, mysteelChemicalInde
 	//删除指标数据
 	indexNum := len(mysteelChemicalIndexIdList)
 	if indexNum > 0 {
+		//sql = `DELETE FROM base_from_mysteel_chemical_data WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(indexNum) + `) `
+		//_, err = to.Raw(sql, mysteelChemicalIndexIdList).Exec()
+		//if err != nil {
+		//	return
+		//}
+
 		sql = `DELETE FROM base_from_mysteel_chemical_data WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(indexNum) + `) `
-		_, err = to.Raw(sql, mysteelChemicalIndexIdList).Exec()
+		err = to.Exec(sql, mysteelChemicalIndexIdList).Error
 		if err != nil {
 			return
 		}
@@ -238,11 +305,21 @@ func DeleteMysteelChemicalByClassifyId(classifyIdList []int, mysteelChemicalInde
 
 // DeleteMysteelChemical 根据指标id删除对应的指标指标、指标数据
 func DeleteMysteelChemical(mysteelChemicalIndexId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	//o := orm.NewOrmUsingDB("data")
+	//to, err := o.Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = to.Rollback()
+	//	} else {
+	//		_ = to.Commit()
+	//	}
+	//}()
+
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -253,14 +330,20 @@ func DeleteMysteelChemical(mysteelChemicalIndexId int) (err error) {
 
 	//删除指标
 	sql := `DELETE FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id = ? `
-	_, err = to.Raw(sql, mysteelChemicalIndexId).Exec()
+	err = to.Exec(sql, mysteelChemicalIndexId).Error
 	if err != nil {
 		return
 	}
 
-	//删除指标数据
+	////删除指标数据
+	//sql = `DELETE FROM base_from_mysteel_chemical_data WHERE base_from_mysteel_chemical_index_id = ? `
+	//_, err = to.Raw(sql, mysteelChemicalIndexId).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql = `DELETE FROM base_from_mysteel_chemical_data WHERE base_from_mysteel_chemical_index_id = ? `
-	_, err = to.Raw(sql, mysteelChemicalIndexId).Exec()
+	err = to.Exec(sql, mysteelChemicalIndexId).Error
 	if err != nil {
 		return
 	}

+ 391 - 154
models/data_manage/mysteel_chemical_index.go

@@ -1,12 +1,12 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
 	"fmt"
 	"strings"
 	"time"
 
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
@@ -81,8 +81,10 @@ var BaseFromMysteelChemicalIndexCols = struct {
 
 // Update 更新钢联化工指标基础信息
 func (item *BaseFromMysteelChemicalIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Update(item, cols...)
+
+	err = global.DmSQL["data"].Select(cols).Updates(item).Error
 	return
 }
 func (m *BaseFromMysteelChemicalIndex) GeItemsByCondition(condition string, pars []interface{}, limitSize int) (items []*BaseFromMysteelChemicalIndexItem, err error) {
@@ -90,6 +92,20 @@ func (m *BaseFromMysteelChemicalIndex) GeItemsByCondition(condition string, pars
 		pars = make([]interface{}, 0)
 	}
 
+	//sql := `select a.*,b.edb_info_id,b.unique_code as edb_unique_code,b.classify_id as edb_classify_id FROM base_from_mysteel_chemical_index AS a LEFT JOIN edb_info b on a.index_code=b.edb_code AND b.source=? WHERE 1=1 `
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//sql += ` order by a.base_from_mysteel_chemical_index_id desc `
+	//
+	//if limitSize > 0 {
+	//	sql += " limit ? "
+	//	pars = append(pars, limitSize)
+	//}
+	//
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Raw(sql, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, pars).QueryRows(&items)
+
 	sql := `select a.*,b.edb_info_id,b.unique_code as edb_unique_code,b.classify_id as edb_classify_id FROM base_from_mysteel_chemical_index AS a LEFT JOIN edb_info b on a.index_code=b.edb_code AND b.source=? WHERE 1=1 `
 	if condition != "" {
 		sql += condition
@@ -100,29 +116,27 @@ func (m *BaseFromMysteelChemicalIndex) GeItemsByCondition(condition string, pars
 		sql += " limit ? "
 		pars = append(pars, limitSize)
 	}
-
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, pars).QueryRows(&items)
-
+	err = global.DmSQL["data"].Raw(sql, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, pars).Find(&items).Error
 	return
 }
 
 // AddBaseFromMysteelChemicalIndex 添加钢联化工指标
 func AddBaseFromMysteelChemicalIndex(item *BaseFromMysteelChemicalIndex) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.BaseFromMysteelChemicalIndexId = int(lastId)
-
+	//o := orm.NewOrmUsingDB("data")
+	//lastId, err = o.Insert(item)
+	//if err != nil {
+	//	return
+	//}
+	//item.BaseFromMysteelChemicalIndexId = int(lastId)
+	err = global.DmSQL["data"].Create(item).Error
 	return
 }
 
 // AddBaseFromMysteelChemicalIndex 添加钢联化工指标
 func BatchAddBaseFromMysteelChemicalIndex(items []*BaseFromMysteelChemicalIndex) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.InsertMulti(len(items), items)
+	err = global.DmSQL["data"].CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
@@ -144,37 +158,49 @@ type MysteelChemicalFrequency struct {
 
 // GetMysteelChemicalIndexByClassifyId 用于分类展示
 func GetMysteelChemicalIndexByClassifyId(classifyId int) (items []*BaseFromMysteelChemicalClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT base_from_mysteel_chemical_index_id,base_from_mysteel_chemical_classify_id,index_name AS classify_name,
-             sys_user_id,sys_user_real_name,sort,index_code 
-            FROM base_from_mysteel_chemical_index where base_from_mysteel_chemical_classify_id=? ORDER BY sort asc, create_time ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
-	return
-}
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT base_from_mysteel_chemical_index_id,base_from_mysteel_chemical_classify_id,index_name AS classify_name,
+	//         sys_user_id,sys_user_real_name,sort,index_code
+	//        FROM base_from_mysteel_chemical_index where base_from_mysteel_chemical_classify_id=? ORDER BY sort asc, create_time ASC `
+	//_, err = o.Raw(sql, classifyId).QueryRows(&items)
 
-// MysteelChemicalFrequencyByClassifyId 根据分类id获取钢联化工频度数据列表
-func MysteelChemicalFrequencyByClassifyId(classifyId int) (items []*MysteelChemicalFrequency, err error) {
-	o := orm.NewOrmUsingDB("data")
-	if classifyId == 0 {
-		sql := ` SELECT frequency  FROM base_from_mysteel_chemical_index WHERE frequency != "" GROUP BY frequency ORDER BY frequency ASC `
-		_, err = o.Raw(sql).QueryRows(&items)
-		return
-	} else {
-		sql := ` SELECT frequency  FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id = ? AND frequency != "" GROUP BY frequency ORDER BY frequency ASC `
-		_, err = o.Raw(sql, classifyId).QueryRows(&items)
-		return
-	}
-}
+	sql := ` SELECT base_from_mysteel_chemical_index_id,base_from_mysteel_chemical_classify_id,index_name AS classify_name,
+	        sys_user_id,sys_user_real_name,sort,index_code
+	       FROM base_from_mysteel_chemical_index where base_from_mysteel_chemical_classify_id=? ORDER BY sort asc, create_time ASC `
+	err = global.DmSQL["data"].Raw(sql, classifyId).Find(&items).Error
+	return
+}
+
+//// MysteelChemicalFrequencyByClassifyId 根据分类id获取钢联化工频度数据列表
+//func MysteelChemicalFrequencyByClassifyId(classifyId int) (items []*MysteelChemicalFrequency, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	if classifyId == 0 {
+//		sql := ` SELECT frequency  FROM base_from_mysteel_chemical_index WHERE frequency != "" GROUP BY frequency ORDER BY frequency ASC `
+//		_, err = o.Raw(sql).QueryRows(&items)
+//		return
+//	} else {
+//		sql := ` SELECT frequency  FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id = ? AND frequency != "" GROUP BY frequency ORDER BY frequency ASC `
+//		_, err = o.Raw(sql, classifyId).QueryRows(&items)
+//		return
+//	}
+//}
 
 // GetMysteelChemicalFrequency 获取钢联化工频度数据列表
 func GetMysteelChemicalFrequency(condition string, pars []interface{}) (items []*MysteelChemicalFrequency, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT frequency FROM base_from_mysteel_chemical_index WHERE 1=1 AND frequency != "" `
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//sql += ` GROUP BY frequency ORDER BY frequency ASC `
+	//_, err = o.Raw(sql, pars).QueryRows(&items)
+
 	sql := ` SELECT frequency FROM base_from_mysteel_chemical_index WHERE 1=1 AND frequency != "" `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` GROUP BY frequency ORDER BY frequency ASC `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -204,32 +230,59 @@ type MysteelChemicalData struct {
 
 // GetMysteelChemicalIndex 根据分类id获取钢联化工频度数据列表
 func GetMysteelChemicalIndex(condition string, pars []interface{}) (items []*MysteelChemicalList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE 1=1 `
+	//
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//sql += ` ORDER BY base_from_mysteel_chemical_index_id ASC `
+	//_, err = o.Raw(sql, pars).QueryRows(&items)
+
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY base_from_mysteel_chemical_index_id ASC `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, pars).Find(&items).Error
 	return
 }
 
 // GetMysteelChemicalIndexData 根据指标code获取钢联化工数据列表
 func GetMysteelChemicalIndexData(indexCode string, startSize, pageSize int) (items []*MysteelChemicalData, err error) {
+	//sql := ` SELECT * FROM (
+	//SELECT DISTINCT a.index_code,a.value,a.data_time FROM base_from_mysteel_chemical_data AS a WHERE index_code=?
+	//ORDER BY data_time DESC
+	//)AS t
+	//GROUP BY t.data_time
+	//ORDER BY t.data_time DESC LIMIT ?,? `
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+
 	sql := ` SELECT * FROM (
 	SELECT DISTINCT a.index_code,a.value,a.data_time FROM base_from_mysteel_chemical_data AS a WHERE index_code=? 
 	ORDER BY data_time DESC
 	)AS t
 	GROUP BY t.data_time
 	ORDER BY t.data_time DESC LIMIT ?,? `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // GetMysteelChemicalIndexDataCount 根据指标code获取钢联化工数据列表 获取钢联数据总数
 func GetMysteelChemicalIndexDataCount(indexCode string) (count int, err error) {
+	//sql := `SELECT COUNT(1) AS count FROM (
+	//		SELECT * FROM (
+	//SELECT DISTINCT a.index_code,a.value,a.data_time FROM base_from_mysteel_chemical_data AS a WHERE index_code=?
+	//ORDER BY data_time DESC
+	//)AS t
+	//GROUP BY t.data_time
+	//ORDER BY t.data_time DESC
+	//		)AS n `
+	//o := orm.NewOrmUsingDB("data")
+	//err = o.Raw(sql, indexCode).QueryRow(&count)
+
 	sql := `SELECT COUNT(1) AS count FROM (
 			SELECT * FROM (
 	SELECT DISTINCT a.index_code,a.value,a.data_time FROM base_from_mysteel_chemical_data AS a WHERE index_code=? 
@@ -238,24 +291,29 @@ func GetMysteelChemicalIndexDataCount(indexCode string) (count int, err error) {
 	GROUP BY t.data_time
 	ORDER BY t.data_time DESC
 			)AS n `
-	o := orm.NewOrmUsingDB("data")
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalIndexByIndexId 根据指标id获取指标信息
 func GetBaseFromMysteelChemicalIndexByIndexId(indexId int) (item *BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id=? `
+	//err = o.Raw(sql, indexId).QueryRow(&item)
+
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id=? `
-	err = o.Raw(sql, indexId).QueryRow(&item)
+	err = global.DmSQL["data"].Raw(sql, indexId).First(&item).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalIndexByCode 根据指标code获取指标信息
 func GetBaseFromMysteelChemicalIndexByCode(indexCode string) (item *BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE index_code=? `
+	//err = o.Raw(sql, indexCode).QueryRow(&item)
+
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = global.DmSQL["data"].Raw(sql, indexCode).First(&item).Error
 	return
 }
 
@@ -264,32 +322,41 @@ func GetBaseFromMysteelChemicalIndexByCodeList(indexCodeList []string) (items []
 	if len(indexCodeList) <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE index_code IN (%s) `
+	//holder := make([]string, 0)
+	//for range indexCodeList {
+	//	holder = append(holder, "?")
+	//}
+	//sql = fmt.Sprintf(sql, strings.Join(holder, ","))
+	//_, err = o.Raw(sql, indexCodeList).QueryRows(&items)
+
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE index_code IN (%s) `
 	holder := make([]string, 0)
 	for range indexCodeList {
 		holder = append(holder, "?")
 	}
 	sql = fmt.Sprintf(sql, strings.Join(holder, ","))
-	_, err = o.Raw(sql, indexCodeList).QueryRows(&items)
-	return
-}
-
-// GetBaseFromMysteelChemicalIndexByClassifyIdAndName 根据分类id和指标名名获取指标信息
-func GetBaseFromMysteelChemicalIndexByClassifyIdAndName(classifyId int, chartName string) (item *BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id = ? and index_name = ? `
-	err = o.Raw(sql, classifyId, chartName).QueryRow(&item)
-	return
-}
-
-// GetBaseFromMysteelChemicalIndexListByClassifyId 根据指标分类id获取指标列表信息
-func GetBaseFromMysteelChemicalIndexListByClassifyId(classifyId int) (items []*BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id=? `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
-	return
-}
+	err = global.DmSQL["data"].Raw(sql, indexCodeList).Find(&items).Error
+	return
+}
+
+//
+//// GetBaseFromMysteelChemicalIndexByClassifyIdAndName 根据分类id和指标名名获取指标信息
+//func GetBaseFromMysteelChemicalIndexByClassifyIdAndName(classifyId int, chartName string) (item *BaseFromMysteelChemicalIndex, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id = ? and index_name = ? `
+//	err = o.Raw(sql, classifyId, chartName).QueryRow(&item)
+//	return
+//}
+//
+//// GetBaseFromMysteelChemicalIndexListByClassifyId 根据指标分类id获取指标列表信息
+//func GetBaseFromMysteelChemicalIndexListByClassifyId(classifyId int) (items []*BaseFromMysteelChemicalIndex, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id=? `
+//	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+//	return
+//}
 
 // GetBaseFromMysteelChemicalIndexListByClassifyIdList 根据指标分类id集合获取指标列表信息
 func GetBaseFromMysteelChemicalIndexListByClassifyIdList(classifyIdList []int) (items []*BaseFromMysteelChemicalIndex, err error) {
@@ -297,84 +364,140 @@ func GetBaseFromMysteelChemicalIndexListByClassifyIdList(classifyIdList []int) (
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(num) + `) `
+	//_, err = o.Raw(sql, classifyIdList).QueryRows(&items)
+
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, classifyIdList).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, classifyIdList).Find(&items).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalDataMaxCount 获取分类下指标的最大数量
 func GetBaseFromMysteelChemicalDataMaxCount(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT MAX(t.num) AS count FROM (
+	//			SELECT COUNT(1) AS num  FROM base_from_mysteel_chemical_index AS a
+	//			INNER JOIN base_from_mysteel_chemical_data AS b ON a.base_from_mysteel_chemical_index_id=b.base_from_mysteel_chemical_index_id
+	//			WHERE a.base_from_mysteel_chemical_classify_id=?
+	//			GROUP BY a.base_from_mysteel_chemical_index_id
+	//		)AS t `
+	//err = o.Raw(sql, classifyId).QueryRow(&count)
+
 	sql := `SELECT MAX(t.num) AS count FROM (
 				SELECT COUNT(1) AS num  FROM base_from_mysteel_chemical_index AS a
 				INNER JOIN base_from_mysteel_chemical_data AS b ON a.base_from_mysteel_chemical_index_id=b.base_from_mysteel_chemical_index_id
 				WHERE a.base_from_mysteel_chemical_classify_id=?
 				GROUP BY a.base_from_mysteel_chemical_index_id
 			)AS t `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
 // GetMysteelChemicalIndexDataByCode 通过钢联化工指标code获取所有数据列表
 func GetMysteelChemicalIndexDataByCode(indexCode string) (items []*MysteelChemicalData, err error) {
+	//sql := ` SELECT * FROM (
+	//SELECT DISTINCT a.index_code,a.value,a.data_time FROM base_from_mysteel_chemical_data AS a WHERE index_code=?
+	//ORDER BY data_time DESC
+	//)AS t
+	//GROUP BY t.data_time
+	//ORDER BY t.data_time DESC `
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Raw(sql, indexCode).QueryRows(&items)
+
 	sql := ` SELECT * FROM (
 	SELECT DISTINCT a.index_code,a.value,a.data_time FROM base_from_mysteel_chemical_data AS a WHERE index_code=? 
 	ORDER BY data_time DESC
 	)AS t
 	GROUP BY t.data_time
 	ORDER BY t.data_time DESC `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 // MoveBaseFromMysteelChemicalIndex 移动钢联化工指标分类
 func MoveBaseFromMysteelChemicalIndex(chartInfoId, classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` UPDATE base_from_mysteel_chemical_index
+	//		SET
+	//		  base_from_mysteel_chemical_classify_id = ?
+	//		WHERE base_from_mysteel_chemical_index_id = ?`
+	//_, err = o.Raw(sql, classifyId, chartInfoId).Exec()
+
 	sql := ` UPDATE base_from_mysteel_chemical_index
 			SET
 			  base_from_mysteel_chemical_classify_id = ?
 			WHERE base_from_mysteel_chemical_index_id = ?`
-	_, err = o.Raw(sql, classifyId, chartInfoId).Exec()
+	err = global.DmSQL["data"].Exec(sql, classifyId, chartInfoId).Error
 	return
 }
 
 // UpdateBaseFromMysteelChemicalIndexByClassifyId 根据指标id更新排序
 func UpdateBaseFromMysteelChemicalIndexByClassifyId(classifyId, nowSort, prevIndexInfoId int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` update base_from_mysteel_chemical_index set sort = ` + updateSort + ` WHERE base_from_mysteel_chemical_classify_id=? AND  `
+	//if prevIndexInfoId > 0 {
+	//	sql += ` ( sort > ? or (base_from_mysteel_chemical_index_id > ` + fmt.Sprint(prevIndexInfoId) + ` and sort = ` + fmt.Sprint(nowSort) + `))`
+	//}
+	//_, err = o.Raw(sql, classifyId, nowSort).Exec()
+
 	sql := ` update base_from_mysteel_chemical_index set sort = ` + updateSort + ` WHERE base_from_mysteel_chemical_classify_id=? AND  `
 	if prevIndexInfoId > 0 {
 		sql += ` ( sort > ? or (base_from_mysteel_chemical_index_id > ` + fmt.Sprint(prevIndexInfoId) + ` and sort = ` + fmt.Sprint(nowSort) + `))`
 	}
-	_, err = o.Raw(sql, classifyId, nowSort).Exec()
+	err = global.DmSQL["data"].Exec(sql, classifyId, nowSort).Error
 	return
 }
 
 // GetFirstBaseFromMysteelChemicalIndexByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromMysteelChemicalIndexByClassifyId(classifyId int) (item *BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id=? order by sort asc,base_from_mysteel_chemical_index_id asc limit 1`
+	//err = o.Raw(sql, classifyId).QueryRow(&item)
+
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id=? order by sort asc,base_from_mysteel_chemical_index_id asc limit 1`
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DmSQL["data"].Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 // GetMysteelChemicalIndexCount 根据条件获取钢联化工数据
 func GetMysteelChemicalIndexCount(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_index WHERE 1=1 `
+	//
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//sql += ` ORDER BY base_from_mysteel_chemical_index_id ASC `
+	//err = o.Raw(sql, pars).QueryRow(&count)
+
 	sql := ` SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_index WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY base_from_mysteel_chemical_index_id ASC `
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, pars).Scan(&count).Error
 	return
 }
 
 // GetMysteelChemicalIndexList 根据分类id获取钢联化工频度数据列表
 func GetMysteelChemicalIndexList(condition string, pars []interface{}, startSize, pageSize int, orderDesc string) (items []*BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE 1=1 `
+	//
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//
+	//if orderDesc == `` {
+	//	orderDesc = ` ASC `
+	//}
+	//sql += ` ORDER BY base_from_mysteel_chemical_index_id `
+	//sql += orderDesc
+	//sql += ` LIMIT ?,? `
+	//_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE 1=1 `
 
 	if condition != "" {
@@ -387,23 +510,22 @@ func GetMysteelChemicalIndexList(condition string, pars []interface{}, startSize
 	sql += ` ORDER BY base_from_mysteel_chemical_index_id `
 	sql += orderDesc
 	sql += ` LIMIT ?,? `
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
-
+	err = global.DmSQL["data"].Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 
-// GetMysteelChemicalIndexListGroupByUserId 根据指标id列表、用户分组获取指标信息
-func GetMysteelChemicalIndexListGroupByUserId(edbIdList []string) (items []*BaseFromMysteelChemicalIndex, err error) {
-	num := len(edbIdList)
-	if num <= 0 {
-		return
-	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) GROUP BY sys_user_id `
-	_, err = o.Raw(sql, edbIdList).QueryRows(&items)
-
-	return
-}
+//// GetMysteelChemicalIndexListGroupByUserId 根据指标id列表、用户分组获取指标信息
+//func GetMysteelChemicalIndexListGroupByUserId(edbIdList []string) (items []*BaseFromMysteelChemicalIndex, err error) {
+//	num := len(edbIdList)
+//	if num <= 0 {
+//		return
+//	}
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) GROUP BY sys_user_id `
+//	_, err = o.Raw(sql, edbIdList).QueryRows(&items)
+//
+//	return
+//}
 
 // GetMysteelChemicalIndexListByIndexId
 // @Description: 根据指标id列表获取列表信息
@@ -415,10 +537,12 @@ func GetMysteelChemicalIndexListByIndexId(edbIdList []string) (items []*BaseFrom
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, edbIdList).QueryRows(&items)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) `
+	//_, err = o.Raw(sql, edbIdList).QueryRows(&items)
 
+	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) `
+	err = global.DmSQL["data"].Raw(sql, edbIdList).Find(&items).Error
 	return
 }
 
@@ -432,10 +556,12 @@ func GetMysteelChemicalIndexListByUserId(userIdList []int) (items []*BaseFromMys
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, userIdList).QueryRows(&items)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `) `
+	//_, err = o.Raw(sql, userIdList).QueryRows(&items)
 
+	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `) `
+	err = global.DmSQL["data"].Raw(sql, userIdList).Find(&items).Error
 	return
 }
 
@@ -445,9 +571,11 @@ func ModifyMysteelChemicalIndexUserIdByCodeList(edbIdList []string, userId int,
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) `
+	//_, err = o.Raw(sql, userId, userName, edbIdList).Exec()
 	sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, userId, userName, edbIdList).Exec()
+	err = global.DmSQL["data"].Exec(sql, userId, userName, edbIdList).Error
 	return
 }
 
@@ -464,19 +592,24 @@ func ModifyMysteelChemicalIndexUserIdByOldUserId(oldUserIdList []int, userId int
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `)  `
-	_, err = o.Raw(sql, userId, userName, oldUserIdList).Exec()
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `)  `
+	//_, err = o.Raw(sql, userId, userName, oldUserIdList).Exec()
 
+	sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `)  `
+	err = global.DmSQL["data"].Exec(sql, userId, userName, oldUserIdList).Error
 	return
 }
 
 // GetMysteelChemicalIndexAdminList 获取所有指标创建人
 func GetMysteelChemicalIndexAdminList() (list []int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT sys_user_id FROM base_from_mysteel_chemical_index GROUP BY sys_user_id `
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT sys_user_id FROM base_from_mysteel_chemical_index GROUP BY sys_user_id `
+	//
+	//_, err = o.Raw(sql).QueryRows(&list)
 
-	_, err = o.Raw(sql).QueryRows(&list)
+	sql := ` SELECT sys_user_id FROM base_from_mysteel_chemical_index GROUP BY sys_user_id `
+	err = global.DmSQL["data"].Raw(sql).Find(&list).Error
 	return
 }
 
@@ -487,9 +620,12 @@ type TerminalNum struct {
 
 // GetMysteelChemicalGroupTerminalNum 获取钢联化工指标的终端分布
 func GetMysteelChemicalGroupTerminalNum() (items []*TerminalNum, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT terminal_code,count(1) num FROM base_from_mysteel_chemical_index GROUP BY terminal_code ORDER BY num ASC `
+	//_, err = o.Raw(sql).QueryRows(&items)
+
 	sql := ` SELECT terminal_code,count(1) num FROM base_from_mysteel_chemical_index GROUP BY terminal_code ORDER BY num ASC `
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql).Find(&items).Error
 	return
 }
 
@@ -530,19 +666,42 @@ type RefreshBaseEdbInfoResp struct {
 // @return items []*BaseRefreshEdbInfo
 // @return err error
 func GetMysteelChemicalBaseInfoList(condition string, pars []interface{}, orderBy string, startSize, pageSize int) (total int, items []*BaseRefreshEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
 
 	// 数量汇总
+	//totalSql := ` SELECT count(1) FROM base_from_mysteel_chemical_index WHERE 1=1 `
+	//if condition != "" {
+	//	totalSql += condition
+	//}
+	//err = o.Raw(totalSql, pars).QueryRow(&total)
+	//if err != nil {
+	//	return
+	//}
+
 	totalSql := ` SELECT count(1) FROM base_from_mysteel_chemical_index WHERE 1=1 `
 	if condition != "" {
 		totalSql += condition
 	}
-	err = o.Raw(totalSql, pars).QueryRow(&total)
+	err = global.DmSQL["data"].Raw(totalSql, pars).Scan(&total).Error
 	if err != nil {
 		return
 	}
 
 	// 列表数据
+	//sql := ` SELECT base_from_mysteel_chemical_index_id as edb_info_id, base_from_mysteel_chemical_classify_id as classify_id,index_code,index_name,end_date,end_value,sys_user_id,sys_user_real_name,frequency,is_stop,terminal_code FROM base_from_mysteel_chemical_index WHERE 1=1  `
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//
+	//if orderBy != "" {
+	//	sql += ` ORDER BY ` + orderBy
+	//} else {
+	//	sql += ` ORDER BY base_from_mysteel_chemical_index_id ASC `
+	//}
+	//sql += `  LIMIT ?,? `
+	//
+	//_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+
 	sql := ` SELECT base_from_mysteel_chemical_index_id as edb_info_id, base_from_mysteel_chemical_classify_id as classify_id,index_code,index_name,end_date,end_value,sys_user_id,sys_user_real_name,frequency,is_stop,terminal_code FROM base_from_mysteel_chemical_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
@@ -555,7 +714,7 @@ func GetMysteelChemicalBaseInfoList(condition string, pars []interface{}, orderB
 	}
 	sql += `  LIMIT ?,? `
 
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 
@@ -572,21 +731,27 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 	if idNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
-	defer func() {
-		if err != nil {
-			_ = o.Rollback()
-			return
-		}
-		_ = o.Commit()
-	}()
+	//o, err := orm.NewOrmUsingDB("data").Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = o.Rollback()
+	//		return
+	//	}
+	//	_ = o.Commit()
+	//}()
 
 	// 更改数据源的更新状态
+	//sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE base_from_mysteel_chemical_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
+	//_, err = o.Raw(sql, isStop, edbIdList).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE base_from_mysteel_chemical_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-	_, err = o.Raw(sql, isStop, edbIdList).Exec()
+	err = global.DmSQL["data"].Exec(sql, isStop, edbIdList).Error
 	if err != nil {
 		return
 	}
@@ -594,11 +759,18 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 	codeNum := len(indexCodeList)
 	if codeNum <= 0 {
 		// 需要通过指标id列表查找code列表
+		//sql := ` SELECT index_code FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
+		//_, err = o.Raw(sql, edbIdList).QueryRows(&indexCodeList)
+		//if err != nil {
+		//	return
+		//}
+
 		sql := ` SELECT index_code FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-		_, err = o.Raw(sql, edbIdList).QueryRows(&indexCodeList)
+		err = global.DmSQL["data"].Raw(sql, edbIdList).Find(&indexCodeList).Error
 		if err != nil {
 			return
 		}
+
 	}
 
 	codeNum = len(indexCodeList)
@@ -608,12 +780,17 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 	}
 
 	// 更改指标的更新状态
+	//sql = ` UPDATE edb_info SET no_update = ? WHERE source = ? AND sub_source= ? AND edb_code IN (` + utils.GetOrmInReplace(codeNum) + `) `
+	//_, err = o.Raw(sql, isStop, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, indexCodeList).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql = ` UPDATE edb_info SET no_update = ? WHERE source = ? AND sub_source= ? AND edb_code IN (` + utils.GetOrmInReplace(codeNum) + `) `
-	_, err = o.Raw(sql, isStop, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, indexCodeList).Exec()
+	err = global.DmSQL["data"].Exec(sql, isStop, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, indexCodeList).Error
 	if err != nil {
 		return
 	}
-
 	return
 }
 
@@ -626,35 +803,64 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 // @param isStop int
 // @return err error
 func ModifyMysteelChemicalUpdateStatusByEdbInfoId(edbInfoId, isStop int, edbCode string, calculateEdbInfoIds []int) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	//o, err := orm.NewOrmUsingDB("data").Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = o.Rollback()
+	//		return
+	//	}
+	//	_ = o.Commit()
+	//}()
+
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
-			return
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
 		}
-		_ = o.Commit()
 	}()
 
 	// 更改数据源的更新状态
+	//sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE index_code = ? `
+	//_, err = o.Raw(sql, isStop, edbCode).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE index_code = ? `
-	_, err = o.Raw(sql, isStop, edbCode).Exec()
+	err = to.Exec(sql, isStop, edbCode).Error
 	if err != nil {
 		return
 	}
 
 	// 更改指标的更新状态
+	//sql = ` UPDATE edb_info SET no_update = ? WHERE source = ? AND sub_source= ? AND edb_info_id=? `
+	//_, err = o.Raw(sql, isStop, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, edbInfoId).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql = ` UPDATE edb_info SET no_update = ? WHERE source = ? AND sub_source= ? AND edb_info_id=? `
-	_, err = o.Raw(sql, isStop, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, edbInfoId).Exec()
+	err = to.Exec(sql, isStop, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, edbInfoId).Error
 	if err != nil {
 		return
 	}
+
 	if len(calculateEdbInfoIds) > 0 {
 		// 批量更新相关联的指标ID
+		//sql = ` UPDATE edb_info SET no_update = ? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(calculateEdbInfoIds)) + `) `
+		//_, err = o.Raw(sql, isStop, calculateEdbInfoIds).Exec()
+		//if err != nil {
+		//	return
+		//}
+
 		sql = ` UPDATE edb_info SET no_update = ? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(calculateEdbInfoIds)) + `) `
-		_, err = o.Raw(sql, isStop, calculateEdbInfoIds).Exec()
+		err = to.Exec(sql, isStop, calculateEdbInfoIds).Error
 		if err != nil {
 			return
 		}
@@ -664,35 +870,64 @@ func ModifyMysteelChemicalUpdateStatusByEdbInfoId(edbInfoId, isStop int, edbCode
 }
 
 func ModifyMysteelChemicalUpdateStatusByEdbInfoIds(edbInfoIds []int, isStop int, edbCodes []string, calculateEdbInfoIds []int) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	//o, err := orm.NewOrmUsingDB("data").Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = o.Rollback()
+	//		return
+	//	}
+	//	_ = o.Commit()
+	//}()
+
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
-			return
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
 		}
-		_ = o.Commit()
 	}()
 
 	// 更改数据源的更新状态
+	//sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE index_code IN (` + utils.GetOrmInReplace(len(edbCodes)) + `) `
+	//_, err = o.Raw(sql, isStop, edbCodes).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE index_code IN (` + utils.GetOrmInReplace(len(edbCodes)) + `) `
-	_, err = o.Raw(sql, isStop, edbCodes).Exec()
+	err = to.Exec(sql, isStop, edbCodes).Error
 	if err != nil {
 		return
 	}
 
 	// 更改指标的更新状态
+	//sql = ` UPDATE edb_info SET no_update = ? WHERE source = ? AND edb_info_id IN (` + utils.GetOrmInReplace(len(edbInfoIds)) + `) `
+	//_, err = o.Raw(sql, isStop, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, edbInfoIds).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql = ` UPDATE edb_info SET no_update = ? WHERE source = ? AND edb_info_id IN (` + utils.GetOrmInReplace(len(edbInfoIds)) + `) `
-	_, err = o.Raw(sql, isStop, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, edbInfoIds).Exec()
+	err = to.Exec(sql, isStop, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, edbInfoIds).Error
 	if err != nil {
 		return
 	}
+
 	if len(calculateEdbInfoIds) > 0 {
 		// 批量更新相关联的指标ID
+		//sql = ` UPDATE edb_info SET no_update = ? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(calculateEdbInfoIds)) + `) `
+		//_, err = o.Raw(sql, isStop, calculateEdbInfoIds).Exec()
+		//if err != nil {
+		//	return
+		//}
+
 		sql = ` UPDATE edb_info SET no_update = ? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(calculateEdbInfoIds)) + `) `
-		_, err = o.Raw(sql, isStop, calculateEdbInfoIds).Exec()
+		err = to.Exec(sql, isStop, calculateEdbInfoIds).Error
 		if err != nil {
 			return
 		}
@@ -715,9 +950,11 @@ func GetNotIsSupplierStopIndexByCodeList(codeList []string, isStop int) (items [
 		return
 	}
 
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE is_supplier_stop = ? AND index_code in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, isStop, codeList).QueryRows(&items)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE is_supplier_stop = ? AND index_code in (` + utils.GetOrmInReplace(num) + `) `
+	//_, err = o.Raw(sql, isStop, codeList).QueryRows(&items)
 
+	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE is_supplier_stop = ? AND index_code in (` + utils.GetOrmInReplace(num) + `) `
+	err = global.DmSQL["data"].Raw(sql, isStop, codeList).Find(&items).Error
 	return
 }

+ 130 - 63
models/data_manage/predict_edb_conf.go

@@ -1,9 +1,8 @@
 package data_manage
 
 import (
-	"eta_gn/eta_api/services/alarm_msg"
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
@@ -51,64 +50,87 @@ type PredictEdbConfAndData struct {
 	DataList         []*EdbDataList `description:"动态数据"`
 }
 
-// GetPredictEdbConfById 根据预测指标id获取预测指标配置信息
-func GetPredictEdbConfById(edbInfoId int) (item *PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM predict_edb_conf WHERE predict_edb_info_id=? `
-	err = o.Raw(sql, edbInfoId).QueryRow(&item)
-	return
-}
-
-// GetPredictEdbConfBySourceEdbInfoId 根据来源指标id获取配置
-func GetPredictEdbConfBySourceEdbInfoId(sourceEdbInfoId int) (item *PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM predict_edb_conf WHERE source_edb_info_id=? `
-	err = o.Raw(sql, sourceEdbInfoId).QueryRow(&item)
-	return
-}
+//// GetPredictEdbConfById 根据预测指标id获取预测指标配置信息
+//func GetPredictEdbConfById(edbInfoId int) (item *PredictEdbConf, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT * FROM predict_edb_conf WHERE predict_edb_info_id=? `
+//	err = o.Raw(sql, edbInfoId).QueryRow(&item)
+//	return
+//}
+//
+//// GetPredictEdbConfBySourceEdbInfoId 根据来源指标id获取配置
+//func GetPredictEdbConfBySourceEdbInfoId(sourceEdbInfoId int) (item *PredictEdbConf, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT * FROM predict_edb_conf WHERE source_edb_info_id=? `
+//	err = o.Raw(sql, sourceEdbInfoId).QueryRow(&item)
+//	return
+//}
 
 // GetPredictEdbConfCount 根据来源指标id获取被引用的次数
 func GetPredictEdbConfCount(sourceEdbInfoId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT COUNT(1) AS count FROM predict_edb_conf WHERE source_edb_info_id=? `
+	//err = o.Raw(sql, sourceEdbInfoId).QueryRow(&count)
+
 	sql := ` SELECT COUNT(1) AS count FROM predict_edb_conf WHERE source_edb_info_id=? `
-	err = o.Raw(sql, sourceEdbInfoId).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, sourceEdbInfoId).Scan(&count).Error
 	return
 }
 
-// AddPredictEdbConf 添加预测指标规则
-func AddPredictEdbConf(item *PredictEdbConf) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
-	return
-}
+//// AddPredictEdbConf 添加预测指标规则
+//func AddPredictEdbConf(item *PredictEdbConf) (lastId int64, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	lastId, err = o.Insert(item)
+//	return
+//}
 
 // AddPredictEdb 添加预测指标
 func AddPredictEdb(item *EdbInfo, calculateMappingItem *EdbInfoCalculateMapping, predictEdbConfList []*PredictEdbConf) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
-	}
+	//o := orm.NewOrmUsingDB("data")
+	//tx, err := o.Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		tmpErr := tx.Rollback()
+	//		if tmpErr != nil {
+	//			go alarm_msg.SendAlarmMsg("AddPredictEdb 事务回滚失败,Err:"+tmpErr.Error(), 3)
+	//		}
+	//	} else {
+	//		err = tx.Commit()
+	//	}
+	//}()
+
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
-			tmpErr := tx.Rollback()
-			if tmpErr != nil {
-				go alarm_msg.SendAlarmMsg("AddPredictEdb 事务回滚失败,Err:"+tmpErr.Error(), 3)
-			}
+			_ = to.Rollback()
 		} else {
-			err = tx.Commit()
+			_ = to.Commit()
 		}
 	}()
+
 	// 新增预测指标
-	edbInfoId, err := o.Insert(item)
+	//edbInfoId, err := to.Create(item)
+	//if err != nil {
+	//	return
+	//}
+	//item.EdbInfoId = int(edbInfoId)
+
+	err = to.Create(item).Error
 	if err != nil {
 		return
 	}
-	item.EdbInfoId = int(edbInfoId)
-
 	// 新增预测指标
 	calculateMappingItem.EdbInfoId = item.EdbInfoId
-	_, err = o.Insert(calculateMappingItem)
+	//_, err = o.Insert(calculateMappingItem)
+	//if err != nil {
+	//	return
+	//}
+
+	err = to.Create(calculateMappingItem).Error
 	if err != nil {
 		return
 	}
@@ -119,7 +141,12 @@ func AddPredictEdb(item *EdbInfo, calculateMappingItem *EdbInfoCalculateMapping,
 		for _, v := range predictEdbConfList {
 			v.PredictEdbInfoId = item.EdbInfoId
 		}
-		_, err = o.InsertMulti(lenPredictEdbConf, predictEdbConfList)
+		//_, err = o.InsertMulti(lenPredictEdbConf, predictEdbConfList)
+		//if err != nil {
+		//	return
+		//}
+
+		err = to.CreateInBatches(predictEdbConfList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -129,38 +156,63 @@ func AddPredictEdb(item *EdbInfo, calculateMappingItem *EdbInfoCalculateMapping,
 
 // EditPredictEdb 修改预测指标
 func EditPredictEdb(edbInfo *EdbInfo, predictEdbConfList []*PredictEdbConf, updateEdbInfoCol []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
-	}
+	//o := orm.NewOrmUsingDB("data")
+	//tx, err := o.Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		tmpErr := tx.Rollback()
+	//		if tmpErr != nil {
+	//			go alarm_msg.SendAlarmMsg("AddPredictEdb 事务回滚失败,Err:"+tmpErr.Error(), 3)
+	//		}
+	//	} else {
+	//		err = tx.Commit()
+	//	}
+	//}()
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
-			tmpErr := tx.Rollback()
-			if tmpErr != nil {
-				go alarm_msg.SendAlarmMsg("AddPredictEdb 事务回滚失败,Err:"+tmpErr.Error(), 3)
-			}
+			_ = to.Rollback()
 		} else {
-			err = tx.Commit()
+			_ = to.Commit()
 		}
 	}()
+
 	// 修改预测指标
-	_, err = o.Update(edbInfo, updateEdbInfoCol...)
+	//_, err = o.Update(edbInfo, updateEdbInfoCol...)
+	//if err != nil {
+	//	return
+	//}
+
+	err = to.Select(updateEdbInfoCol).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
 
 	// 先删除原有的配置
+	//sql := ` DELETE FROM predict_edb_conf WHERE predict_edb_info_id = ?`
+	//_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql := ` DELETE FROM predict_edb_conf WHERE predict_edb_info_id = ?`
-	_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
-
 	// 新增新有的预测指标配置
 	lenPredictEdbConf := len(predictEdbConfList)
 	if lenPredictEdbConf > 0 {
-		_, err = o.InsertMulti(lenPredictEdbConf, predictEdbConfList)
+		//_, err = o.InsertMulti(lenPredictEdbConf, predictEdbConfList)
+		//if err != nil {
+		//	return
+		//}
+
+		err = to.CreateInBatches(predictEdbConfList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -174,30 +226,45 @@ func GetPredictEdbInfoAllCalculate(edbInfoIdList []int) (list []*EdbInfo, err er
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT b.* FROM predict_edb_conf AS a
+	//		 INNER JOIN edb_info AS b ON a.source_edb_info_id=b.edb_info_id
+	//         WHERE a.predict_edb_info_id in (` + utils.GetOrmInReplace(num) + `)
+	//		 GROUP BY a.source_edb_info_id
+	//		 ORDER BY a.source_edb_info_id ASC `
+	//_, err = o.Raw(sql, edbInfoIdList).QueryRows(&list)
+
 	sql := ` SELECT b.* FROM predict_edb_conf AS a
 			 INNER JOIN edb_info AS b ON a.source_edb_info_id=b.edb_info_id
-             WHERE a.predict_edb_info_id in (` + utils.GetOrmInReplace(num) + `)
+	        WHERE a.predict_edb_info_id in (` + utils.GetOrmInReplace(num) + `)
 			 GROUP BY a.source_edb_info_id
 			 ORDER BY a.source_edb_info_id ASC `
-	_, err = o.Raw(sql, edbInfoIdList).QueryRows(&list)
+	err = global.DmSQL["data"].Raw(sql, edbInfoIdList).Find(&list).Error
 	return
 }
 
 // GetPredictEdbConfListById 根据预测指标id获取预测指标配置信息列表
 func GetPredictEdbConfListById(edbInfoId int) (items []*PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM predict_edb_conf WHERE predict_edb_info_id=? ORDER BY config_id ASC`
+	//_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+
 	sql := ` SELECT * FROM predict_edb_conf WHERE predict_edb_info_id=? ORDER BY config_id ASC`
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, edbInfoId).Find(&items).Error
 	return
 }
 
 // GetGroupPredictEdbBySourceEdbInfoId 根据来源指标id获取配置
 func GetGroupPredictEdbBySourceEdbInfoId(sourceEdbInfoId int) (items []*EdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT a.* FROM edb_info AS a
+	// JOIN predict_edb_conf AS b  on a.edb_info_id = b.predict_edb_info_id
+	//      WHERE b.source_edb_info_id=? group by a.edb_info_id`
+	//_, err = o.Raw(sql, sourceEdbInfoId).QueryRows(&items)
+
 	sql := ` SELECT a.* FROM edb_info AS a 
-     JOIN predict_edb_conf AS b  on a.edb_info_id = b.predict_edb_info_id
-          WHERE b.source_edb_info_id=? group by a.edb_info_id`
-	_, err = o.Raw(sql, sourceEdbInfoId).QueryRows(&items)
+	JOIN predict_edb_conf AS b  on a.edb_info_id = b.predict_edb_info_id
+	     WHERE b.source_edb_info_id=? group by a.edb_info_id`
+	err = global.DmSQL["data"].Raw(sql, sourceEdbInfoId).Find(&items).Error
 	return
 }

+ 43 - 30
models/data_manage/predict_edb_conf_calculate_mapping.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
@@ -22,21 +22,22 @@ type PredictEdbConfCalculateMapping struct {
 	ModifyTime                       time.Time `description:"修改时间"`
 }
 
-// GetPredictEdbConfCalculateMappingListById 根据预测指标id获取预测指标配置的关联指标信息列表
-func GetPredictEdbConfCalculateMappingListById(edbInfoId int) (items []*PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM predict_edb_conf_calculate_mapping WHERE edb_info_id=? ORDER BY predict_edb_conf_calculate_mapping_id ASC`
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
-	return
-}
-
-// GetPredictEdbConfCalculateMappingListByConfigId 根据预测指标配置id获取预测指标配置的关联指标信息列表
-func GetPredictEdbConfCalculateMappingListByConfigId(edbInfoId, configId int) (items []*PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM predict_edb_conf_calculate_mapping WHERE edb_info_id=? AND config_id=? ORDER BY predict_edb_conf_calculate_mapping_id ASC`
-	_, err = o.Raw(sql, edbInfoId, configId).QueryRows(&items)
-	return
-}
+//
+//// GetPredictEdbConfCalculateMappingListById 根据预测指标id获取预测指标配置的关联指标信息列表
+//func GetPredictEdbConfCalculateMappingListById(edbInfoId int) (items []*PredictEdbConf, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT * FROM predict_edb_conf_calculate_mapping WHERE edb_info_id=? ORDER BY predict_edb_conf_calculate_mapping_id ASC`
+//	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+//	return
+//}
+//
+//// GetPredictEdbConfCalculateMappingListByConfigId 根据预测指标配置id获取预测指标配置的关联指标信息列表
+//func GetPredictEdbConfCalculateMappingListByConfigId(edbInfoId, configId int) (items []*PredictEdbConf, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT * FROM predict_edb_conf_calculate_mapping WHERE edb_info_id=? AND config_id=? ORDER BY predict_edb_conf_calculate_mapping_id ASC`
+//	_, err = o.Raw(sql, edbInfoId, configId).QueryRows(&items)
+//	return
+//}
 
 type PredictEdbConfCalculateMappingDetail struct {
 	PredictEdbConfCalculateMappingId int       `orm:"column(predict_edb_conf_calculate_mapping_id);pk"`
@@ -57,25 +58,31 @@ type PredictEdbConfCalculateMappingDetail struct {
 	EdbCode                          string    `description:"指标code"`
 }
 
-// GetPredictEdbConfCalculateMappingDetailListById 根据配置id获取 配置关联指标信息
-func GetPredictEdbConfCalculateMappingDetailListById(edbInfoId int) (list []*PredictEdbConfCalculateMappingDetail, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type FROM predict_edb_conf_calculate_mapping AS a
-			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
-			WHERE a.edb_info_id=? ORDER BY sort ASC `
-
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&list)
-	return
-}
+//// GetPredictEdbConfCalculateMappingDetailListById 根据配置id获取 配置关联指标信息
+//func GetPredictEdbConfCalculateMappingDetailListById(edbInfoId int) (list []*PredictEdbConfCalculateMappingDetail, err error) {
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type FROM predict_edb_conf_calculate_mapping AS a
+//			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
+//			WHERE a.edb_info_id=? ORDER BY sort ASC `
+//
+//	_, err = o.Raw(sql, edbInfoId).QueryRows(&list)
+//	return
+//}
 
 // GetPredictEdbConfCalculateMappingDetailListByConfigId 根据配置id和指标id获取 配置关联指标信息
 func GetPredictEdbConfCalculateMappingDetailListByConfigId(edbInfoId, configId int) (list []*PredictEdbConfCalculateMappingDetail, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type FROM predict_edb_conf_calculate_mapping AS a
+	//		INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
+	//		WHERE a.edb_info_id=? AND a.config_id=?  ORDER BY sort ASC `
+	//
+	//_, err = o.Raw(sql, edbInfoId, configId).QueryRows(&list)
+
 	sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type FROM predict_edb_conf_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
 			WHERE a.edb_info_id=? AND a.config_id=?  ORDER BY sort ASC `
 
-	_, err = o.Raw(sql, edbInfoId, configId).QueryRows(&list)
+	err = global.DmSQL["data"].Raw(sql, edbInfoId, configId).Find(&list).Error
 	return
 }
 
@@ -85,11 +92,17 @@ func GetPredictEdbConfCalculateMappingDetailListByEdbInfoId(fromEdbInfoIdList []
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type,b.edb_code FROM predict_edb_conf_calculate_mapping AS a
+	//		INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
+	//		WHERE a.edb_info_id in (` + utils.GetOrmInReplace(num) + `) GROUP BY a.edb_info_id ORDER BY sort ASC `
+	//
+	//_, err = o.Raw(sql, fromEdbInfoIdList).QueryRows(&list)
+
 	sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type,b.edb_code FROM predict_edb_conf_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
 			WHERE a.edb_info_id in (` + utils.GetOrmInReplace(num) + `) GROUP BY a.edb_info_id ORDER BY sort ASC `
 
-	_, err = o.Raw(sql, fromEdbInfoIdList).QueryRows(&list)
+	err = global.DmSQL["data"].Raw(sql, fromEdbInfoIdList).Find(&list).Error
 	return
 }

+ 16 - 3
models/data_manage/predict_edb_rule_data.go

@@ -1,7 +1,7 @@
 package data_manage
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta_gn/eta_api/global"
 	"time"
 )
 
@@ -19,7 +19,20 @@ type PredictEdbRuleData struct {
 
 // GetPredictEdbRuleDataList 根据基础预测指标id集合 获取 所有的普通指标列表数据
 func GetPredictEdbRuleDataList(edbInfoId, configId int, startDate, endDate string) (list []*PredictEdbRuleData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//var pars []interface{}
+	//sql := ` SELECT * FROM predict_edb_rule_data WHERE edb_info_id = ? AND config_id = ? `
+	//if startDate != "" {
+	//	sql += ` AND data_time>=? `
+	//	pars = append(pars, startDate)
+	//}
+	//if endDate != "" {
+	//	sql += ` AND data_time<=? `
+	//	pars = append(pars, endDate)
+	//}
+	//sql += ` ORDER BY data_time ASC `
+	//_, err = o.Raw(sql, edbInfoId, configId, pars).QueryRows(&list)
+
 	var pars []interface{}
 	sql := ` SELECT * FROM predict_edb_rule_data WHERE edb_info_id = ? AND config_id = ? `
 	if startDate != "" {
@@ -31,6 +44,6 @@ func GetPredictEdbRuleDataList(edbInfoId, configId int, startDate, endDate strin
 		pars = append(pars, endDate)
 	}
 	sql += ` ORDER BY data_time ASC `
-	_, err = o.Raw(sql, edbInfoId, configId, pars).QueryRows(&list)
+	err = global.DmSQL["data"].Raw(sql, edbInfoId, configId, pars).Find(&list).Error
 	return
 }

+ 108 - 69
models/data_manage/sci_data.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
@@ -11,22 +11,26 @@ type SciClassify struct {
 	TypeCode string `orm:"column(type_code)" description:"分类名称编码"`
 }
 
-func GetSciClassify() (items []*SciClassify, err error) {
-	sql := `SELECT CONCAT(type_2,type_3) AS type_name,CONCAT(type_2,'#',type_3) type_code  FROM base_from_sci_index GROUP BY CONCAT(type_2,type_3) ORDER BY CONCAT(type_2,type_3) ASC `
-	o := orm.NewOrmUsingDB("data")
-	o.Raw(sql).QueryRows(&items)
-	return
-}
+//func GetSciClassify() (items []*SciClassify, err error) {
+//	sql := `SELECT CONCAT(type_2,type_3) AS type_name,CONCAT(type_2,'#',type_3) type_code  FROM base_from_sci_index GROUP BY CONCAT(type_2,type_3) ORDER BY CONCAT(type_2,type_3) ASC `
+//	o := orm.NewOrmUsingDB("data")
+//	o.Raw(sql).QueryRows(&items)
+//	return
+//}
 
 type SciFrequency struct {
 	Frequency string `description:"频度"`
 }
 
 func GetSciFrequencyByClassifyId(classifyId int) (items []*GlFrequency, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT frequency FROM base_from_sci_index WHERE classify_id = ? `
+	//sql += ` GROUP BY frequency ORDER BY frequency ASC `
+	//_, err = o.Raw(sql, classifyId).QueryRows(&items)
+
 	sql := ` SELECT frequency FROM base_from_sci_index WHERE classify_id = ? `
 	sql += ` GROUP BY frequency ORDER BY frequency ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
@@ -50,13 +54,21 @@ type SciIndex struct {
 }
 
 func GetSciIndex(condition string, pars interface{}) (items []*SciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_sci_index WHERE 1=1  `
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//sql += `ORDER BY sort ASC, base_from_sci_index_id asc`
+	//_, err = o.Raw(sql, pars).QueryRows(&items)
+
 	sql := ` SELECT * FROM base_from_sci_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += `ORDER BY sort ASC, base_from_sci_index_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, pars).Find(&items).Error
+
 	return
 }
 
@@ -72,27 +84,33 @@ type SciExportIndex struct {
 	ModifyTime string
 }
 
-func GetExportSciIndex(typeCodes []string) (items []*SciExportIndex, err error) {
-	if len(typeCodes) == 0 {
-		return
-	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT *,CONCAT(type_2, "#", type_3) AS type_name FROM base_from_sci_index WHERE CONCAT(type_2, "#", type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `) ORDER BY frequency ASC,index_code ASC`
-	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
-	return
-}
+//func GetExportSciIndex(typeCodes []string) (items []*SciExportIndex, err error) {
+//	if len(typeCodes) == 0 {
+//		return
+//	}
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT *,CONCAT(type_2, "#", type_3) AS type_name FROM base_from_sci_index WHERE CONCAT(type_2, "#", type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `) ORDER BY frequency ASC,index_code ASC`
+//	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
+//	return
+//}
 
 func GetSciFrequency(classifyId int) (items []*string, err error) {
+	//sql := `SELECT DISTINCT frequency FROM base_from_sci_index WHERE classify_id=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Raw(sql, classifyId).QueryRows(&items)
+
 	sql := `SELECT DISTINCT frequency FROM base_from_sci_index WHERE classify_id=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 func GetSciFrequencyByCode(code string) (items []*string, err error) {
+	//sql := `SELECT DISTINCT frequency FROM base_from_sci_index WHERE index_code=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Raw(sql, code).QueryRows(&items)
+
 	sql := `SELECT DISTINCT frequency FROM base_from_sci_index WHERE index_code=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, code).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, code).Find(&items).Error
 	return
 }
 
@@ -122,43 +140,63 @@ type SciIndexData struct {
 }
 
 func GetSciIndexData(indexCode string, startSize, pageSize int) (items []*SciIndexData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT *  FROM base_from_sci_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
+	//_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+
 	sql := ` SELECT *  FROM base_from_sci_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
 func GetSciIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT COUNT(1) AS count  FROM base_from_sci_data WHERE index_code=? `
+	//err = o.Raw(sql, indexCode).QueryRow(&count)
+
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_sci_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 // GetSciItemList 模糊查询Sci数据库指标列表
 func GetSciItemList(keyword string) (items []*SciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := "SELECT * FROM base_from_sci_index WHERE CONCAT(index_name,index_code) LIKE ? "
+	//_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+
 	sql := "SELECT * FROM base_from_sci_index WHERE CONCAT(index_name,index_code) LIKE ? "
-	_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
 	return
 }
 
 func GetSciIndexDataByCode(indexCode string) (items []*SciIndexData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT *  FROM base_from_sci_data WHERE index_code=? ORDER BY data_time DESC  `
+	//_, err = o.Raw(sql, indexCode).QueryRows(&items)
+
 	sql := ` SELECT *  FROM base_from_sci_data WHERE index_code=? ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 func GetSciDataMaxCount(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT MAX(t.num) AS count FROM (
+	//			SELECT COUNT(1) AS num  FROM base_from_sci_index AS a
+	//			INNER JOIN base_from_sci_data AS b ON a.index_code=b.index_code
+	//			WHERE a.classify_id=?
+	//			GROUP BY a.base_from_sci_index_id
+	//		)AS t `
+	//err = o.Raw(sql, classifyId).QueryRow(&count)
+
 	sql := `SELECT MAX(t.num) AS count FROM (
 				SELECT COUNT(1) AS num  FROM base_from_sci_index AS a
 				INNER JOIN base_from_sci_data AS b ON a.index_code=b.index_code
 				WHERE a.classify_id=?
 				GROUP BY a.base_from_sci_index_id
 			)AS t `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
@@ -167,32 +205,33 @@ type ExportSciDataMaxCount struct {
 	Count    int
 }
 
-func GetExportSciDataMaxCount(typeCodes []string) (items []*ExportSciDataMaxCount, err error) {
-	if len(typeCodes) == 0 {
-		return
-	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT
-				MAX(t.num) AS count,
-				t.type_name
-			FROM
-				(
-					SELECT
-						COUNT(1) AS num,
-						CONCAT(a.type_2, "#", a.type_3) AS type_name
-					FROM
-						base_from_sci_index AS a
-					INNER JOIN base_from_sci_data AS b ON a.index_code = b.index_code
-					WHERE
-						CONCAT(a.type_2, "#", a.type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `)
-					GROUP BY
-						a.base_from_sci_index_id
-				) AS t
-			GROUP BY
-				type_name `
-	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
-	return
-}
+//
+//func GetExportSciDataMaxCount(typeCodes []string) (items []*ExportSciDataMaxCount, err error) {
+//	if len(typeCodes) == 0 {
+//		return
+//	}
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT
+//				MAX(t.num) AS count,
+//				t.type_name
+//			FROM
+//				(
+//					SELECT
+//						COUNT(1) AS num,
+//						CONCAT(a.type_2, "#", a.type_3) AS type_name
+//					FROM
+//						base_from_sci_index AS a
+//					INNER JOIN base_from_sci_data AS b ON a.index_code = b.index_code
+//					WHERE
+//						CONCAT(a.type_2, "#", a.type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `)
+//					GROUP BY
+//						a.base_from_sci_index_id
+//				) AS t
+//			GROUP BY
+//				type_name `
+//	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
+//	return
+//}
 
 type ExportSciIndexData struct {
 	Value     string `orm:"column(value)" description:"日期"`
@@ -200,12 +239,12 @@ type ExportSciIndexData struct {
 	IndexCode string `orm:"column(index_code)" description:"指标编码"`
 }
 
-func GetExportSciIndexDataByCodes(indexCodes []string) (items []*ExportSciIndexData, err error) {
-	if len(indexCodes) == 0 {
-		return
-	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT index_code,data_time,value FROM base_from_sci_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
-	return
-}
+//func GetExportSciIndexDataByCodes(indexCodes []string) (items []*ExportSciIndexData, err error) {
+//	if len(indexCodes) == 0 {
+//		return
+//	}
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT index_code,data_time,value FROM base_from_sci_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) ORDER BY data_time DESC  `
+//	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
+//	return
+//}

+ 4 - 3
models/data_manage/search_keyword.go

@@ -1,7 +1,7 @@
 package data_manage
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta_gn/eta_api/global"
 	"time"
 )
 
@@ -12,7 +12,8 @@ type SearchKeyword struct {
 }
 
 func AddSearchKeyword(item *SearchKeyword) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(item)
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Insert(item)
+	err = global.DmSQL["data"].Create(item).Error
 	return
 }

+ 179 - 86
models/data_manage/smm_data.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
@@ -11,22 +11,26 @@ type SmmClassify struct {
 	TypeCode string `orm:"column(type_code)" description:"分类名称编码"`
 }
 
-func GetSmmClassify() (items []*SmmClassify, err error) {
-	sql := `SELECT CONCAT(type_2,type_3) AS type_name,CONCAT(type_2,'#',type_3) type_code  FROM base_from_smm_index GROUP BY CONCAT(type_2,type_3) ORDER BY CONCAT(type_2,type_3) ASC `
-	o := orm.NewOrmUsingDB("data")
-	o.Raw(sql).QueryRows(&items)
-	return
-}
+//func GetSmmClassify() (items []*SmmClassify, err error) {
+//	sql := `SELECT CONCAT(type_2,type_3) AS type_name,CONCAT(type_2,'#',type_3) type_code  FROM base_from_smm_index GROUP BY CONCAT(type_2,type_3) ORDER BY CONCAT(type_2,type_3) ASC `
+//	o := orm.NewOrmUsingDB("data")
+//	o.Raw(sql).QueryRows(&items)
+//	return
+//}
 
 type SmmFrequency struct {
 	Frequency string `description:"频度"`
 }
 
 func GetSmmFrequencyByClassifyId(classifyId int) (items []*GlFrequency, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT frequency FROM base_from_smm_index WHERE classify_id = ? `
+	//sql += ` GROUP BY frequency ORDER BY frequency ASC `
+	//_, err = o.Raw(sql, classifyId).QueryRows(&items)
+
 	sql := ` SELECT frequency FROM base_from_smm_index WHERE classify_id = ? `
 	sql += ` GROUP BY frequency ORDER BY frequency ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
@@ -75,13 +79,20 @@ type SmmIndexItem struct {
 }
 
 func GetSmmIndex(condition string, pars interface{}) (items []*SmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_smm_index WHERE 1=1  `
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//sql += `ORDER BY sort ASC, base_from_smm_index_id asc`
+	//_, err = o.Raw(sql, pars).QueryRows(&items)
+
 	sql := ` SELECT * FROM base_from_smm_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += `ORDER BY sort ASC, base_from_smm_index_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -93,10 +104,12 @@ func GetSmmIndex(condition string, pars interface{}) (items []*SmmIndex, err err
 // @return item *SmmIndex
 // @return err error
 func GetSmmIndexById(basFromSmmIndexId int) (item *SmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM base_from_smm_index WHERE base_from_smm_index_id = ?  `
-	err = o.Raw(sql, basFromSmmIndexId).QueryRow(&item)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM base_from_smm_index WHERE base_from_smm_index_id = ?  `
+	//err = o.Raw(sql, basFromSmmIndexId).QueryRow(&item)
 
+	sql := ` SELECT * FROM base_from_smm_index WHERE base_from_smm_index_id = ?  `
+	err = global.DmSQL["data"].Raw(sql, basFromSmmIndexId).First(&item).Error
 	return
 }
 
@@ -112,27 +125,33 @@ type SmmExportIndex struct {
 	ModifyTime string
 }
 
-func GetExportSmmIndex(typeCodes []string) (items []*SmmExportIndex, err error) {
-	if len(typeCodes) == 0 {
-		return
-	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT *,CONCAT(type_2, "#", type_3) AS type_name FROM base_from_smm_index WHERE CONCAT(type_2, "#", type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `) ORDER BY frequency ASC,index_code ASC`
-	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
-	return
-}
+//func GetExportSmmIndex(typeCodes []string) (items []*SmmExportIndex, err error) {
+//	if len(typeCodes) == 0 {
+//		return
+//	}
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT *,CONCAT(type_2, "#", type_3) AS type_name FROM base_from_smm_index WHERE CONCAT(type_2, "#", type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `) ORDER BY frequency ASC,index_code ASC`
+//	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
+//	return
+//}
 
 func GetSmmFrequency(classifyId int) (items []*string, err error) {
+	//sql := `SELECT DISTINCT frequency FROM base_from_smm_index WHERE classify_id=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Raw(sql, classifyId).QueryRows(&items)
+
 	sql := `SELECT DISTINCT frequency FROM base_from_smm_index WHERE classify_id=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 func GetSmmFrequencyByCode(code string) (items []*string, err error) {
+	//sql := `SELECT DISTINCT frequency FROM base_from_smm_index WHERE index_code=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
+	//o := orm.NewOrmUsingDB("data")
+	//_, err = o.Raw(sql, code).QueryRows(&items)
+
 	sql := `SELECT DISTINCT frequency FROM base_from_smm_index WHERE index_code=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, code).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, code).Find(&items).Error
 	return
 }
 
@@ -162,43 +181,63 @@ type SmmIndexData struct {
 }
 
 func GetSmmIndexData(indexCode string, startSize, pageSize int) (items []*SmmIndexData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT *  FROM base_from_smm_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
+	//_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+
 	sql := ` SELECT *  FROM base_from_smm_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
 func GetSmmIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT COUNT(1) AS count  FROM base_from_smm_data WHERE index_code=? `
+	//err = o.Raw(sql, indexCode).QueryRow(&count)
+
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_smm_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 // GetSmmItemList 模糊查询Smm数据库指标列表
 func GetSmmItemList(keyword string) (items []*SmmIndexItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := "SELECT * FROM base_from_smm_index WHERE CONCAT(index_name,index_code) LIKE ? "
+	//_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+
 	sql := "SELECT * FROM base_from_smm_index WHERE CONCAT(index_name,index_code) LIKE ? "
-	_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
 	return
 }
 
 func GetSmmIndexDataByCode(indexCode string) (items []*SmmIndexData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT *  FROM base_from_smm_data WHERE index_code=? ORDER BY data_time DESC  `
+	//_, err = o.Raw(sql, indexCode).QueryRows(&items)
+
 	sql := ` SELECT *  FROM base_from_smm_data WHERE index_code=? ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 func GetSmmDataMaxCount(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := `SELECT MAX(t.num) AS count FROM (
+	//			SELECT COUNT(1) AS num  FROM base_from_smm_index AS a
+	//			INNER JOIN base_from_smm_data AS b ON a.index_code=b.index_code
+	//			WHERE a.classify_id=?
+	//			GROUP BY a.base_from_smm_index_id
+	//		)AS t `
+	//err = o.Raw(sql, classifyId).QueryRow(&count)
+
 	sql := `SELECT MAX(t.num) AS count FROM (
 				SELECT COUNT(1) AS num  FROM base_from_smm_index AS a
 				INNER JOIN base_from_smm_data AS b ON a.index_code=b.index_code
 				WHERE a.classify_id=?
 				GROUP BY a.base_from_smm_index_id
 			)AS t `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = global.DmSQL["data"].Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
@@ -207,32 +246,33 @@ type ExportSmmDataMaxCount struct {
 	Count    int
 }
 
-func GetExportSmmDataMaxCount(typeCodes []string) (items []*ExportSmmDataMaxCount, err error) {
-	if len(typeCodes) == 0 {
-		return
-	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT
-				MAX(t.num) AS count,
-				t.type_name
-			FROM
-				(
-					SELECT
-						COUNT(1) AS num,
-						CONCAT(a.type_2, "#", a.type_3) AS type_name
-					FROM
-						base_from_smm_index AS a
-					INNER JOIN base_from_smm_data AS b ON a.index_code = b.index_code
-					WHERE
-						CONCAT(a.type_2, "#", a.type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `)
-					GROUP BY
-						a.base_from_smm_index_id
-				) AS t
-			GROUP BY
-				type_name `
-	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
-	return
-}
+//
+//func GetExportSmmDataMaxCount(typeCodes []string) (items []*ExportSmmDataMaxCount, err error) {
+//	if len(typeCodes) == 0 {
+//		return
+//	}
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT
+//				MAX(t.num) AS count,
+//				t.type_name
+//			FROM
+//				(
+//					SELECT
+//						COUNT(1) AS num,
+//						CONCAT(a.type_2, "#", a.type_3) AS type_name
+//					FROM
+//						base_from_smm_index AS a
+//					INNER JOIN base_from_smm_data AS b ON a.index_code = b.index_code
+//					WHERE
+//						CONCAT(a.type_2, "#", a.type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `)
+//					GROUP BY
+//						a.base_from_smm_index_id
+//				) AS t
+//			GROUP BY
+//				type_name `
+//	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
+//	return
+//}
 
 type ExportSmmIndexData struct {
 	Value     string `orm:"column(value)" description:"日期"`
@@ -240,15 +280,16 @@ type ExportSmmIndexData struct {
 	IndexCode string `orm:"column(index_code)" description:"指标编码"`
 }
 
-func GetExportSmmIndexDataByCodes(indexCodes []string) (items []*ExportSmmIndexData, err error) {
-	if len(indexCodes) == 0 {
-		return
-	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT index_code,data_time,value FROM base_from_smm_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
-	return
-}
+//
+//func GetExportSmmIndexDataByCodes(indexCodes []string) (items []*ExportSmmIndexData, err error) {
+//	if len(indexCodes) == 0 {
+//		return
+//	}
+//	o := orm.NewOrmUsingDB("data")
+//	sql := ` SELECT index_code,data_time,value FROM base_from_smm_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) ORDER BY data_time DESC  `
+//	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
+//	return
+//}
 
 // GetSmmBaseInfoList
 // @Description: 获取有色数据列表
@@ -263,14 +304,39 @@ func GetExportSmmIndexDataByCodes(indexCodes []string) (items []*ExportSmmIndexD
 // @return items []*BaseRefreshEdbInfo
 // @return err error
 func GetSmmBaseInfoList(condition string, pars []interface{}, orderBy string, startSize, pageSize int) (total int, items []*BaseRefreshEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//
+	//// 数量汇总
+	//totalSql := ` SELECT count(1) FROM base_from_smm_index WHERE 1=1 `
+	//if condition != "" {
+	//	totalSql += condition
+	//}
+	//err = o.Raw(totalSql, pars).QueryRow(&total)
+	//if err != nil {
+	//	return
+	//}
+	//
+	//// 列表数据
+	//sql := ` SELECT base_from_smm_index_id as edb_info_id, classify_id,index_code,index_name,end_date,end_value,frequency,is_stop,terminal_code FROM base_from_smm_index WHERE 1=1  `
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//
+	//if orderBy != "" {
+	//	sql += ` ORDER BY ` + orderBy
+	//} else {
+	//	sql += ` ORDER BY base_from_smm_index_id ASC `
+	//}
+	//sql += `  LIMIT ?,? `
+	//
+	//_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
 
 	// 数量汇总
 	totalSql := ` SELECT count(1) FROM base_from_smm_index WHERE 1=1 `
 	if condition != "" {
 		totalSql += condition
 	}
-	err = o.Raw(totalSql, pars).QueryRow(&total)
+	err = global.DmSQL["data"].Raw(totalSql, pars).Scan(&total).Error
 	if err != nil {
 		return
 	}
@@ -288,7 +354,7 @@ func GetSmmBaseInfoList(condition string, pars []interface{}, orderBy string, st
 	}
 	sql += `  LIMIT ?,? `
 
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 
@@ -305,21 +371,37 @@ func ModifySmmUpdateStatus(edbIdList []int, indexCodeList []string, isStop int)
 	if idNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	//o, err := orm.NewOrmUsingDB("data").Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = o.Rollback()
+	//		return
+	//	}
+	//	_ = o.Commit()
+	//}()
+
+	to := global.DmSQL["data"].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
-			return
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
 		}
-		_ = o.Commit()
 	}()
 
 	// 更改数据源的更新状态
+	//sql := ` UPDATE base_from_smm_index SET is_stop = ? WHERE base_from_smm_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
+	//_, err = o.Raw(sql, isStop, edbIdList).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql := ` UPDATE base_from_smm_index SET is_stop = ? WHERE base_from_smm_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-	_, err = o.Raw(sql, isStop, edbIdList).Exec()
+	err = to.Exec(sql, isStop, edbIdList).Error
 	if err != nil {
 		return
 	}
@@ -327,8 +409,14 @@ func ModifySmmUpdateStatus(edbIdList []int, indexCodeList []string, isStop int)
 	codeNum := len(indexCodeList)
 	if codeNum <= 0 {
 		// 需要通过指标id列表查找code列表
+		//sql := ` SELECT index_code FROM base_from_smm_index WHERE base_from_smm_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
+		//_, err = o.Raw(sql, edbIdList).QueryRows(&indexCodeList)
+		//if err != nil {
+		//	return
+		//}
+
 		sql := ` SELECT index_code FROM base_from_smm_index WHERE base_from_smm_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-		_, err = o.Raw(sql, edbIdList).QueryRows(&indexCodeList)
+		err = to.Raw(sql, edbIdList).Find(&indexCodeList).Error
 		if err != nil {
 			return
 		}
@@ -341,11 +429,16 @@ func ModifySmmUpdateStatus(edbIdList []int, indexCodeList []string, isStop int)
 	}
 
 	// 更改指标的更新状态
+	//sql = ` UPDATE edb_info SET no_update = ? WHERE source = ? AND sub_source= ? AND edb_code IN (` + utils.GetOrmInReplace(codeNum) + `) `
+	//_, err = o.Raw(sql, isStop, utils.DATA_SOURCE_YS, 0, indexCodeList).Exec()
+	//if err != nil {
+	//	return
+	//}
+
 	sql = ` UPDATE edb_info SET no_update = ? WHERE source = ? AND sub_source= ? AND edb_code IN (` + utils.GetOrmInReplace(codeNum) + `) `
-	_, err = o.Raw(sql, isStop, utils.DATA_SOURCE_YS, 0, indexCodeList).Exec()
+	err = to.Exec(sql, isStop, utils.DATA_SOURCE_YS, 0, indexCodeList).Error
 	if err != nil {
 		return
 	}
-
 	return
 }

+ 75 - 32
models/data_manage/trade_position_analysis.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 	"unsafe"
 )
@@ -44,14 +44,16 @@ type TradePositionIneTop struct {
 }
 
 func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
 	if exchange == "dalian" {
 		list := make([]*TradePositionDalianTop, 0)
 		for _, v := range items {
 			tmp := (*TradePositionDalianTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		//_, err = o.InsertMulti(len(list), list)
+
+		err = global.DmSQL["data"].CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	} else if exchange == "zhengzhou" {
 		list := make([]*TradePositionZhengzhouTop, 0)
@@ -59,7 +61,9 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 			tmp := (*TradePositionZhengzhouTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		//_, err = o.InsertMulti(len(list), list)
+
+		err = global.DmSQL["data"].CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	} else if exchange == "cffex" {
 		list := make([]*TradePositionCffexTop, 0)
@@ -67,7 +71,8 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 			tmp := (*TradePositionCffexTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		//_, err = o.InsertMulti(len(list), list)
+		err = global.DmSQL["data"].CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	} else if exchange == "shanghai" {
 		list := make([]*TradePositionShanghaiTop, 0)
@@ -75,7 +80,8 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 			tmp := (*TradePositionShanghaiTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		//_, err = o.InsertMulti(len(list), list)
+		err = global.DmSQL["data"].CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	} else if exchange == "ine" {
 		list := make([]*TradePositionIneTop, 0)
@@ -83,7 +89,8 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 			tmp := (*TradePositionIneTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		//_, err = o.InsertMulti(len(list), list)
+		err = global.DmSQL["data"].CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	}
 
@@ -91,23 +98,32 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 }
 
 func GetTradePositionTopByExchangeDataTime(exchange string, startDate, endDate string) (list []*TradePositionTop, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := "SELECT * FROM trade_position_" + exchange + "_top where data_time >= ? and data_time <= ? and deal_type in (1,2) ORDER BY classify_name, classify_type, deal_type, data_time, deal_value desc"
+	//_, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
+
 	sql := "SELECT * FROM trade_position_" + exchange + "_top where data_time >= ? and data_time <= ? and deal_type in (1,2) ORDER BY classify_name, classify_type, deal_type, data_time, deal_value desc"
-	_, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
+	err = global.DmSQL["data"].Raw(sql, startDate, endDate).Find(&list).Error
 	return
 }
 
 func GetTradePositionTopCountByExchangeDataTime(exchange string, startDate, endDate string) (count int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := "SELECT count(*) FROM trade_position_" + exchange + "_top where data_time >= ? and data_time <= ? and deal_type in (1,2) ORDER BY classify_name, classify_type, deal_type, data_time, deal_value desc"
-	err = o.Raw(sql, startDate, endDate).QueryRow(&count)
+	//o := orm.NewOrmUsingDB("data")
+	//sql := "SELECT count(*) FROM trade_position_" + exchange + "_top where data_time >= ? and data_time <= ? and deal_type in (1,2) ORDER BY classify_name, classify_type, deal_type, data_time, deal_value desc"
+	//err = o.Raw(sql, startDate, endDate).QueryRow(&count)
+
+	sql := "SELECT count(*) AS count FROM trade_position_" + exchange + "_top where data_time >= ? and data_time <= ? and deal_type in (1,2) ORDER BY classify_name, classify_type, deal_type, data_time, deal_value desc"
+	err = global.DmSQL["data"].Raw(sql, startDate, endDate).Scan(&count).Error
 	return
 }
 
 func GetTradePositionTopByExchangeSourceType(exchange string, dataTime string, sourceType int) (list []*TradePositionTop, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := "SELECT * FROM trade_position_" + exchange + "_top where data_time= ? and source_type = ? ORDER BY classify_name, classify_type, deal_type, deal_value desc"
+	//_, err = o.Raw(sql, dataTime, sourceType).QueryRows(&list)
+
 	sql := "SELECT * FROM trade_position_" + exchange + "_top where data_time= ? and source_type = ? ORDER BY classify_name, classify_type, deal_type, deal_value desc"
-	_, err = o.Raw(sql, dataTime, sourceType).QueryRows(&list)
+	err = global.DmSQL["data"].Raw(sql, dataTime, sourceType).Find(&list).Error
 	return
 }
 
@@ -148,48 +164,75 @@ type UpdateDealValueChange struct {
 }
 
 func MultiUpdatePositionTop(exchange string, updates []UpdateDealValueChange) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	p, err := o.Raw("UPDATE trade_position_" + exchange + "_top SET deal_value=?, deal_change=?, source_type=?, modify_time=? WHERE id = ?").Prepare()
-	if err != nil {
-		return
-	}
-	defer func() {
-		_ = p.Close() // 别忘记关闭 statement
-	}()
+	//o := orm.NewOrmUsingDB("data")
+	//p, err := o.Raw("UPDATE trade_position_" + exchange + "_top SET deal_value=?, deal_change=?, source_type=?, modify_time=? WHERE id = ?").Prepare()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	_ = p.Close() // 别忘记关闭 statement
+	//}()
+	//for _, v := range updates {
+	//	_, err = p.Exec(v.DealValue, v.DealChange, v.SourceType, v.ModifyTime, v.Id)
+	//	if err != nil {
+	//		return
+	//	}
+	//}
+
+	sql := ` "UPDATE trade_position_" + exchange + "_top SET deal_value=?, deal_change=?, source_type=?, modify_time=? WHERE id = ?" `
+
 	for _, v := range updates {
-		_, err = p.Exec(v.DealValue, v.DealChange, v.SourceType, v.ModifyTime, v.Id)
+		err = global.DmSQL["data"].Exec(sql, v.DealValue, v.DealChange, v.SourceType, v.ModifyTime, v.Id).Error
 		if err != nil {
 			return
 		}
 	}
+
 	return
 }
 
 func DeletePositionTopByDataTime(exchange string, dataTime string, dealType int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := "delete from trade_position_" + exchange + "_Top WHERE data_time=? and deal_type=?"
+	//_, err = o.Raw(sql, dataTime, dealType).Exec()
+
 	sql := "delete from trade_position_" + exchange + "_Top WHERE data_time=? and deal_type=?"
-	_, err = o.Raw(sql, dataTime, dealType).Exec()
+	err = global.DmSQL["data"].Exec(sql, dataTime, dealType).Error
+
 	return
 }
 
 func GetTradePositionTopByExchangeDataTimeType(exchange string, dataTime string, dealType int) (list []TradePositionTop, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := "select * from trade_position_" + exchange + "_Top WHERE data_time=? and deal_type=?"
+	//_, err = o.Raw(sql, dataTime, dealType).QueryRows(&list)
 	sql := "select * from trade_position_" + exchange + "_Top WHERE data_time=? and deal_type=?"
-	_, err = o.Raw(sql, dataTime, dealType).QueryRows(&list)
+	err = global.DmSQL["data"].Raw(sql, dataTime, dealType).Find(&list).Error
 	return
 }
 
 func MultiInsertTradeBaseDataToTop(exchange string, startDate, endDate string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	//	o := orm.NewOrmUsingDB("data")
+	//	now := time.Now().Format(utils.FormatDateTime)
+	//	sql1 := `INSERT INTO trade_position_` + exchange + `_top(classify_name,classify_type,deal_short_name,deal_value,deal_change,data_time,deal_type,source_type,rank,create_time,modify_time)
+	//	SELECT classify_name,classify_type,buy_short_name,buy_value,buy_change,data_time,1,0,rank,?,? FROM base_from_trade_` + exchange + `_index where rank <50 and buy_short_name !="" and data_time between ? and ?`
+	//	_, err = o.Raw(sql1, now, now, startDate, endDate).Exec()
+	//	if err != nil {
+	//		return
+	//	}
+	//	sql2 := `INSERT INTO trade_position_` + exchange + `_top(classify_name,classify_type,deal_short_name,deal_value,deal_change,data_time,deal_type,source_type,rank,create_time,modify_time)
+	//SELECT classify_name,classify_type,sold_short_name,sold_value,sold_change,data_time,2,0,rank,?,? FROM base_from_trade_` + exchange + `_index where rank <50 and sold_short_name !="" and data_time between ? and ?`
+	//	_, err = o.Raw(sql2, now, now, startDate, endDate).Exec()
+
 	now := time.Now().Format(utils.FormatDateTime)
 	sql1 := `INSERT INTO trade_position_` + exchange + `_top(classify_name,classify_type,deal_short_name,deal_value,deal_change,data_time,deal_type,source_type,rank,create_time,modify_time)
-	SELECT classify_name,classify_type,buy_short_name,buy_value,buy_change,data_time,1,0,rank,?,? FROM base_from_trade_` + exchange + `_index where rank <50 and buy_short_name !="" and data_time between ? and ?`
-	_, err = o.Raw(sql1, now, now, startDate, endDate).Exec()
+		SELECT classify_name,classify_type,buy_short_name,buy_value,buy_change,data_time,1,0,rank,?,? FROM base_from_trade_` + exchange + `_index where rank <50 and buy_short_name !="" and data_time between ? and ?`
+	err = global.DmSQL["data"].Exec(sql1, now, now, startDate, endDate).Error
 	if err != nil {
 		return
 	}
 	sql2 := `INSERT INTO trade_position_` + exchange + `_top(classify_name,classify_type,deal_short_name,deal_value,deal_change,data_time,deal_type,source_type,rank,create_time,modify_time)
-SELECT classify_name,classify_type,sold_short_name,sold_value,sold_change,data_time,2,0,rank,?,? FROM base_from_trade_` + exchange + `_index where rank <50 and sold_short_name !="" and data_time between ? and ?`
-	_, err = o.Raw(sql2, now, now, startDate, endDate).Exec()
+	SELECT classify_name,classify_type,sold_short_name,sold_value,sold_change,data_time,2,0,rank,?,? FROM base_from_trade_` + exchange + `_index where rank <50 and sold_short_name !="" and data_time between ? and ?`
+	err = global.DmSQL["data"].Raw(sql2, now, now, startDate, endDate).Error
 	return
 }

Some files were not shown because too many files changed in this diff