Ver Fonte

指标替换

xyxie há 9 meses atrás
pai
commit
75100a149e

+ 3 - 0
models/data_manage/multiple_graph_config_chart_mapping.go

@@ -101,6 +101,9 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 			errmsg = "获取指标关联图表配置信息失败:Err:" + err.Error()
 			return
 		}
+		if len(multipleGraphConfigList) == 0 {
+			return
+		}
 		replaceConfigTotal = len(multipleGraphConfigList)
 		configIdMap := make(map[int]int)
 		configIds := make([]int, 0)

+ 8 - 7
services/data/excel/excel_info.go

@@ -566,7 +566,7 @@ func ReplaceEdbInExcel(oldEdbInfo, newEdbInfo *data_manage.EdbInfo) (err error)
 				return
 			}
 			updateList = append(updateList, newExcelInfo)
-		case utils.MIXED_TABLE:
+		case utils.MIXED_TABLE, utils.BALANCE_TABLE:
 			// 替换余额表格中的指标
 			newExcelInfo, e := replaceEdbInBalanceExcel(oldEdbInfo, newEdbInfo, excelInfo)
 			if e != nil {
@@ -624,13 +624,14 @@ func replaceEdbInBalanceExcel(oldEdbInfo, newEdbInfo *data_manage.EdbInfo, excel
 				}
 				if config.EdbInfoId == oldEdbInfo.EdbInfoId {
 					config.EdbInfoId = newEdbInfo.EdbInfoId
+					var configStr []byte
+					configStr, err = json.Marshal(config)
+					if err != nil {
+						return
+					}
+					configList[ck][rk].Value = string(configStr)
 				}
-				var configStr []byte
-				configStr, err = json.Marshal(config)
-				if err != nil {
-					return
-				}
-				configList[ck][rk].Value = string(configStr)
+
 			case request.DateDT: // 日期类型
 				// 指标日期类型的单元格需要额外将指标id取出来
 				if cell.DataTimeType == request.EdbDateDT {

+ 6 - 0
services/sandbox/sandbox.go

@@ -873,6 +873,8 @@ func ReplaceEdbInSandbox(oldEdbInfoId, newEdbInfoId int) (err error) {
 	// 计算总页数
 	totalPage := (total + 99) / 100 // 使用整数除法,并添加一页以防有余数
 	updateSandBox := make([]sandbox.Sandbox, 0)
+	updateTotal := 0
+	logMsg := ""
 	//查询沙盘列表
 	for i := 0; i < totalPage; i += 1 {
 		startSize := i * 100
@@ -887,12 +889,14 @@ func ReplaceEdbInSandbox(oldEdbInfoId, newEdbInfoId int) (err error) {
 				sandNewEdbId := fmt.Sprintf(`"RId":"1-%d","Id":%d,`, newEdbInfoId, newEdbInfoId)
 				v.Sandbox.Content = strings.ReplaceAll(v.Content, sandOldEdbId, sandNewEdbId)
 				updateSandBox = append(updateSandBox, v.Sandbox)
+				logMsg += `涉及到的逻辑id:` + strconv.Itoa(v.Sandbox.SandboxId) + ";"
 				if len(updateSandBox) > 100 {
 					err = sandbox.UpdateSandboxContent(updateSandBox)
 					if err != nil {
 						err = fmt.Errorf("更新沙盘表失败 Err:%s", err)
 						return
 					}
+					updateTotal += len(updateSandBox)
 					updateSandBox = make([]sandbox.Sandbox, 0)
 				}
 			}
@@ -904,6 +908,8 @@ func ReplaceEdbInSandbox(oldEdbInfoId, newEdbInfoId int) (err error) {
 			err = fmt.Errorf("更新沙盘表失败 Err:%s", err)
 			return
 		}
+		updateTotal += len(updateSandBox)
 	}
+	utils.FileLog.Info(fmt.Sprintf("替换ETA逻辑的指标记录,替换总数:%d,旧的指标id:%d,新的指标id:%d;%s", updateTotal, oldEdbInfoId, newEdbInfoId, logMsg))
 	return
 }