|
@@ -8,6 +8,7 @@ import (
|
|
|
"eta/eta_api/models/data_manage/response"
|
|
|
"eta/eta_api/models/system"
|
|
|
"eta/eta_api/services"
|
|
|
+ "eta/eta_api/services/alarm_msg"
|
|
|
"eta/eta_api/services/data"
|
|
|
"eta/eta_api/services/data/data_manage_permission"
|
|
|
"eta/eta_api/services/data/excel"
|
|
@@ -18,6 +19,7 @@ import (
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"os"
|
|
|
"os/exec"
|
|
|
+ "sort"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
@@ -81,12 +83,6 @@ func (this *ChartInfoController) ChartInfoSave() {
|
|
|
// return
|
|
|
//}
|
|
|
|
|
|
- if chartItem.ChartType == 2 && len(req.ChartEdbInfoList) > 1 {
|
|
|
- br.Msg = "您选择的图表样式为季节性图表,只支持单指标画图!"
|
|
|
- br.ErrMsg = "您选择的图表样式为季节性图表,只支持单指标画图,Data:" + string(this.Ctx.Input.RequestBody)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
if req.Calendar == "" {
|
|
|
req.Calendar = "公历"
|
|
|
}
|
|
@@ -959,7 +955,6 @@ func (this *ChartInfoController) ChartInfoDetail() {
|
|
|
var err error
|
|
|
chartInfo := new(data_manage.ChartInfoView)
|
|
|
chartInfo.HaveOperaAuth = true
|
|
|
-
|
|
|
if chartInfoId > 0 {
|
|
|
chartInfo, err = data_manage.GetChartInfoViewById(chartInfoId)
|
|
|
if err != nil {
|
|
@@ -1184,6 +1179,26 @@ func (this *ChartInfoController) ChartInfoDetail() {
|
|
|
IsSetName: chartInfo.IsSetName,
|
|
|
}
|
|
|
|
|
|
+ // 图表当前分类的分类树
|
|
|
+ classifyLevels := make([]string, 0)
|
|
|
+ {
|
|
|
+ list, e := data_manage.GetChartClassifyAllBySource(utils.CHART_SOURCE_DEFAULT)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取图表分类失败, Err: %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ parents := data.GetChartClassifyParentRecursive(list, chartInfo.ChartClassifyId)
|
|
|
+ sort.Slice(parents, func(i, j int) bool {
|
|
|
+ return parents[i].Level < parents[i].Level
|
|
|
+ })
|
|
|
+ for _, v := range parents {
|
|
|
+ classifyLevels = append(classifyLevels, v.UniqueCode)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ resp.ClassifyLevels = classifyLevels
|
|
|
+
|
|
|
resp.ChartInfo = chartInfo
|
|
|
resp.BarChartInfo = barConfig
|
|
|
br.Ret = 200
|
|
@@ -1508,7 +1523,6 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
}
|
|
|
|
|
|
resp := new(data_manage.ChartInfoDetailResp)
|
|
|
-
|
|
|
// 图表数据权限
|
|
|
{
|
|
|
// 图表分类
|
|
@@ -1722,6 +1736,26 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
resp.EdbInfoList = mappingList
|
|
|
}
|
|
|
|
|
|
+ // 图表当前分类的分类树
|
|
|
+ classifyLevels := make([]string, 0)
|
|
|
+ {
|
|
|
+ list, e := data_manage.GetChartClassifyAllBySource(utils.CHART_SOURCE_DEFAULT)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取图表分类失败, Err: %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ parents := data.GetChartClassifyParentRecursive(list, chartInfo.ChartClassifyId)
|
|
|
+ sort.Slice(parents, func(i, j int) bool {
|
|
|
+ return parents[i].Level < parents[i].Level
|
|
|
+ })
|
|
|
+ for _, v := range parents {
|
|
|
+ classifyLevels = append(classifyLevels, v.UniqueCode)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ resp.ClassifyLevels = classifyLevels
|
|
|
+
|
|
|
//图表操作权限
|
|
|
chartInfo.IsEdit = data.CheckOpChartPermission(sysUser, chartInfo.SysUserId, chartInfo.HaveOperaAuth)
|
|
|
chartInfo.Button = data_manage.ChartViewButton{
|
|
@@ -2641,6 +2675,12 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if !isOk {
|
|
|
+ if errMsg != "" {
|
|
|
+ utils.FileLog.Info("查询图表详情失败,GetChartInfoDetailFromUniqueCode err:" + errMsg)
|
|
|
+ go alarm_msg.SendAlarmMsg("查询图表详情失败,GetChartInfoDetailFromUniqueCode,errmsg:"+errMsg, 3)
|
|
|
+ }
|
|
|
+ }
|
|
|
}()
|
|
|
|
|
|
//判断是否存在缓存,如果存在缓存,那么直接从缓存中获取
|
|
@@ -4522,3 +4562,454 @@ func (this *ChartInfoController) ChartInfoImgSetBySvg() {
|
|
|
br.Data = resp
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// @Title ETA图表列表接口
|
|
|
+// @Description ETA图表列表接口
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param ChartClassifyId query int true "分类id"
|
|
|
+// @Param KeyWord query string true "搜索关键词"
|
|
|
+// @Param IsShowMe query bool true "是否只看我的,true、false"
|
|
|
+// @Success 200 {object} data_manage.ChartListResp
|
|
|
+// @router /chart/list [get]
|
|
|
+func (this *ChartInfoController) ChartList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ subClassify, _ := this.GetBool("SubClassify")
|
|
|
+
|
|
|
+ chartClassifyIdsStr := this.GetString("ChartClassifyIds")
|
|
|
+ chartClassifyIds := strings.Split(chartClassifyIdsStr, ",")
|
|
|
+
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ keyWord := this.GetString("KeyWord")
|
|
|
+ sysUserIds := this.GetString("SysUserIds")
|
|
|
+ chartTypeIds := this.GetString("ChartTypeIds")
|
|
|
+
|
|
|
+ var total int
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = paging.StartIndex(currentIndex, pageSize)
|
|
|
+
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ // 普通图表
|
|
|
+ condition += ` AND source = ? `
|
|
|
+ pars = append(pars, utils.CHART_SOURCE_DEFAULT)
|
|
|
+
|
|
|
+ if len(chartClassifyIdsStr) > 0 {
|
|
|
+ if !subClassify {
|
|
|
+ chartClassifyId, err := data_manage.GetChartClassifyByIdsNoSubClassify(chartClassifyIds)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取图表信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ condition += " AND chart_classify_id IN(" + chartClassifyId + ") "
|
|
|
+ //pars = append(pars, chartClassifyId)
|
|
|
+ } else {
|
|
|
+ //chartClassifyId, err := data_manage.GetChartClassifyByIds(chartClassifyIds)
|
|
|
+ //if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ // br.Msg = "获取图表信息失败"
|
|
|
+ // br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //condition += " AND chart_classify_id IN(" + chartClassifyId + ") "
|
|
|
+ //pars = append(pars, chartClassifyId)
|
|
|
+
|
|
|
+ list, e := data_manage.GetChartClassifyAllBySource(utils.CHART_SOURCE_DEFAULT)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取图表分类失败, Err: %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ finalClassifyIds := make([]int, 0)
|
|
|
+ parents := data.GetChartClassifyChildrenRecursiveByParentIds(list, chartClassifyIds)
|
|
|
+ sort.Slice(parents, func(i, j int) bool {
|
|
|
+ return parents[i].Level < parents[i].Level
|
|
|
+ })
|
|
|
+ for _, v := range parents {
|
|
|
+ finalClassifyIds = append(finalClassifyIds, v.ChartClassifyId)
|
|
|
+ }
|
|
|
+
|
|
|
+ condition += " AND chart_classify_id IN(" + utils.GetOrmInReplace(len(finalClassifyIds)) + ") "
|
|
|
+ pars = append(pars, finalClassifyIds)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if keyWord != "" {
|
|
|
+ condition += ` AND ( chart_name LIKE '%` + keyWord + `%' OR chart_name_en LIKE '%` + keyWord + `%' )`
|
|
|
+ }
|
|
|
+ if sysUserIds != "" {
|
|
|
+ adminIds := strings.Split(sysUserIds, ",")
|
|
|
+ if len(adminIds) == 0 {
|
|
|
+ br.Msg = "请选择正确的创建人"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ adminIdsSlice := make([]int, 0)
|
|
|
+ for _, adminId := range adminIds {
|
|
|
+ adminIdInt, e := strconv.Atoi(adminId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "请选择正确的创建人"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ adminIdsSlice = append(adminIdsSlice, adminIdInt)
|
|
|
+ }
|
|
|
+ condition += " AND sys_user_id in (" + utils.GetOrmInReplace(len(adminIds)) + ") "
|
|
|
+ pars = append(pars, adminIdsSlice)
|
|
|
+ }
|
|
|
+ if chartTypeIds != "" {
|
|
|
+ chartTypeIdList := strings.Split(chartTypeIds, ",")
|
|
|
+ condition += " AND chart_type in (" + utils.GetOrmInReplace(len(chartTypeIdList)) + ") "
|
|
|
+ pars = append(pars, chartTypeIdList)
|
|
|
+ }
|
|
|
+
|
|
|
+ //只看我的
|
|
|
+ //isShowMe, _ := this.GetBool("IsShowMe")
|
|
|
+ //if isShowMe {
|
|
|
+ // condition += ` AND sys_user_id = ? `
|
|
|
+ // pars = append(pars, sysUser.AdminId)
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 获取当前账号的不可见指标
|
|
|
+ noPermissionChartIdList := make([]int, 0)
|
|
|
+ {
|
|
|
+ obj := data_manage.EdbInfoNoPermissionAdmin{}
|
|
|
+ confList, err := obj.GetAllChartListByAdminId(this.SysUser.AdminId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取不可见指标配置数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range confList {
|
|
|
+ noPermissionChartIdList = append(noPermissionChartIdList, v.ChartInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lenNoPermissionChartIdList := len(noPermissionChartIdList)
|
|
|
+ if lenNoPermissionChartIdList > 0 {
|
|
|
+ condition += ` AND chart_info_id not in (` + utils.GetOrmInReplace(lenNoPermissionChartIdList) + `) `
|
|
|
+ pars = append(pars, noPermissionChartIdList)
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取图表信息
|
|
|
+ list, err := data_manage.GetChartListByCondition(condition, pars, startSize, pageSize)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取图表信息失败"
|
|
|
+ br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ myChartList, err := data_manage.GetMyChartListByAdminId(sysUser.AdminId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取图表信息失败"
|
|
|
+ br.ErrMsg = "获取我的图表信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ myChartMap := make(map[int]*data_manage.MyChartView)
|
|
|
+ for _, v := range myChartList {
|
|
|
+ myChartMap[v.ChartInfoId] = v
|
|
|
+ }
|
|
|
+ listLen := len(list)
|
|
|
+ chartEdbMap := make(map[int][]*data_manage.ChartEdbInfoMapping)
|
|
|
+ if listLen > 0 {
|
|
|
+ // 分类id
|
|
|
+ classifyIdList := make([]int, 0)
|
|
|
+ // 当前列表中的分类map
|
|
|
+ classifyMap := make(map[int]*data_manage.ChartClassify)
|
|
|
+ for _, v := range list {
|
|
|
+ classifyIdList = append(classifyIdList, v.ChartClassifyId)
|
|
|
+ }
|
|
|
+ classifyList, err := data_manage.GetChartClassifyByIdList(classifyIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取分类列表失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range classifyList {
|
|
|
+ classifyMap[v.ChartClassifyId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已授权分类id
|
|
|
+ permissionChartIdList, permissionClassifyIdList, err := data_manage_permission.GetUserChartAndClassifyPermissionList(this.SysUser.AdminId, 0, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 权限
|
|
|
+ for k, chartViewInfo := range list {
|
|
|
+ if currClassify, ok := classifyMap[chartViewInfo.ChartClassifyId]; ok {
|
|
|
+ list[k].HaveOperaAuth = data_manage_permission.CheckChartPermissionByPermissionIdList(chartViewInfo.IsJoinPermission, currClassify.IsJoinPermission, chartViewInfo.ChartInfoId, chartViewInfo.ChartClassifyId, permissionChartIdList, permissionClassifyIdList)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ chartInfoIds := ""
|
|
|
+ for _, v := range list {
|
|
|
+ chartInfoIds += strconv.Itoa(v.ChartInfoId) + ","
|
|
|
+ }
|
|
|
+ if chartInfoIds != "" {
|
|
|
+ chartInfoIds = strings.Trim(chartInfoIds, ",")
|
|
|
+ //判断是否需要展示英文标识
|
|
|
+ edbList, e := data_manage.GetChartEdbMappingListByChartInfoIds(chartInfoIds)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取图表,指标信息失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range edbList {
|
|
|
+ chartEdbMap[v.ChartInfoId] = append(chartEdbMap[v.ChartInfoId], v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ listTmp, err := data_manage.GetChartTypeList()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取图表类型失败"
|
|
|
+ br.ErrMsg = "获取图表类型失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //遍历list,将id和name组成map
|
|
|
+ chartTypeMap := make(map[int]data_manage.ChartType)
|
|
|
+ for _, v := range listTmp {
|
|
|
+ chartTypeMap[v.ChartTypeId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ for i := 0; i < listLen; i++ {
|
|
|
+ //判断是否需要展示英文标识
|
|
|
+ if edbTmpList, ok := chartEdbMap[list[i].ChartInfoId]; ok {
|
|
|
+ list[i].IsEnChart = data.CheckIsEnChart(list[i].ChartNameEn, edbTmpList, list[i].Source, list[i].ChartType)
|
|
|
+ }
|
|
|
+
|
|
|
+ if existItem, ok := myChartMap[list[i].ChartInfoId]; ok {
|
|
|
+ list[i].IsAdd = true
|
|
|
+ list[i].MyChartId = existItem.MyChartId
|
|
|
+ list[i].MyChartClassifyId = existItem.MyChartClassifyId
|
|
|
+ }
|
|
|
+ list[i].ChartTypeName = chartTypeMap[list[i].ChartType].ChartTypeName
|
|
|
+ list[i].ChartTypeNameEn = chartTypeMap[list[i].ChartType].ChartTypeNameEn
|
|
|
+ }
|
|
|
+
|
|
|
+ resp := new(data_manage.ChartListResp)
|
|
|
+ if list == nil || len(list) <= 0 || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
+ items := make([]*data_manage.ChartInfoView, 0)
|
|
|
+ resp.Paging = page
|
|
|
+ resp.List = items
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ dataCount, err := data_manage.GetChartListCountByCondition(condition, pars)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取指标信息失败"
|
|
|
+ br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ page = paging.GetPaging(currentIndex, pageSize, dataCount)
|
|
|
+ resp.Paging = page
|
|
|
+ resp.List = list
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// ModifyChartList
|
|
|
+// @Title 批量修改图表
|
|
|
+// @Description 批量修改图表
|
|
|
+// @Param SysUserIds query string true "根据创建人查询"
|
|
|
+// @Param ChartClassifyIds query string true "图片分类id"
|
|
|
+// @Success 200 {object} models.ChartClassifyListResp
|
|
|
+// @router /modify/chartList [post]
|
|
|
+func (this *ChartInfoController) ModifyChartList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var req data_manage.ModifyChartListReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if !req.SelectAll && req.ChartInfoIds == "" {
|
|
|
+ br.Msg = "请选择图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.ChartClassifyId < 0 {
|
|
|
+ br.Msg = "请选择新分类"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var chartIds []int
|
|
|
+
|
|
|
+ if req.SelectAll {
|
|
|
+ //根据查询条件筛选
|
|
|
+ chartClassifyIds := strings.Split(req.ChartClassifyIds, ",")
|
|
|
+ sysUserIds := req.SysUserIds
|
|
|
+ keyword := req.KeyWord
|
|
|
+ chartTypeIdsStr := req.ChartTypeIds
|
|
|
+
|
|
|
+ condition := " AND source = ? "
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
+ pars = append(pars, utils.CHART_SOURCE_DEFAULT)
|
|
|
+
|
|
|
+ if len(chartClassifyIds) > 0 {
|
|
|
+ if !req.SubClassify {
|
|
|
+ chartClassifyId, err := data_manage.GetChartClassifyByIdsNoSubClassify(chartClassifyIds)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取图表信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ condition += " AND chart_classify_id IN(" + chartClassifyId + ") "
|
|
|
+ //pars = append(pars, chartClassifyId)
|
|
|
+ } else {
|
|
|
+ //chartClassifyId, err := data_manage.GetChartClassifyByIds(chartClassifyIds)
|
|
|
+ //if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ // br.Msg = "获取图表信息失败"
|
|
|
+ // br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //condition += " AND chart_classify_id IN(" + chartClassifyId + ") "
|
|
|
+ //pars = append(pars, chartClassifyId)
|
|
|
+
|
|
|
+ list, e := data_manage.GetChartClassifyAllBySource(utils.CHART_SOURCE_DEFAULT)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取图表分类失败, Err: %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ finalClassifyIds := make([]int, 0)
|
|
|
+ parents := data.GetChartClassifyChildrenRecursiveByParentIds(list, chartClassifyIds)
|
|
|
+ sort.Slice(parents, func(i, j int) bool {
|
|
|
+ return parents[i].Level < parents[i].Level
|
|
|
+ })
|
|
|
+ for _, v := range parents {
|
|
|
+ finalClassifyIds = append(finalClassifyIds, v.ChartClassifyId)
|
|
|
+ }
|
|
|
+
|
|
|
+ condition += " AND chart_classify_id IN(" + utils.GetOrmInReplace(len(finalClassifyIds)) + ") "
|
|
|
+ pars = append(pars, finalClassifyIds)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if sysUserIds != "" {
|
|
|
+ adminIds := strings.Split(sysUserIds, ",")
|
|
|
+ if len(adminIds) == 0 {
|
|
|
+ br.Msg = "请选择正确的创建人"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ adminIdsSlice := make([]int, 0)
|
|
|
+ for _, adminId := range adminIds {
|
|
|
+ adminIdInt, e := strconv.Atoi(adminId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "请选择正确的创建人"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ adminIdsSlice = append(adminIdsSlice, adminIdInt)
|
|
|
+ }
|
|
|
+ condition += " AND sys_user_id in (" + utils.GetOrmInReplace(len(adminIds)) + ") "
|
|
|
+ pars = append(pars, adminIdsSlice)
|
|
|
+ }
|
|
|
+
|
|
|
+ if keyword != "" {
|
|
|
+ condition = " AND chart_name LIKE ? "
|
|
|
+ pars = append(pars, utils.GetLikeKeyword(keyword))
|
|
|
+ }
|
|
|
+
|
|
|
+ if chartTypeIdsStr != "" {
|
|
|
+ chartTypeIds := strings.Split(chartTypeIdsStr, ",")
|
|
|
+ if len(chartTypeIds) == 0 {
|
|
|
+ br.Msg = "请选择正确的图表类型"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ condition += " AND chart_type IN(" + utils.GetOrmInReplace(len(chartTypeIds)) + ") "
|
|
|
+ pars = append(pars, chartTypeIds)
|
|
|
+ }
|
|
|
+
|
|
|
+ allChartInfo, err := data_manage.GetChartInfoItemsByCondition(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 判断是否超过100 个
|
|
|
+ if len(allChartInfo) > 100 {
|
|
|
+ br.Msg = "最多只能选择100个图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range allChartInfo {
|
|
|
+ chartIds = append(chartIds, v.ChartInfoId)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ chartIdStr := strings.Split(req.ChartInfoIds, ",")
|
|
|
+ if len(chartIdStr) == 0 {
|
|
|
+ br.Msg = "请选择正确的图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, id := range chartIdStr {
|
|
|
+ tmp, e := strconv.Atoi(id)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "请选择正确的分类"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ chartIds = append(chartIds, tmp)
|
|
|
+ }
|
|
|
+ // 判断是否超过100 个
|
|
|
+ if len(chartIds) > 100 {
|
|
|
+ br.Msg = "最多只能选择100个图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(chartIds) == 0 {
|
|
|
+ br.Msg = "请选择正确的图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ err = data_manage.UpdateChartClassifyIdByChartInfoId(chartIds, req.ChartClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "更新失败"
|
|
|
+ br.ErrMsg = "更新图表分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "操作成功"
|
|
|
+}
|