Kaynağa Gözat

Merge remote-tracking branch 'origin/debug' into debug

Roc 1 yıl önce
ebeveyn
işleme
a7f097ec96

+ 1 - 1
controllers/data_manage/chart_classify.go

@@ -945,7 +945,7 @@ func (this *ChartClassifyController) ChartClassifyChartListV2() {
 
 	isShowMe, _ := this.GetBool("IsShowMe")
 	if isShowMe {
-		allChartInfo, err := data_manage.GetChartInfoByAdminId([]int{utils.CHART_SOURCE_DEFAULT}, sysUser.AdminId)
+		allChartInfo, err := data_manage.GetChartInfoByAdminIdAndClassify([]int{utils.CHART_SOURCE_DEFAULT}, sysUser.AdminId, chartClassifyId)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取全部数据失败,Err:" + err.Error()

+ 16 - 16
controllers/data_manage/predict_edb_classify.go

@@ -347,6 +347,7 @@ func (this *PredictEdbClassifyController) Delete() {
 		resp = data_manage.AddEdbInfoResp{
 			EdbInfoId:  nextItem.EdbInfoId,
 			UniqueCode: nextItem.UniqueCode,
+			ClassifyId: nextItem.ClassifyId,
 		}
 	}
 	br.Ret = 200
@@ -554,20 +555,6 @@ func (this *PredictEdbClassifyController) ListV2() {
 			edbInfoMap[v.ClassifyId] = append(edbInfoMap[v.ClassifyId], v)
 		}
 	}
-	//rootChildMap := make(map[int][]*data_manage.EdbClassifyItems)
-
-	//for _, v := range rootList {
-	//	button := data.GetPredictEdbClassifyOpButton(this.SysUser, v.SysUserId)
-	//	v.Button = button
-	//
-	//	rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
-	//	if existItems, ok := edbInfoMap[v.ClassifyId]; ok {
-	//		v.Children = existItems
-	//	} else {
-	//		items := make([]*data_manage.EdbClassifyItems, 0)
-	//		v.Children = items
-	//	}
-	//}
 	rootTwoList, err := data_manage.GetEdbClassifyByParentIdTwo( 1)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取失败"
@@ -603,12 +590,25 @@ func (this *PredictEdbClassifyController) ListV2() {
 		if existItems, ok := rootTwoMap[v.ClassifyId]; ok {
 			v.Children = existItems
 			for _, item := range existItems {
-				button := data.GetPredictEdbOpButton(this.SysUser, v.SysUserId)
-				button.AddButton = false //不管有没有权限,指标都是没有添加按钮的
 				item.Button = button
 
 				if existItems, ok := rootTwoChildMap[item.ClassifyId]; ok {
 					item.Children = existItems
+					for _, existItem := range existItems {
+						if _, ok := noPermissionEdbInfoIdMap[existItem.EdbInfoId]; ok {
+							continue
+						}
+						button := data.GetPredictEdbOpButton(this.SysUser, v.SysUserId)
+						button.AddButton = false //不管有没有权限,指标都是没有添加按钮的
+						existItem.Button = button
+						if isOnlyMe {
+							if existItem.SysUserId == this.SysUser.AdminId {
+								edbInfoMap[existItem.ClassifyId] = append(edbInfoMap[v.ClassifyId], v)
+							}
+						} else {
+							edbInfoMap[v.ClassifyId] = append(edbInfoMap[v.ClassifyId], v)
+						}
+					}
 				} else {
 					items := make([]*data_manage.EdbClassifyItems, 0)
 					item.Children = items

+ 1 - 0
controllers/data_manage/predict_edb_info_calculate.go

@@ -356,6 +356,7 @@ func (this *PredictEdbInfoController) BatchCalculateBatchSave() {
 			CalculateId: v.CalculateId,
 			EdbInfoId:   result.EdbInfoId,
 			UniqueCode:  result.UniqueCode,
+			ClassifyId:  req.ClassifyId,
 		})
 	}
 

+ 15 - 0
models/data_manage/chart_info.go

@@ -1733,4 +1733,19 @@ func FIXChartClassifyId(newId, oldId int) (err error) {
 	sql := ` UPDATE chart_info SET chart_classify_id=? WHERE chart_classify_id=? `
 	_, err = o.Raw(sql, newId, oldId).Exec()
 	return
+}
+
+// GetChartInfoByAdminIdAndClassify 获取所有我创建的图表,用于分类展示
+func GetChartInfoByAdminIdAndClassify(sourceList []int, adminId, classifyId int) (items []*ChartClassifyItems, err error) {
+	num := len(sourceList)
+	if num <= 0 {
+		return
+	}
+
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT chart_info_id,chart_classify_id,chart_name AS chart_classify_name,
+             unique_code,sys_user_id,sys_user_real_name,date_type,start_date,end_date,chart_type,calendar,season_start_date,season_end_date
+            FROM chart_info where source in (` + utils.GetOrmInReplace(num) + `)  AND sys_user_id = ? AND chart_classify_id = ? ORDER BY sort asc,create_time ASC `
+	_, err = o.Raw(sql, sourceList, adminId, classifyId).QueryRows(&items)
+	return
 }

+ 39 - 0
models/data_manage/edb_classify.go

@@ -351,3 +351,42 @@ func FixEdbClassify()  {
 		}
 	}
 }
+
+func FixPredictEdbClassify()  {
+	//新增三级分类
+	list, err := GetEdbClassifyByLevel(2,1)
+	if err != nil {
+		return
+	}
+
+	for _, v := range list {
+		timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
+		classifyInfo := &EdbClassify{
+			//ClassifyId:      0,
+			ClassifyType:    1,
+			ClassifyName:    v.ClassifyName,
+			ParentId:        v.ClassifyId,
+			HasData:         0,
+			CreateTime:      time.Now(),
+			ModifyTime:      time.Now(),
+			SysUserRealName: "admin",
+			Level:           3,
+			UniqueCode:      utils.MD5(utils.DATA_PREFIX + "_" + timestamp),
+			Sort:            v.Sort,
+		}
+		if utils.RunMode == "debug" {
+			classifyInfo.SysUserId = 11
+		} else {
+			classifyInfo.SysUserId = 163
+		}
+		id, err := AddEdbClassify(classifyInfo)
+		if err != nil {
+			return
+		}
+
+		err = FIXEdbClassifyId(int(id),v.ClassifyId)
+		if err != nil {
+			return
+		}
+	}
+}

+ 1 - 0
models/data_manage/edb_info.go

@@ -551,6 +551,7 @@ func ModifyCalculateEdbInfo(item *EditEdbInfoReq) (err error) {
 type AddEdbInfoResp struct {
 	EdbInfoId  int    `description:"指标ID"`
 	UniqueCode string `description:"指标唯一编码"`
+	ClassifyId int    `description:"分类id"`
 }
 
 // 根据基础指标获取所有关联指标