瀏覽代碼

fix:在线excel过滤无权限品种指标

Roc 7 月之前
父節點
當前提交
fcd37b43ff
共有 2 個文件被更改,包括 33 次插入1 次删除
  1. 0 1
      controllers/data_manage/manual_edb.go
  2. 33 0
      controllers/target.go

+ 0 - 1
controllers/data_manage/manual_edb.go

@@ -482,7 +482,6 @@ func (c *ManualEdbController) EditExcelData() {
 
 	// 如果不是超管账号,那么得校验下当前用户是否有该指标的权限
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		//获取账户所拥有权限的分类id集合
 		count, err := models.GetCountManualUserClassify(sysUser.AdminId, manualEdbInfo.ClassifyId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"

+ 33 - 0
controllers/target.go

@@ -3298,6 +3298,34 @@ func (this *TargetController) ExcelDataAdd() {
 		}(addEdbTradeMap, updateEdbTradeMap, updateDataTradeMap)
 	}()
 
+	//超管账号可以查看分类下的所有频度数据
+	userId := sysUser.AdminId
+	if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
+		userId = 0
+
+		// 校验下当前用户是否有该指标的权限
+		count, err := models.GetCountManualUserClassify(sysUser.AdminId, req.ClassifyId)
+		if err != nil {
+			br.Msg = "获取分类数据失败"
+			br.ErrMsg = "获取分类数据失败,err:" + err.Error()
+			return
+		}
+
+		if count <= 0 {
+			br.Msg = "无权访问"
+			br.ErrMsg = "无权访问"
+			br.IsSendEmail = false
+			return
+		}
+	}
+	//获取账户所拥有权限的分类id集合
+	classifyIdList, err := data.GetUserManualClassifyIdList(userId)
+	if err != nil {
+		br.Msg = "获取分类数据失败"
+		br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
+		return
+	}
+
 	//操作指标,新增指标及数据等
 	{
 		for i := 0; i < len(secNameList); i++ {
@@ -3380,6 +3408,11 @@ func (this *TargetController) ExcelDataAdd() {
 						}
 					}
 
+					// 没有该分类品种权限的话,那么就过滤
+					if !utils.InArrayByInt(classifyIdList, target.ClassifyId) {
+						continue
+					}
+
 					//判断指标数据是否已经存在
 					tmpDataMap, ok2 := edbCodeDataMap[target.TradeCode]
 					if !ok2 {