Просмотр исходного кода

fix:1、自定义分析表格,手动更新指标时,该指标关联的计算指标图、表均更新
2、手工数据录入,手动更新指标时,该指标关联的计算指标、图表均更新

Roc 1 год назад
Родитель
Сommit
5754501e71

+ 1 - 1
controllers/data_manage/cross_variety/chart_info.go

@@ -1014,7 +1014,7 @@ func (c *ChartInfoController) Refresh() {
 	}
 
 	// 批量刷新
-	err, isAsync := data.EdbInfoRefreshAllFromBaseV3(edbInfoIdList, false, false)
+	err, isAsync := data.EdbInfoRefreshAllFromBaseV3(edbInfoIdList, false, false, false)
 	if err != nil {
 		return
 	}

+ 2 - 2
controllers/data_manage/edb_info.go

@@ -2535,7 +2535,7 @@ func (this *EdbInfoController) EdbInfoRefresh() {
 		br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
 		return
 	}
-	err, isAsync := data.EdbInfoRefreshAllFromBaseV2(edbInfoId, false)
+	err, isAsync := data.EdbInfoRefreshAllFromBaseV2(edbInfoId, false, false)
 	if err != nil {
 		br.Msg = "刷新失败"
 		br.ErrMsg = "刷新指标失败,EdbInfoRefresh Err:" + err.Error()
@@ -3218,7 +3218,7 @@ func (this *EdbInfoController) EdbInfoAllRefresh() {
 		br.ErrMsg = "数据已被删除,请刷新页面,edbInfoId:" + strconv.Itoa(edbInfoId)
 		return
 	}
-	err, isAsync := data.EdbInfoRefreshAllFromBaseV2(edbInfoId, true)
+	err, isAsync := data.EdbInfoRefreshAllFromBaseV2(edbInfoId, true, false)
 	if err != nil {
 		br.Msg = "刷新失败"
 		br.ErrMsg = "刷新指标失败,EdbInfoRefreshAllFromBase Err:" + err.Error()

+ 1 - 1
controllers/data_manage/edb_info_calculate.go

@@ -996,7 +996,7 @@ func (this *ChartInfoController) CalculateBatchReset() {
 	//}
 
 	// 重新计算
-	err, isAsync := data.EdbInfoRefreshAllFromBaseV2(edbInfoId, true)
+	err, isAsync := data.EdbInfoRefreshAllFromBaseV2(edbInfoId, true, false)
 	if err != nil {
 		fmt.Println(edbInfoId, "RefreshEdbCalculateData err", time.Now())
 		br.Msg = "重新计算失败"

+ 1 - 1
controllers/data_manage/excel/excel_info.go

@@ -1860,7 +1860,7 @@ func (c *ExcelInfoController) Refresh() {
 		}
 
 		if len(tableData.EdbInfoIdList) > 0 {
-			err, _ = data.EdbInfoRefreshAllFromBaseV3(tableData.EdbInfoIdList, false, true)
+			err, _ = data.EdbInfoRefreshAllFromBaseV3(tableData.EdbInfoIdList, false, true, true)
 			if err != nil {
 				br.Msg = "刷新失败"
 				br.ErrMsg = "刷新失败,Err:" + err.Error()

+ 1 - 1
controllers/data_manage/predict_edb_info.go

@@ -733,7 +733,7 @@ func (this *PredictEdbInfoController) Edit() {
 	data.AddOrEditEdbInfoToEs(resp.EdbInfoId)
 
 	// 刷新关联指标
-	go data.EdbInfoRefreshAllFromBaseV2(resp.EdbInfoId, true)
+	go data.EdbInfoRefreshAllFromBaseV2(resp.EdbInfoId, true, false)
 
 	br.Ret = 200
 	br.Success = true

+ 1 - 1
services/data/chart_info.go

@@ -1230,7 +1230,7 @@ func ChartInfoRefreshV2(chartInfoId int) (err error, isAsync bool) {
 	}
 
 	// 批量刷新
-	err, isAsync = EdbInfoRefreshAllFromBaseV3(edbIdList, false, false)
+	err, isAsync = EdbInfoRefreshAllFromBaseV3(edbIdList, false, false, false)
 
 	if err != nil {
 		return

+ 1 - 1
services/data/correlation/chart_info.go

@@ -578,7 +578,7 @@ func ChartInfoRefresh(chartInfoId int) (err error) {
 	}
 
 	// 批量刷新ETA指标
-	err, _ = data.EdbInfoRefreshAllFromBaseV3([]int{correlationChart.EdbInfoIdFirst, correlationChart.EdbInfoIdSecond}, false, true)
+	err, _ = data.EdbInfoRefreshAllFromBaseV3([]int{correlationChart.EdbInfoIdFirst, correlationChart.EdbInfoIdSecond}, false, true, false)
 	if err != nil {
 		return
 	}

+ 19 - 7
services/data/edb_info.go

@@ -17,7 +17,7 @@ import (
 )
 
 // EdbInfoRefreshAllFromBaseV2 全部刷新指标(切换到edb_lib服务)
-func EdbInfoRefreshAllFromBaseV2(edbInfoId int, refreshAll bool) (err error, isAsync bool) {
+func EdbInfoRefreshAllFromBaseV2(edbInfoId int, refreshAll, isRefreshTop bool) (err error, isAsync bool) {
 	var errmsg string
 	defer func() {
 		if err != nil {
@@ -27,7 +27,7 @@ func EdbInfoRefreshAllFromBaseV2(edbInfoId int, refreshAll bool) (err error, isA
 		}
 	}()
 
-	err, isAsync = EdbInfoRefreshAllFromBaseV3([]int{edbInfoId}, refreshAll, false)
+	err, isAsync = EdbInfoRefreshAllFromBaseV3([]int{edbInfoId}, refreshAll, false, isRefreshTop)
 	return
 }
 
@@ -74,9 +74,10 @@ func EdbInfoRefreshAllFromBaseV3Bak(edbInfoIdList []int, refreshAll, isSync bool
 //	@param edbInfoIdList []int
 //	@param refreshAll bool
 //	@param isSync bool 是否同步执行
+//	@param isRefreshTop bool 是否刷新上面的指标
 //	@return err error
 //	@return isAsync bool 是否异步刷新
-func EdbInfoRefreshAllFromBaseV3(edbInfoIdList []int, refreshAll, isSync bool) (err error, isAsync bool) {
+func EdbInfoRefreshAllFromBaseV3(edbInfoIdList []int, refreshAll, isSync, isRefreshTop bool) (err error, isAsync bool) {
 	var errmsg string
 	defer func() {
 		if err != nil {
@@ -85,8 +86,18 @@ func EdbInfoRefreshAllFromBaseV3(edbInfoIdList []int, refreshAll, isSync bool) (
 		}
 	}()
 
-	// 获取需要刷新的指标列表
-	newBaseEdbInfoArr, newBasePredictEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr := getEdbInfoIdList(edbInfoIdList)
+	var newBaseEdbInfoArr, newBasePredictEdbInfoArr []*data_manage.EdbInfo
+	var newCalculateMap, newPredictCalculateMap map[int]*data_manage.EdbInfo
+	var calculateArr, predictCalculateArr []int
+
+	// 获取关联指标
+	if isRefreshTop {
+		// 获取所有关联的指标,上下所有的指标
+		newBaseEdbInfoArr, newBasePredictEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr, err, errmsg = getRefreshEdbInfoListByIds(edbInfoIdList)
+	} else {
+		// 获取溯源的指标
+		newBaseEdbInfoArr, newBasePredictEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr = getEdbInfoIdList(edbInfoIdList)
+	}
 
 	// 需要刷新的指标数量
 	totalEdbInfo := len(newBaseEdbInfoArr) + len(calculateArr) + len(predictCalculateArr)
@@ -114,6 +125,7 @@ func EdbInfoRefreshAllFromBaseV3(edbInfoIdList []int, refreshAll, isSync bool) (
 // @return predictCalculateArr []int
 func getEdbInfoIdList(edbInfoIdList []int) (newBaseEdbInfoArr, newBasePredictEdbInfoArr []*data_manage.EdbInfo, newCalculateMap, newPredictCalculateMap map[int]*data_manage.EdbInfo, calculateArr, predictCalculateArr []int) {
 	traceEdbInfoList, err := TraceEdbInfoByEdbInfoIdList(edbInfoIdList)
+
 	if err != nil {
 		return
 	}
@@ -1182,7 +1194,7 @@ func RefreshManualData(edbCode string) {
 		return
 	}
 	// 刷新指标库
-	err, _ = EdbInfoRefreshAllFromBaseV2(edbInfo.EdbInfoId, true)
+	err, _ = EdbInfoRefreshAllFromBaseV2(edbInfo.EdbInfoId, true, true)
 	return
 }
 
@@ -2841,7 +2853,7 @@ func EdbInfoReplace(oldEdbInfo, newEdbInfo *data_manage.EdbInfo, sysAdminId int,
 	}
 
 	// 更新所有的关联指标
-	err, _ = EdbInfoRefreshAllFromBaseV3(relationEdbInfoIdList, true, true)
+	err, _ = EdbInfoRefreshAllFromBaseV3(relationEdbInfoIdList, true, true, true)
 	return
 }
 

+ 1 - 1
services/data/future_good/chart_info.go

@@ -921,7 +921,7 @@ func FutureGoodChartInfoRefresh(chartInfoId int) (err error) {
 	}
 
 	// 批量刷新ETA指标
-	err, _ = data.EdbInfoRefreshAllFromBaseV3([]int{edbInfoMapping.EdbInfoId}, false, true)
+	err, _ = data.EdbInfoRefreshAllFromBaseV3([]int{edbInfoMapping.EdbInfoId}, false, true, false)
 	if err != nil {
 		return
 	}

+ 2 - 2
services/data/predict_edb_info.go

@@ -399,7 +399,7 @@ func EditPredictEdbInfo(edbInfoId, classifyId int, edbName string, ruleList []re
 	AddOrEditEdbInfoToEs(edbInfoId)
 
 	// 刷新关联指标
-	go EdbInfoRefreshAllFromBaseV2(edbInfo.EdbInfoId, true)
+	go EdbInfoRefreshAllFromBaseV2(edbInfo.EdbInfoId, true, false)
 	return
 }
 
@@ -424,7 +424,7 @@ func RefreshPredictEdbInfo(edbInfoId int, refreshAll bool) (edbInfo *data_manage
 			return
 		}
 	}
-	err, isAsync = EdbInfoRefreshAllFromBaseV2(edbInfo.EdbInfoId, refreshAll)
+	err, isAsync = EdbInfoRefreshAllFromBaseV2(edbInfo.EdbInfoId, refreshAll, false)
 
 	return
 }