|
@@ -916,7 +916,7 @@ type EdbInfoReplaceReq struct {
|
|
|
}
|
|
|
|
|
|
// ReplaceChartEdb 替换图表中的指标
|
|
|
-func ReplaceChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (relationEdbInfoIdList []int, replaceChartTotal, replaceCalculateTotal int, err error) {
|
|
|
+func ReplaceChartEdb(oldEdbInfo, newEdbInfo *EdbInfo, userId int) (relationEdbInfoIdList []int, replaceChartTotal, replaceCalculateTotal int, err error) {
|
|
|
var errmsg string
|
|
|
relationEdbInfoIdList = make([]int, 0) // 关联的指标id
|
|
|
logMsg := `` // 记录替换的日志
|
|
@@ -939,11 +939,13 @@ func ReplaceChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (relationEdbInfoIdList []i
|
|
|
//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"替换指标失败提醒", "errmsg:"+errmsg, utils.EmailSendToUsers)
|
|
|
}
|
|
|
}()
|
|
|
- //替换图表
|
|
|
+ //替换自己创建的图表
|
|
|
{
|
|
|
chartEdbMappingList := make([]*ChartEdbInfoMapping, 0)
|
|
|
- csql := `SELECT * FROM chart_edb_mapping WHERE edb_info_id=?`
|
|
|
- err = to.Raw(csql, oldEdbInfo.EdbInfoId).Scan(&chartEdbMappingList).Error
|
|
|
+ csql := `SELECT a.* FROM chart_edb_mapping AS a
|
|
|
+ JOIN chart_info AS b on a.chart_info_id=b.chart_info_id
|
|
|
+ WHERE b.sys_user_id = ? AND a.edb_info_id=? `
|
|
|
+ err = to.Raw(csql, userId, oldEdbInfo.EdbInfoId).Scan(&chartEdbMappingList).Error
|
|
|
if err != nil {
|
|
|
errmsg = "获取指标关联图表信息失败:Err:" + err.Error()
|
|
|
return
|
|
@@ -1146,7 +1148,8 @@ func ReplaceChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (relationEdbInfoIdList []i
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // 查询所有的图表信息
|
|
|
+
|
|
|
+ // 查询我的所有图表信息
|
|
|
if len(chartEdbMappingList) > 0 {
|
|
|
chartInfoIdList := make([]string, 0)
|
|
|
for _, mv := range chartEdbMappingList {
|
|
@@ -1200,8 +1203,10 @@ func ReplaceChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (relationEdbInfoIdList []i
|
|
|
//获取所有包含的计算指标
|
|
|
mappingList := make([]*EdbInfoCalculateMapping, 0)
|
|
|
queryList := make([]*EdbInfoCalculateMapping, 0)
|
|
|
- msql := ` SELECT * FROM edb_info_calculate_mapping WHERE from_edb_info_id = ?`
|
|
|
- err = to.Raw(msql, oldEdbInfo.EdbInfoId).Find(&queryList).Error
|
|
|
+ msql := ` SELECT a.* FROM edb_info_calculate_mapping AS a
|
|
|
+ JOIN edb_info AS b ON a.edb_info_id=b.edb_info_id
|
|
|
+ WHERE b.sys_user_id = ? AND a.from_edb_info_id = ?`
|
|
|
+ err = to.Raw(msql, userId, oldEdbInfo.EdbInfoId).Find(&queryList).Error
|
|
|
if err != nil {
|
|
|
errmsg = "获取计算指标关联基础指标信息失败:Err:" + err.Error()
|
|
|
return
|
|
@@ -1242,7 +1247,9 @@ func ReplaceChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (relationEdbInfoIdList []i
|
|
|
//获取所有包含的计算指标
|
|
|
predictEdbConfList := make([]*PredictEdbConf, 0)
|
|
|
queryList := make([]*PredictEdbConf, 0)
|
|
|
- msql := ` SELECT * FROM predict_edb_conf WHERE source_edb_info_id = ?`
|
|
|
+ msql := ` SELECT a.* FROM predict_edb_conf AS a
|
|
|
+ JOIN edb_info AS b on a.predict_edb_info_id = b.edb_info_id
|
|
|
+ WHERE source_edb_info_id = ?`
|
|
|
err = to.Raw(msql, oldEdbInfo.EdbInfoId).Scan(&predictEdbConfList).Error
|
|
|
if err != nil {
|
|
|
errmsg = "获取关联的预测指标信息失败:Err:" + err.Error()
|
|
@@ -1255,15 +1262,15 @@ func ReplaceChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (relationEdbInfoIdList []i
|
|
|
}
|
|
|
exists[v.PredictEdbInfoId] = true
|
|
|
predictEdbConfList = append(predictEdbConfList, v)
|
|
|
- }
|
|
|
- replaceCalculateTotal += len(predictEdbConfList)
|
|
|
|
|
|
- //替换预测指标的来源指标
|
|
|
- msql = `UPDATE predict_edb_conf SET source_edb_info_id=? WHERE source_edb_info_id=? `
|
|
|
- err = to.Exec(msql, newEdbInfo.EdbInfoId, oldEdbInfo.EdbInfoId).Error
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
+ //替换预测指标的来源指标
|
|
|
+ msql = `UPDATE predict_edb_conf SET source_edb_info_id=? WHERE config_id=? `
|
|
|
+ err = to.Exec(msql, newEdbInfo.EdbInfoId, v.ConfigId).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
+ replaceCalculateTotal += len(predictEdbConfList)
|
|
|
|
|
|
if len(predictEdbConfList) > 0 {
|
|
|
edbInfoIdList := make([]string, 0)
|
|
@@ -2002,6 +2009,7 @@ func GetEdbInfoByClassifyIdAndSource(classifyId, edbInfoType, source int) (items
|
|
|
type ReplaceEdbInfoItem struct {
|
|
|
OldEdbInfo *EdbInfo
|
|
|
NewEdbInfo *EdbInfo
|
|
|
+ UserId int
|
|
|
}
|
|
|
|
|
|
type EdbInfoEditRecord struct {
|