ソースを参照

查询目录下的excel

xyxie 1 年間 前
コミット
04be7f31eb

+ 0 - 3
controllers/data_manage/excel/excel_classify.go

@@ -228,9 +228,6 @@ func (this *ExcelClassifyController) AddExcelClassify() {
 			br.ErrMsg = "查询父级分类信息失败,Err:" + err.Error()
 			return
 		}
-		if parent.ParentId == 0 && parent.Level == 0 {
-			parent.Level = 1
-		}
 		level = parent.Level + 1
 	}
 	// 入库

+ 1 - 1
controllers/data_manage/excel/excel_info.go

@@ -355,7 +355,7 @@ func (c *ExcelInfoController) List() {
 			return
 		}
 
-		childClassify, e := excel3.GetChildClassifyById(excelClassifyId)
+		childClassify, e, _ := excel2.GetChildClassifyByClassifyId(excelClassifyId, source)
 		if e != nil && e.Error() != utils.ErrNoRow() {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取分类信息失败, GetEdbClassify,Err:" + e.Error()

+ 6 - 0
models/data_manage/excel/excel_classify.go

@@ -70,6 +70,12 @@ func GetExcelClassifyBySource(source int) (items []*ExcelClassifyItems, err erro
 	return
 }
 
+func GetExcelClassifyBySourceOrderByLevel(source int) (items []*ExcelClassifyItems, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM excel_classify WHERE  source = ? AND is_delete=0 order by level asc, sort asc,excel_classify_id asc`
+	_, err = o.Raw(sql, source).QueryRows(&items)
+	return
+}
 func GetExcelClassifyAll() (items []*ExcelClassifyItems, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_classify WHERE parent_id<>0 AND is_delete=0 order by sort asc,excel_classify_id asc`

+ 46 - 0
services/data/excel/excel_classify.go

@@ -427,3 +427,49 @@ func moveExcelClassify(parentExcelClassifyInfo, excelClassifyInfo, prevClassify,
 	}
 	return
 }
+
+func GetChildClassifyByClassifyId(targetClassifyId int, source int) (targetList []*excel.ExcelClassifyItems, err error, errMsg string) {
+	//判断是否是挂在顶级目录下
+	targetClassify, err := excel.GetExcelClassifyById(targetClassifyId)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			errMsg = "当前分类不存在"
+			err = errors.New(errMsg)
+			return
+		}
+		errMsg = "获取失败"
+		err = errors.New("获取分类信息失败,Err:" + err.Error())
+		return
+	}
+	tmpList, err := excel.GetExcelClassifyBySourceOrderByLevel(source)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		errMsg = "获取失败"
+		err = errors.New("获取数据失败,Err:" + err.Error())
+		return
+	}
+	idMap := make(map[int]struct{})
+	if len(tmpList) > 0 {
+		for _, v := range tmpList {
+			if v.ExcelClassifyId == targetClassify.ExcelClassifyId {
+				idMap[v.ExcelClassifyId] = struct{}{}
+			}
+		}
+		for _, v := range tmpList {
+			if _, ok := idMap[v.ParentId]; ok {
+				idMap[v.ExcelClassifyId] = struct{}{}
+			}
+		}
+		for _, v := range tmpList {
+			if _, ok := idMap[v.ExcelClassifyId]; ok {
+				targetItem := new(excel.ExcelClassifyItems)
+				targetItem.ExcelClassifyId = v.ExcelClassifyId
+				targetItem.ParentId = v.ParentId
+				targetItem.UniqueCode = v.UniqueCode
+				targetItem.Level = v.Level
+				targetList = append(targetList, targetItem)
+			}
+		}
+	}
+
+	return
+}