|
@@ -5668,6 +5668,47 @@ func (this *EdbInfoController) EdbChartList() {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ var wg sync.WaitGroup
|
|
|
|
+ wg.Add(2)
|
|
|
|
+ var relationMap map[int]*data_manage.BaseRelationEdbInfo
|
|
|
|
+ var relationList []*data_manage.BaseRelationEdbInfo
|
|
|
|
+ relationChan := make(chan RelationResult, 2)
|
|
|
|
+ var edbInfoIds []int
|
|
|
|
+ var glEdbInfoInfoIds []int
|
|
|
|
+ for _, v := range list {
|
|
|
|
+ if v.Source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
|
|
|
|
+ glEdbInfoInfoIds = append(glEdbInfoInfoIds, v.EdbInfoId)
|
|
|
|
+ } else {
|
|
|
|
+ edbInfoIds = append(edbInfoIds, v.EdbInfoId)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ // 抽象为一个函数减少重复逻辑
|
|
|
|
+ fetchRelations := func(ids []int, source int) {
|
|
|
|
+ defer wg.Done()
|
|
|
|
+ _, relList, getErr := data.GetEdbRelationListByIds(ids, source)
|
|
|
|
+ relationChan <- RelationResult{
|
|
|
|
+ List: relList,
|
|
|
|
+ Err: getErr,
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ go fetchRelations(glEdbInfoInfoIds, utils.DATA_SOURCE_MYSTEEL_CHEMICAL)
|
|
|
|
+ go fetchRelations(edbInfoIds, -1)
|
|
|
|
+ wg.Wait()
|
|
|
|
+ close(relationChan)
|
|
|
|
+
|
|
|
|
+ for i := 0; i < 2; i++ {
|
|
|
|
+ result := <-relationChan
|
|
|
|
+ if result.Err != nil && !utils.IsErrNoRow(result.Err) {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "获取数据引用信息失败,Err:" + e.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ relationList = append(relationList, result.List...)
|
|
|
|
+ }
|
|
|
|
+ for _, v := range relationList {
|
|
|
|
+ relationMap[v.EdbInfoId] = v
|
|
|
|
+ }
|
|
|
|
|
|
for _, v := range list {
|
|
for _, v := range list {
|
|
if currClassify, ok := classifyMap[v.ClassifyId]; ok {
|
|
if currClassify, ok := classifyMap[v.ClassifyId]; ok {
|
|
@@ -5682,14 +5723,7 @@ func (this *EdbInfoController) EdbChartList() {
|
|
v.IsSupplierStop = 1
|
|
v.IsSupplierStop = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- var relation *data_manage.BaseRelationEdbInfo
|
|
|
|
- relation, err = data.GetEdbRelationListById(v.EdbInfoId, v.Source)
|
|
|
|
- if err != nil && !utils.IsErrNoRow(err) {
|
|
|
|
- br.Msg = "获取失败"
|
|
|
|
- br.ErrMsg = "获取数据引用信息失败,Err:" + e.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if relation != nil && relation.RelationNum > 0 {
|
|
|
|
|
|
+ if relationMap[v.EdbInfoId] != nil && relationMap[v.EdbInfoId].RelationNum > 0 {
|
|
v.IsRelation = true
|
|
v.IsRelation = true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -5707,6 +5741,11 @@ func (this *EdbInfoController) EdbChartList() {
|
|
br.Data = resp
|
|
br.Data = resp
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+type RelationResult struct {
|
|
|
|
+ List []*data_manage.BaseRelationEdbInfo
|
|
|
|
+ Err error
|
|
|
|
+}
|
|
|
|
+
|
|
// Modify
|
|
// Modify
|
|
// @Title 修改指标信息接口
|
|
// @Title 修改指标信息接口
|
|
// @Description 编辑指标接口
|
|
// @Description 编辑指标接口
|