|
@@ -74,7 +74,14 @@ func GetFullClassifyByClassifyId(targetClassifyId int) (targetList []*data_manag
|
|
|
return
|
|
|
}
|
|
|
if targetClassify.ParentId == 0 {
|
|
|
- targetList = make([]*data_manage.EdbClassifyIdItems, 0)
|
|
|
+ targetItem := new(data_manage.EdbClassifyIdItems)
|
|
|
+ targetItem.ClassifyId = targetClassify.ClassifyId
|
|
|
+ targetItem.ParentId = targetClassify.ParentId
|
|
|
+ targetItem.RootId = targetClassify.RootId
|
|
|
+ targetItem.UniqueCode = targetClassify.UniqueCode
|
|
|
+ targetItem.Level = targetClassify.Level
|
|
|
+ targetItem.ClassifyName = targetClassify.ClassifyName
|
|
|
+ targetList = append(targetList, targetItem)
|
|
|
return
|
|
|
}
|
|
|
tmpList, err := data_manage.GetEdbClassifyByRootIdLevel(targetClassify.RootId, targetClassify.ClassifyType, targetClassify.Level)
|
|
@@ -87,7 +94,7 @@ func GetFullClassifyByClassifyId(targetClassifyId int) (targetList []*data_manag
|
|
|
if len(tmpList) > 0 {
|
|
|
for _, v := range tmpList {
|
|
|
addFlag := false
|
|
|
- if v.ClassifyId == targetClassify.ParentId {
|
|
|
+ if v.ClassifyId == targetClassify.ClassifyId {
|
|
|
idMap[v.ClassifyId] = struct{}{}
|
|
|
idMap[v.ParentId] = struct{}{}
|
|
|
addFlag = true
|
|
@@ -200,7 +207,24 @@ func AddEdbClassify(classifyName string, parentId, level int, classifyType uint8
|
|
|
return
|
|
|
}
|
|
|
//获取该层级下最大的排序数
|
|
|
- maxSort, err := data_manage.GetEdbClassifyMaxSort(parentId, classifyType)
|
|
|
+ maxSort, err := GetEdbClassifyMaxSort(parentId, classifyType)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "获取失败"
|
|
|
+ err = errors.New("查询排序信息失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //查询顶级rootId
|
|
|
+ parentClassify, err := data_manage.GetEdbClassifyById(parentId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ errMsg = "父级分类不存在"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ errMsg = "获取失败"
|
|
|
+ err = errors.New("获取分类信息失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
|
classifyInfo = &data_manage.EdbClassify{
|
|
@@ -208,6 +232,7 @@ func AddEdbClassify(classifyName string, parentId, level int, classifyType uint8
|
|
|
ClassifyType: classifyType,
|
|
|
ClassifyName: classifyName,
|
|
|
ParentId: parentId,
|
|
|
+ RootId: parentClassify.RootId,
|
|
|
HasData: 0,
|
|
|
CreateTime: time.Now(),
|
|
|
ModifyTime: time.Now(),
|
|
@@ -1048,3 +1073,20 @@ func GetPredictEdbClassifyOpButton(sysUser *system.Admin, belongUserId int) (but
|
|
|
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+func GetEdbClassifyMaxSort(parentId int, classifyType uint8) (maxSort int, err error) {
|
|
|
+ //获取该层级下最大的排序数
|
|
|
+ classifyMaxSort, err := data_manage.GetEdbClassifyMaxSort(parentId, classifyType)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ maxSort = classifyMaxSort
|
|
|
+ edbMaxSort, err := data_manage.GetEdbInfoMaxSortByClassifyId(parentId)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if maxSort < edbMaxSort {
|
|
|
+ maxSort = edbMaxSort
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|