|
@@ -14,6 +14,7 @@ import (
|
|
|
"hongze/hongze_yb/utils"
|
|
|
"io/ioutil"
|
|
|
"strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -76,15 +77,16 @@ func GetMyChartList(c *gin.Context) {
|
|
|
reqKeywords := c.DefaultQuery("Keywords", "")
|
|
|
reqClassifyId := c.DefaultQuery("ClassifyId", "")
|
|
|
|
|
|
+ // 获取用户图表分类权限
|
|
|
+ publicCondition := make(map[string]interface{})
|
|
|
+ privateCondition := make(map[string]interface{})
|
|
|
+ publicClassify, privateClassify, err := chart.GetUserChartClassifyListByCondition(userInfo, publicCondition, privateCondition)
|
|
|
+ if err != nil {
|
|
|
+ response.FailMsg("获取失败", "获取图表分类信息失败, Err:" + err.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
if reqClassifyId == "" && reqKeywords == "" {
|
|
|
- // 默认展示第一个最小分类下的图表
|
|
|
- publicCondition := make(map[string]interface{})
|
|
|
- privateCondition := make(map[string]interface{})
|
|
|
- publicClassify, privateClassify, err := chart.GetUserChartClassifyListByCondition(userInfo, publicCondition, privateCondition)
|
|
|
- if err != nil {
|
|
|
- response.FailMsg("获取失败", "获取图表分类信息失败, Err:" + err.Error(), c)
|
|
|
- return
|
|
|
- }
|
|
|
// 内部员工默认取自己的第一个分类
|
|
|
classifyId := 0
|
|
|
if len(privateClassify) > 0 {
|
|
@@ -94,13 +96,23 @@ func GetMyChartList(c *gin.Context) {
|
|
|
classifyId = publicClassify[0].MyChartClassifyId
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
condition += " AND d.my_chart_classify_id = ?"
|
|
|
pars = append(pars, classifyId)
|
|
|
} else if reqKeywords != "" {
|
|
|
// 关键词
|
|
|
condition += " AND b.chart_name LIKE ?"
|
|
|
pars = append(pars, "%" + reqKeywords + "%")
|
|
|
+ // 搜索自己权限内的图表
|
|
|
+ classifyIdSlice := make([]string, 0)
|
|
|
+ for i := 0; i < len(publicClassify); i++ {
|
|
|
+ classifyIdSlice = append(classifyIdSlice, strconv.Itoa(publicClassify[i].MyChartClassifyId))
|
|
|
+ }
|
|
|
+ for i := 0; i < len(privateClassify); i++ {
|
|
|
+ classifyIdSlice = append(classifyIdSlice, strconv.Itoa(privateClassify[i].MyChartClassifyId))
|
|
|
+ }
|
|
|
+ classifyIdsStr := strings.Join(classifyIdSlice, ",")
|
|
|
+ condition += " AND d.my_chart_classify_id IN (?)"
|
|
|
+ pars = append(pars, classifyIdsStr)
|
|
|
} else {
|
|
|
// 指定分类
|
|
|
condition += " AND d.my_chart_classify_id = ?"
|