Browse Source

搜索列表增加父级目录id

xyxie 1 year ago
parent
commit
3d313fa84a

+ 24 - 0
controllers/data_manage/mysteel_chemical_data.go

@@ -377,9 +377,33 @@ func (this *EdbInfoController) MysteelChemicalSearch() {
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
+	classifyIds := make([]int, 0)
 	for _, v := range list {
 		v.UniqueCode = fmt.Sprint(v.BaseFromMysteelChemicalClassifyId, "_", v.Id)
+		if v.BaseFromMysteelChemicalClassifyId > 0 {
+			classifyIds = append(classifyIds, v.BaseFromMysteelChemicalClassifyId)
+		}
+	}
+	if len(classifyIds) > 0 {
+		// 查询父级分类信息
+		classifyList, e := data_manage.GetBaseFromMysteelChemicalClassifyByIds(classifyIds)
+		if e != nil {
+			br.Msg = "获取目录信息失败"
+			br.ErrMsg = "获取失获取目录信息失败,Err:" + err.Error()
+			return
+		}
+		classifyListMap := make(map[int]int, 0)
+		for _, v := range classifyList {
+			classifyListMap[v.BaseFromMysteelChemicalClassifyId] = v.ParentId
+		}
+		for _, v := range list {
+			v.UniqueCode = fmt.Sprint(v.BaseFromMysteelChemicalClassifyId, "_", v.Id)
+			if p, ok := classifyListMap[v.BaseFromMysteelChemicalClassifyId]; ok {
+				v.ParentClassifyId = p
+			}
+		}
 	}
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"

+ 24 - 0
controllers/data_manage/smm_data.go

@@ -723,6 +723,30 @@ func (this *EdbInfoController) SmmSearchList() {
 		br.Msg = "获取失败"
 		return
 	}
+	classifyIds := make([]int, 0)
+	for _, v := range list {
+		if v.ClassifyId > 0 {
+			classifyIds = append(classifyIds, v.ClassifyId)
+		}
+	}
+	if len(classifyIds) > 0 {
+		// 查询父级分类信息
+		classifyList, e := data_manage.GetBaseFromSmmClassifyByIds(classifyIds)
+		if e != nil {
+			br.Msg = "获取目录信息失败"
+			br.ErrMsg = "获取失获取目录信息失败,Err:" + err.Error()
+			return
+		}
+		classifyListMap := make(map[int]int, 0)
+		for _, v := range classifyList {
+			classifyListMap[v.ClassifyId] = v.ParentId
+		}
+		for _, v := range list {
+			if p, ok := classifyListMap[v.ClassifyId]; ok {
+				v.ParentClassifyId = p
+			}
+		}
+	}
 
 	br.Ret = 200
 	br.Success = true

+ 9 - 1
models/data_manage/base_from_smm_classify.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
-	"eta/eta_api/utils"
 	"time"
 )
 
@@ -103,6 +103,14 @@ func GetBaseFromSmmClassifyByParentId(parentId int) (items []*BaseFromSmmClassif
 	return
 }
 
+// GetBaseFromSmmClassifyByIds 根据id获取当下的分类列表数据
+func GetBaseFromSmmClassifyByIds(classifyIds []int) (items []*BaseFromSmmClassifyItems, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM base_from_smm_classify WHERE parent_id > 0 and classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) order by sort asc, classify_id asc`
+	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	return
+}
+
 // GetAllBaseFromSmmClassify 获取所有的分类列表数据
 func GetAllBaseFromSmmClassify() (items []*BaseFromSmmClassifyItems, err error) {
 	o := orm.NewOrmUsingDB("data")

+ 8 - 0
models/data_manage/mysteel_chemical_classify.go

@@ -85,6 +85,14 @@ func GetBaseFromMysteelChemicalClassifyByParentId(parentId int) (items []*BaseFr
 	return
 }
 
+// GetBaseFromMysteelChemicalClassifyByIds 根据id获取当下的分类列表数据
+func GetBaseFromMysteelChemicalClassifyByIds(classifyIds []int) (items []*BaseFromMysteelChemicalClassifyItems, err error) {
+	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)
+	return
+}
+
 // GetAllBaseFromMysteelChemicalClassify 获取所有的分类列表数据
 func GetAllBaseFromMysteelChemicalClassify() (items []*BaseFromMysteelChemicalClassifyItems, err error) {
 	o := orm.NewOrmUsingDB("data")

+ 1 - 0
models/data_manage/mysteel_chemical_index.go

@@ -107,6 +107,7 @@ func GetMysteelChemicalFrequency(condition string, pars []interface{}) (items []
 type MysteelChemicalList struct {
 	Id                                int                `orm:"column(base_from_mysteel_chemical_index_id)"`
 	BaseFromMysteelChemicalClassifyId int                `orm:"column(base_from_mysteel_chemical_classify_id)" description:"钢联化工指标分类id"`
+	ParentClassifyId                  int                `description:"钢联化工指标父级分类id"`
 	IndexCode                         string             `description:"指标编码"`
 	IndexName                         string             `description:"指标名称"`
 	UnitName                          string             `orm:"column(unit)"`

+ 22 - 1
models/data_manage/smm_data.go

@@ -49,6 +49,27 @@ type SmmIndex struct {
 	ModifyTime         string
 }
 
+type SmmIndexItem struct {
+	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk"`
+	ClassifyId         int
+	ParentClassifyId   int
+	Interface          string
+	Name               string
+	IndexCode          string
+	IndexName          string
+	Type1              string `orm:"column(type_1)"`
+	Type2              string `orm:"column(type_2)"`
+	Type3              string `orm:"column(type_3)"`
+	Frequency          string
+	Unit               string
+	ApiStartTime       string
+	ApiUpdateTime      string
+	StartTime          string
+	FinishTime         string
+	CreateTime         string
+	ModifyTime         string
+}
+
 func GetSmmIndex(condition string, pars interface{}) (items []*SmmIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM base_from_smm_index WHERE 1=1  `
@@ -136,7 +157,7 @@ func GetSmmIndexDataCount(indexCode string) (count int, err error) {
 }
 
 // GetSmmItemList 模糊查询Smm数据库指标列表
-func GetSmmItemList(keyword string) (items []*SmmIndex, err error) {
+func GetSmmItemList(keyword string) (items []*SmmIndexItem, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := "SELECT * FROM base_from_smm_index WHERE CONCAT(index_name,index_code) LIKE '%" + keyword + "%'"
 	_, err = o.Raw(sql).QueryRows(&items)