Explorar el Código

fix:指标已经公开时,删除时出现提醒:该指标已经公开,请撤销公开后删除。同理,也对指标的提交申请公开的状态做了校验;删除图表也是一样的逻辑

Roc hace 3 meses
padre
commit
f8d92d2864

+ 40 - 2
controllers/data_manage/chart_classify.go

@@ -426,8 +426,8 @@ func (this *ChartClassifyController) DeleteChartClassifyCheck() {
 		}
 		count, err := data_manage.GetChartInfoCountByCondition(condition, pars)
 		if err != nil {
-			br.Msg = "判断图表名称是否存在失败"
-			br.ErrMsg = "判断图表名称是否存在失败,Err:" + err.Error()
+			br.Msg = "判断分类下是否存在图表失败"
+			br.ErrMsg = "判断分类下是否存在图表失败,Err:" + err.Error()
 			return
 		}
 
@@ -448,6 +448,26 @@ func (this *ChartClassifyController) DeleteChartClassifyCheck() {
 			deleteStatus = 2
 			tipsMsg = "确认删除当前目录及包含的子目录吗"
 		}
+	} else if req.ChartInfoId > 0 {
+		chartInfo, err := data_manage.GetChartInfoById(req.ChartInfoId)
+		if err != nil {
+			br.Msg = "获取图表信息失败"
+			br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
+			return
+		}
+
+		// 公开状态校验
+		switch chartInfo.PublicStatus {
+		case utils.DataPublicSuccess:
+			deleteStatus = 1
+			tipsMsg = "当前图表已经公开,请撤销公开后删除"
+			return
+		case utils.DataPublicCommit:
+			deleteStatus = 1
+			tipsMsg = "当前图表已经提交申请公开,请撤销审批单后删除"
+			return
+		}
+
 	}
 	if deleteStatus == 0 {
 		tipsMsg = "可删除,进行删除操作"
@@ -589,6 +609,24 @@ func (this *ChartClassifyController) DeleteChartClassify() {
 			return
 		}
 
+		if chartInfo.SysUserId != this.SysUser.AdminId {
+			br.Msg = "没有该图表的操作权限"
+			br.IsSendEmail = false
+			return
+		}
+
+		// 公开状态校验
+		switch chartInfo.PublicStatus {
+		case utils.DataPublicSuccess:
+			br.Msg = "当前图表已经公开,请撤销公开后删除"
+			br.IsSendEmail = false
+			return
+		case utils.DataPublicCommit:
+			br.Msg = "当前图表已经提交申请公开,请撤销审批单后删除"
+			br.IsSendEmail = false
+			return
+		}
+
 		chartClassifyItem, err := data_manage.GetChartClassifyById(chartInfo.ChartClassifyId)
 		if err != nil {
 			br.Msg = "获取失败"

+ 21 - 0
services/data/edb_classify.go

@@ -613,6 +613,18 @@ func DeleteCheck(classifyId, edbInfoId int, sysUser *system.Admin) (deleteStatus
 			return
 		}
 
+		// 公开状态校验
+		switch edbInfo.PublicStatus {
+		case utils.DataPublicSuccess:
+			deleteStatus = 4
+			tipsMsg = "当前指标已经公开,请撤销公开后删除"
+			return
+		case utils.DataPublicCommit:
+			deleteStatus = 4
+			tipsMsg = "当前指标已经提交申请公开,请撤销审批单后删除"
+			return
+		}
+
 		//判断指标是否用于作图,如果用于作图,则不可删除
 		chartCount, tmpErr := data_manage.GetChartEdbMappingCount(edbInfoId)
 		if tmpErr != nil && !utils.IsErrNoRow(tmpErr) {
@@ -831,6 +843,15 @@ func Delete(classifyId, edbInfoId int, sysUser *system.Admin, requestBody, reque
 			errMsg = "指标已删除,请刷新页面"
 			return
 		}
+		// 公开状态校验
+		switch edbInfo.PublicStatus {
+		case utils.DataPublicSuccess:
+			errMsg = "当前指标已经公开,请撤销公开后删除"
+			return
+		case utils.DataPublicCommit:
+			errMsg = "当前指标已经提交申请公开,请撤销审批单后删除"
+			return
+		}
 
 		//判断指标是否用于作图,如果用于作图,则不可删除
 		chartCount, tmpErr := data_manage.GetChartEdbMappingCount(edbInfoId)

+ 1 - 4
services/data/public_chart.go

@@ -23,10 +23,7 @@ import (
 // @return err error
 // @return errMsg string
 func DeleteChartPublicCheck(chartInfoId int, sysUser *system.Admin) (deleteStatus int, tipsMsg string, tableList []*data_manage.ExcelBaseInfo, err error, errMsg string) {
-	// TODO 操作权限校验
-	{
-
-	}
+	// 操作权限校验? 应该不需要,理论上来说只要有这个菜单(api)的就有当前权限
 
 	// 移除指标
 	if chartInfoId > 0 {

+ 3 - 10
services/data/public_chart_classify.go

@@ -10,8 +10,6 @@ import (
 	"time"
 )
 
-// TODO 分类名称允许在不同人的名下重复
-
 // AddChartPublicClassify
 // @Description: 添加公共指标分类
 // @author: Roc
@@ -141,9 +139,7 @@ func EditChartPublicClassify(classifyId int, classifyName string, sysUser *syste
 		return
 	}
 
-	// TODO 操作权限校验
-	{
-	}
+	// 操作权限校验? 应该不需要,理论上来说只要有这个菜单(api)的就有当前权限
 
 	// 需要变更的字段
 	updateCols := make([]string, 0)
@@ -230,10 +226,7 @@ func GetChartPublicClassifyMaxSort(parentId, source int) (maxSort int, err error
 
 // DeleteChartPublicClassifyCheck 删除检测
 func DeleteChartPublicClassifyCheck(classifyId int, sysUser *system.Admin) (deleteStatus int, tipsMsg string, allClassifyIdList []int, tableList []*data_manage.ExcelBaseInfo, err error, errMsg string) {
-	// TODO 操作权限校验
-	{
-
-	}
+	// 操作权限校验? 应该不需要,理论上来说只要有这个菜单(api)的就有当前权限
 
 	chartPublicClassifyObj := data_manage.ChartPublicClassify{}
 	// 查找当前分类
@@ -409,8 +402,8 @@ func MoveChartPublicClassify(req data_manage.MoveChartClassifyReq, sysUser *syst
 			return
 		}
 
-		// TODO 移动权限校验
 	}
+	// 操作权限校验? 应该不需要,理论上来说只要有这个菜单(api)的就有当前权限
 
 	if prevClassifyId > 0 {
 		prevClassify, err = obj.GetChartClassifyById(prevClassifyId)

+ 1 - 4
services/data/public_edb.go

@@ -23,10 +23,7 @@ import (
 // @return err error
 // @return errMsg string
 func DeleteEdbPublicCheck(edbInfoId int, sysUser *system.Admin) (deleteStatus int, tipsMsg string, tableList []*data_manage.ExcelBaseInfo, err error, errMsg string) {
-	// TODO 操作权限校验
-	{
-
-	}
+	// 操作权限校验? 应该不需要,理论上来说只要有这个菜单(api)的就有当前权限
 
 	// 移除指标
 	if edbInfoId > 0 {

+ 3 - 9
services/data/public_edb_classify.go

@@ -140,9 +140,7 @@ func EditEdbPublicClassify(classifyId int, classifyName string, sysUser *system.
 		return
 	}
 
-	// TODO 操作权限校验
-	{
-	}
+	// 操作权限校验? 应该不需要,理论上来说只要有这个菜单(api)的就有当前权限
 
 	// 需要变更的字段
 	updateCols := make([]string, 0)
@@ -229,10 +227,7 @@ func GetEdbPublicClassifyMaxSort(parentId int, classifyType uint8) (maxSort int,
 
 // DeleteEdbPublicClassifyCheck 删除检测
 func DeleteEdbPublicClassifyCheck(classifyId int, sysUser *system.Admin) (deleteStatus int, tipsMsg string, allClassifyIdList []int, tableList []*data_manage.ExcelBaseInfo, err error, errMsg string) {
-	// TODO 操作权限校验
-	{
-
-	}
+	// 操作权限校验? 应该不需要,理论上来说只要有这个菜单(api)的就有当前权限
 
 	edbPublicClassifyObj := data_manage.EdbPublicClassify{}
 	// 查找当前分类
@@ -396,9 +391,8 @@ func MoveEdbPublicClassify(req data_manage.MoveEdbClassifyReq, sysUser *system.A
 			err = errors.New(errMsg)
 			return
 		}
-
-		// TODO 移动权限校验
 	}
+	// 操作权限校验? 应该不需要,理论上来说只要有这个菜单(api)的就有当前权限
 
 	if prevClassifyId > 0 {
 		prevClassify, err = obj.GetEdbClassifyById(prevClassifyId)