|
@@ -778,7 +778,7 @@ func (this *ClassifyController) ClassifyPermissionV2() {
|
|
|
resp := make([]*models.ChartPermissionItem, 0)
|
|
|
|
|
|
// 拥有的品种ID列表
|
|
|
- permissionIdList := make([]int, 0)
|
|
|
+ permissionIdMap := make(map[int]bool)
|
|
|
{
|
|
|
//获取报告分类详情
|
|
|
classifyInfo, err := models.GetClassifyById(classifyId)
|
|
@@ -797,12 +797,12 @@ func (this *ClassifyController) ClassifyPermissionV2() {
|
|
|
}
|
|
|
|
|
|
for _, v := range list {
|
|
|
- permissionIdList = append(permissionIdList, v.ChartPermissionId)
|
|
|
+ permissionIdMap[v.ChartPermissionId] = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 没有关联品种时,直接返回
|
|
|
- num := len(permissionIdList)
|
|
|
+ num := len(permissionIdMap)
|
|
|
if num <= 0 {
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -810,10 +810,9 @@ func (this *ClassifyController) ClassifyPermissionV2() {
|
|
|
br.Data = resp
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- cond := ` and chart_permission_id in (` + utils.GetOrmInReplace(num) + `) `
|
|
|
+ cond := ` and product_id = ?`
|
|
|
pars := make([]interface{}, 0)
|
|
|
- pars = append(pars, permissionIdList)
|
|
|
+ pars = append(pars, 1)
|
|
|
list, e := services.GetChartPermissionList(cond, pars)
|
|
|
if e != nil {
|
|
|
br.Msg = "获取失败"
|
|
@@ -824,6 +823,7 @@ func (this *ClassifyController) ClassifyPermissionV2() {
|
|
|
// 品种树
|
|
|
childMap := make(map[int][]*models.ChartPermissionItem)
|
|
|
|
|
|
+ tmpResp := make([]*models.ChartPermissionItem, 0)
|
|
|
for _, v := range list {
|
|
|
t := new(models.ChartPermissionItem)
|
|
|
t.PermissionId = v.ChartPermissionId
|
|
@@ -835,18 +835,25 @@ func (this *ClassifyController) ClassifyPermissionV2() {
|
|
|
t.CreateTime = v.CreatedTime.Format(utils.FormatDateTime)
|
|
|
t.Child = make([]*models.ChartPermissionItem, 0)
|
|
|
if v.ParentId == 0 {
|
|
|
- resp = append(resp, t)
|
|
|
+ tmpResp = append(tmpResp, t)
|
|
|
continue
|
|
|
}
|
|
|
if v.ParentId > 0 {
|
|
|
- if childMap[v.ParentId] == nil {
|
|
|
- childMap[v.ParentId] = make([]*models.ChartPermissionItem, 0)
|
|
|
+ if _, ok := permissionIdMap[v.ChartPermissionId]; ok {
|
|
|
+ if childMap[v.ParentId] == nil {
|
|
|
+ childMap[v.ParentId] = make([]*models.ChartPermissionItem, 0)
|
|
|
+ }
|
|
|
+ childMap[v.ParentId] = append(childMap[v.ParentId], t)
|
|
|
}
|
|
|
- childMap[v.ParentId] = append(childMap[v.ParentId], t)
|
|
|
}
|
|
|
}
|
|
|
- for _, r := range resp {
|
|
|
- r.Child = childMap[r.PermissionId]
|
|
|
+ for _, r := range tmpResp {
|
|
|
+ childList, ok := childMap[r.PermissionId]
|
|
|
+ if !ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ r.Child = childList
|
|
|
+ resp = append(resp, r)
|
|
|
}
|
|
|
|
|
|
br.Ret = 200
|