|
@@ -304,76 +304,88 @@ func (this *ChartPermissionController) ClassifyTree() {
|
|
|
this.ServeJSON()
|
|
|
}()
|
|
|
chartPermissionId, _ := this.GetInt("ChartPermissionId")
|
|
|
- if chartPermissionId <= 0 {
|
|
|
+ if chartPermissionId < 0 {
|
|
|
br.Msg = "品种权限错误"
|
|
|
return
|
|
|
}
|
|
|
- chartPermission, err := models.GetChartPermissionById(chartPermissionId)
|
|
|
- if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "品种权限不存在"
|
|
|
+ var finalList []*models.ClassifyView
|
|
|
+ if chartPermissionId == 0 {
|
|
|
+ // 如果没有品种id那么返回所有分类
|
|
|
+ classifyList, err := models.GetClassifyEnabledList()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取分类失败,系统错误,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- br.Msg = "品种权限错误"
|
|
|
- br.ErrMsg = "品种权限错误,系统错误,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- var classifyIds []int
|
|
|
- if chartPermission.ParentId == 0 {
|
|
|
- // 传过来的是一级品种权限的id,那就获取子品种权限的id,通过子品种权限寻找分类id
|
|
|
- childChartPermissionIdsList, err := models.GetChildChartPermissionIdsById(chartPermission.ChartPermissionId)
|
|
|
+ finalList = classifyList
|
|
|
+ } else {
|
|
|
+ chartPermission, err := models.GetChartPermissionById(chartPermissionId)
|
|
|
if err != nil {
|
|
|
- br.Msg = "获取品种权限失败"
|
|
|
- br.ErrMsg = "获取子品种权限失败,系统错误,Err:" + err.Error()
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "品种权限不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "品种权限错误"
|
|
|
+ br.ErrMsg = "品种权限错误,系统错误,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- classifyIds, err = models.GetClassifyIdsListByIds(childChartPermissionIdsList)
|
|
|
+ var classifyIds []int
|
|
|
+ if chartPermission.ParentId == 0 {
|
|
|
+ // 传过来的是一级品种权限的id,那就获取子品种权限的id,通过子品种权限寻找分类id
|
|
|
+ childChartPermissionIdsList, err := models.GetChildChartPermissionIdsById(chartPermission.ChartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取品种权限失败"
|
|
|
+ br.ErrMsg = "获取子品种权限失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classifyIds, err = models.GetClassifyIdsListByIds(childChartPermissionIdsList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ classifyIds, err = models.GetClassifyIdsListById(chartPermission.ChartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ classifyList, err := models.GetClassifyListByIds(classifyIds)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取分类失败"
|
|
|
- br.ErrMsg = "获取类别失败,系统错误,Err:" + err.Error()
|
|
|
+ br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- } else {
|
|
|
- classifyIds, err = models.GetClassifyIdsListById(chartPermission.ChartPermissionId)
|
|
|
+ var parentClassifyIds []int
|
|
|
+ for _, v := range classifyList {
|
|
|
+ if v.ParentId != 0 {
|
|
|
+ parentClassifyIds = append(parentClassifyIds, v.ParentId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ parentClassifyList, err := models.GetClassifyListByIds(parentClassifyIds)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取分类失败"
|
|
|
- br.ErrMsg = "获取类别失败,系统错误,Err:" + err.Error()
|
|
|
+ br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- }
|
|
|
- classifyList, err := models.GetClassifyListByIds(classifyIds)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取分类失败"
|
|
|
- br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- var parentClassifyIds []int
|
|
|
- for _, v := range classifyList {
|
|
|
- if v.ParentId != 0 {
|
|
|
- parentClassifyIds = append(parentClassifyIds, v.ParentId)
|
|
|
- }
|
|
|
- }
|
|
|
- parentClassifyList, err := models.GetClassifyListByIds(parentClassifyIds)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取分类失败"
|
|
|
- br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
|
|
|
- var rootClassifyIds []int
|
|
|
- for _, v := range parentClassifyList {
|
|
|
- if v.ParentId != 0 {
|
|
|
- rootClassifyIds = append(rootClassifyIds, v.ParentId)
|
|
|
+ var rootClassifyIds []int
|
|
|
+ for _, v := range parentClassifyList {
|
|
|
+ if v.ParentId != 0 {
|
|
|
+ rootClassifyIds = append(rootClassifyIds, v.ParentId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ classifyIds = append(classifyIds, parentClassifyIds...)
|
|
|
+ classifyIds = append(classifyIds, rootClassifyIds...)
|
|
|
+ classifyIds = utils.Unique(classifyIds)
|
|
|
+ finalList, err = models.GetClassifyListByIds(classifyIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
}
|
|
|
- }
|
|
|
- classifyIds = append(classifyIds, parentClassifyIds...)
|
|
|
- classifyIds = append(classifyIds, rootClassifyIds...)
|
|
|
- classifyIds = utils.Unique(classifyIds)
|
|
|
- finalList, err := models.GetClassifyListByIds(classifyIds)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取分类失败"
|
|
|
- br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
|
|
|
- return
|
|
|
}
|
|
|
finalList = services.GetClassifyTree(finalList, 0)
|
|
|
|