|
@@ -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
|
|
|
+}
|