|
@@ -0,0 +1,82 @@
|
|
|
+package data_manage
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "rdluck_tools/orm"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+type EdbInfoCalculateMapping struct {
|
|
|
+ EdbInfoCalculateMappingId int `orm:"column(edb_info_calculate_mapping_id);pk"`
|
|
|
+ EdbInfoId int `description:"计算指标id"`
|
|
|
+ Source int `description:"计算指标来源"`
|
|
|
+ SourceName string `description:"计算指标来源名称"`
|
|
|
+ EdbCode string `description:"计算指标编码"`
|
|
|
+ FromEdbInfoId int `description:"基础指标id"`
|
|
|
+ FromEdbCode string `description:"基础指标编码"`
|
|
|
+ FromEdbName string `description:"基础指标名称"`
|
|
|
+ FromSource int `description:"基础指标来源"`
|
|
|
+ FromSourceName string `description:"基础指标来源名称"`
|
|
|
+ FromTag string `description:"来源指标标签"`
|
|
|
+ Sort int `description:"计算指标名称排序"`
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
+ ModifyTime time.Time `description:"修改时间"`
|
|
|
+}
|
|
|
+
|
|
|
+func AddEdbInfoCalculateMappingMulti(items []*EdbInfoCalculateMapping) (err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ o.Using("data")
|
|
|
+ _, err = o.InsertMulti(1, items)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func FixEdbInfoCalculateMapping() {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ o.Using("data")
|
|
|
+ o.Begin()
|
|
|
+ var err error
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ o.Rollback()
|
|
|
+ } else {
|
|
|
+ o.Commit()
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ edbInfoList := make([]*EdbInfoList, 0)
|
|
|
+ sql := `SELECT * FROM edb_info WHERE edb_type=2 `
|
|
|
+ _, err = o.Raw(sql).QueryRows(&edbInfoList)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range edbInfoList {
|
|
|
+ fmt.Println(k, v.EdbInfoId)
|
|
|
+ calculateList := make([]*EdbInfoCalculateDetail, 0)
|
|
|
+ calculateTableName := GetEdbInfoCalculateTableName(v.Source)
|
|
|
+ sql := ` SELECT * FROM %s
|
|
|
+ WHERE edb_info_id=? ORDER BY sort ASC `
|
|
|
+ sql = fmt.Sprintf(sql, calculateTableName)
|
|
|
+ _, err = o.Raw(sql, v.EdbInfoId).QueryRows(&calculateList)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("query calculate err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, cv := range calculateList {
|
|
|
+ //关联关系
|
|
|
+ calculateMappingItem := new(EdbInfoCalculateMapping)
|
|
|
+ calculateMappingItem.CreateTime = time.Now()
|
|
|
+ calculateMappingItem.ModifyTime = time.Now()
|
|
|
+ calculateMappingItem.Sort = 1
|
|
|
+ calculateMappingItem.EdbCode = v.EdbCode
|
|
|
+ calculateMappingItem.EdbInfoId = v.EdbInfoId
|
|
|
+ calculateMappingItem.FromEdbInfoId = cv.FromEdbInfoId
|
|
|
+ calculateMappingItem.FromEdbCode = cv.FromEdbCode
|
|
|
+ calculateMappingItem.FromEdbName = cv.FromEdbName
|
|
|
+ calculateMappingItem.FromSource = cv.FromSource
|
|
|
+ calculateMappingItem.FromSourceName = cv.FromSourceName
|
|
|
+ calculateMappingItem.FromTag = cv.FromTag
|
|
|
+ calculateMappingItem.Source = v.Source
|
|
|
+ calculateMappingItem.SourceName = v.SourceName
|
|
|
+ o.Insert(calculateMappingItem)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|