浏览代码

删除图表

xyxie 10 月之前
父节点
当前提交
43ce9b95ab

+ 18 - 7
controllers/data_manage/chart_classify.go

@@ -5,6 +5,7 @@ import (
 	"eta/eta_api/controllers"
 	"eta/eta_api/models"
 	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/excel"
 	"eta/eta_api/models/system"
 	"eta/eta_api/services/data"
 	"eta/eta_api/services/data/data_manage_permission"
@@ -714,14 +715,24 @@ func (this *ChartClassifyController) DeleteChartClassify() {
 		for _, m := range myCharts {
 			myIds = append(myIds, m.MyChartId)
 		}
-
-		//删除图表及关联指标
-		err = data_manage.DeleteChartInfoAndData(req.ChartInfoId)
-		if err != nil {
-			br.Msg = "删除失败"
-			br.ErrMsg = "删除失败,Err:" + err.Error()
-			return
+		if chartInfo.Source == 11 { //删除来自平衡表的图表
+			//删除图表及关联指标
+			e = excel.DeleteBalanceExcelChartInfoAndData(req.ChartInfoId)
+			if e != nil {
+				br.Msg = "删除失败"
+				br.ErrMsg = "删除失败,Err:" + e.Error()
+				return
+			}
+		} else {
+			//删除图表及关联指标
+			err = data_manage.DeleteChartInfoAndData(req.ChartInfoId)
+			if err != nil {
+				br.Msg = "删除失败"
+				br.ErrMsg = "删除失败,Err:" + err.Error()
+				return
+			}
 		}
+
 		//删除ES
 		{
 			go data.EsDeleteChartInfo(req.ChartInfoId)

+ 1 - 13
controllers/data_manage/excel/balance_table.go

@@ -883,20 +883,8 @@ func (c *ExcelInfoController) DeleteBalanceChart() {
 			myIds = append(myIds, m.MyChartId)
 		}
 
-		// 查询图表相关联的数据
-		edbIds := make([]int, 0)
-		// 查询图表相关联的指标
-		edbList, e := excel.GetExcelChartEdbMappingByChartInfoId(req.ChartInfoId)
-		if e != nil {
-			br.Msg = "删除失败"
-			br.ErrMsg = "获取图表相关联的指标失败, Err: " + e.Error()
-			return
-		}
-		for _, v := range edbList {
-			edbIds = append(edbIds, v.ExcelChartEdbId)
-		}
 		//删除图表及关联指标
-		e = data_manage.DeleteBalanceExcelChartInfoAndData(req.ChartInfoId, edbIds)
+		e = excel.DeleteBalanceExcelChartInfoAndData(req.ChartInfoId)
 		if e != nil {
 			br.Msg = "删除失败"
 			br.ErrMsg = "删除失败,Err:" + e.Error()

+ 0 - 39
models/data_manage/chart_info.go

@@ -218,45 +218,6 @@ func DeleteChartInfoAndData(chartInfoId int) (err error) {
 	return
 }
 
-// 删除平衡表中的指标和数据
-func DeleteBalanceExcelChartInfoAndData(chartInfoId int, edbIds []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
-	defer func() {
-		if err != nil {
-			_ = to.Rollback()
-		} else {
-			_ = to.Commit()
-		}
-	}()
-
-	sql := ` DELETE FROM chart_info WHERE chart_info_id=? `
-	_, err = to.Raw(sql, chartInfoId).Exec()
-	if err != nil {
-		err = fmt.Errorf("删除平衡表图表失败 %s", err.Error())
-		return
-	}
-	sql = ` DELETE FROM  excel_chart_edb WHERE chart_info_id=? `
-	_, err = to.Raw(sql, chartInfoId).Exec()
-	if err != nil {
-		err = fmt.Errorf("删除平衡表图表指标失败 %s", err.Error())
-		return
-	}
-	// 删除表格里的数据
-	if len(edbIds) > 0 {
-		sql = ` DELETE FROM  excel_chart_data WHERE excel_chart_edb_id in (` + utils.GetOrmInReplace(len(edbIds)) + `)`
-		_, err = to.Raw(sql, edbIds).Exec()
-		if err != nil {
-			err = fmt.Errorf("删除平衡表图表指标数据失败 %s", err.Error())
-			return
-		}
-	}
-	return
-}
-
 func GetChartInfoCountByCondition(condition string, pars []interface{}) (count int, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT COUNT(1) AS count FROM chart_info WHERE 1=1 `

+ 37 - 0
models/data_manage/excel/excel_chart_edb.go

@@ -324,3 +324,40 @@ func DeleteExcelChartEdbAndData(excelInfoIds []int, chartInfoIds []int) (err err
 	}
 	return
 }
+
+// 删除平衡表中的指标和数据
+func DeleteBalanceExcelChartInfoAndData(chartInfoId int) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+
+	sql := ` DELETE FROM chart_info WHERE chart_info_id=? `
+	_, err = to.Raw(sql, chartInfoId).Exec()
+	if err != nil {
+		err = fmt.Errorf("删除平衡表图表失败 %s", err.Error())
+		return
+	}
+	sql = ` DELETE FROM  excel_chart_edb WHERE chart_info_id=? `
+	_, err = to.Raw(sql, chartInfoId).Exec()
+	if err != nil {
+		err = fmt.Errorf("删除平衡表图表指标失败 %s", err.Error())
+		return
+	}
+	// 删除表格里的数据
+	sql = ` DELETE FROM  excel_chart_data WHERE chart_info_id=? `
+	_, err = to.Raw(sql, chartInfoId).Exec()
+	if err != nil {
+		err = fmt.Errorf("删除平衡表图表指标失败 %s", err.Error())
+		return
+	}
+	return
+}