Explorar el Código

指标删除,跨品种分析

xyxie hace 10 meses
padre
commit
a4282df821

+ 11 - 0
models/data_manage/cross_variety/chart_tag_variety.go

@@ -260,3 +260,14 @@ func GetChartTagVarietyListByTagIdList(chartTagIdList []int) (items []*ChartTagV
 
 	return
 }
+
+func DeleteChartTagVarietyByEdbInfoId(edbInfoId int) (err error) {
+	// 删除不存在的品种
+	o := orm.NewOrmUsingDB("data")
+	sql := ` DELETE FROM chart_tag_variety WHERE edb_info_id=?`
+	_, err = o.Raw(sql, edbInfoId, edbInfoId).Exec()
+	if err != nil {
+		return
+	}
+	return
+}

+ 12 - 1
models/data_manage/edb_info.go

@@ -247,10 +247,21 @@ func DeleteEdbInfoAndData(edbInfoId, source, subSource int) (err error) {
 	// 删除计算指标的关系
 	sql = ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id=? `
 	_, err = to.Raw(sql, edbInfoId).Exec()
-
+	if err != nil {
+		return
+	}
 	// 删除预测指标的配置
 	sql = ` DELETE FROM predict_edb_conf WHERE predict_edb_info_id=? `
 	_, err = to.Raw(sql, edbInfoId).Exec()
+	if err != nil {
+		return
+	}
+	// 删除跨品种分析标签绑定的指标
+	sql = ` DELETE FROM chart_tag_variety WHERE edb_info_id=?`
+	_, err = to.Raw(sql, edbInfoId).Exec()
+	if err != nil {
+		return
+	}
 	return
 }
 

+ 51 - 5
services/data/edb_classify.go

@@ -605,7 +605,30 @@ func DeleteCheck(classifyId, edbInfoId int, sysUser *system.Admin) (deleteStatus
 
 		// 判断指标是否用作跨品种图表使用
 		{
-			calculateCount, tmpErr := cross_variety.GetCountByEdbInfoId(edbInfoId)
+			// todo 如果绑定的标签未画图,则允许删除绑定
+			// 查询跨品种的图表
+			tagXList, tmpErr := cross_variety.GetChartInfoCrossVarietyByXEdbInfoId(edbInfoId)
+			if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
+				errMsg = "删除失败"
+				err = errors.New("判断指标是否用作跨品种图表使用,GetChartInfoCrossVarietyByXEdbInfoId Err:" + tmpErr.Error())
+				return
+			}
+			if len(tagXList) > 0 {
+				errMsg = "当前指标已添加到跨品种分析,不可删除"
+				return
+			}
+			tagYList, tmpErr := cross_variety.GetChartInfoCrossVarietyByYEdbInfoId(edbInfoId)
+			if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
+				errMsg = "删除失败"
+				err = errors.New("判断指标是否用作跨品种图表使用,GetChartInfoCrossVarietyByYEdbInfoId Err:" + tmpErr.Error())
+				return
+			}
+
+			if len(tagYList) > 0 {
+				errMsg = "当前指标已添加到跨品种分析,不可删除"
+				return
+			}
+			/*calculateCount, tmpErr := cross_variety.GetCountByEdbInfoId(edbInfoId)
 			if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
 				errMsg = "删除失败"
 				err = errors.New("判断指标是否用作跨品种图表使用,GetCountByEdbInfoId Err:" + tmpErr.Error())
@@ -615,7 +638,7 @@ func DeleteCheck(classifyId, edbInfoId int, sysUser *system.Admin) (deleteStatus
 				deleteStatus = 3
 				tipsMsg = "当前指标已添加到跨品种分析,不可删除"
 				return
-			}
+			}*/
 		}
 	}
 	return
@@ -766,10 +789,33 @@ func Delete(classifyId, edbInfoId int, sysUser *system.Admin, requestBody, reque
 				return
 			}
 		}
-
 		// 判断指标是否用作跨品种图表使用
 		{
-			calculateCount, tmpErr := cross_variety.GetCountByEdbInfoId(edbInfoId)
+			// todo 如果绑定的标签未画图,则允许删除绑定
+			// 查询跨品种的图表
+			tagXList, tmpErr := cross_variety.GetChartInfoCrossVarietyByXEdbInfoId(edbInfoId)
+			if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
+				errMsg = "删除失败"
+				err = errors.New("判断指标是否用作跨品种图表使用,GetChartInfoCrossVarietyByXEdbInfoId Err:" + tmpErr.Error())
+				return
+			}
+			if len(tagXList) > 0 {
+				errMsg = "当前指标已添加到跨品种分析,不可删除"
+				return
+			}
+			tagYList, tmpErr := cross_variety.GetChartInfoCrossVarietyByYEdbInfoId(edbInfoId)
+			if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
+				errMsg = "删除失败"
+				err = errors.New("判断指标是否用作跨品种图表使用,GetChartInfoCrossVarietyByYEdbInfoId Err:" + tmpErr.Error())
+				return
+			}
+
+			if len(tagYList) > 0 {
+				errMsg = "当前指标已添加到跨品种分析,不可删除"
+				return
+			}
+
+			/*calculateCount, tmpErr := cross_variety.GetCountByEdbInfoId(edbInfoId)
 			if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
 				errMsg = "删除失败"
 				err = errors.New("判断指标是否用作跨品种图表使用,GetCountByEdbInfoId Err:" + tmpErr.Error())
@@ -778,7 +824,7 @@ func Delete(classifyId, edbInfoId int, sysUser *system.Admin, requestBody, reque
 			if calculateCount > 0 {
 				errMsg = "当前指标已添加到跨品种分析,不可删除"
 				return
-			}
+			}*/
 		}
 
 		//真实删除