|
@@ -2,6 +2,7 @@ package data_manage
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
+ "errors"
|
|
|
"eta/eta_api/controllers"
|
|
|
"eta/eta_api/models"
|
|
|
"eta/eta_api/models/data_manage"
|
|
@@ -10,19 +11,21 @@ import (
|
|
|
"eta/eta_api/services"
|
|
|
"eta/eta_api/services/alarm_msg"
|
|
|
"eta/eta_api/services/data"
|
|
|
+ "eta/eta_api/services/data/area_graph"
|
|
|
"eta/eta_api/services/data/data_manage_permission"
|
|
|
"eta/eta_api/services/data/excel"
|
|
|
"eta/eta_api/services/eta_forum"
|
|
|
etaTrialService "eta/eta_api/services/eta_trial"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
- "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"os"
|
|
|
"os/exec"
|
|
|
"sort"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
+
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
)
|
|
|
|
|
|
// 图表管理
|
|
@@ -65,7 +68,7 @@ func (this *ChartInfoController) ChartInfoSave() {
|
|
|
|
|
|
chartItem, err := data_manage.GetChartInfoById(req.ChartInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "图表已被删除,请刷新页面!"
|
|
|
br.ErrMsg = "图表已被删除,请刷新页面,ChartInfoId:" + strconv.Itoa(req.ChartInfoId)
|
|
|
return
|
|
@@ -333,7 +336,7 @@ func (this *ChartInfoController) ChartEnInfoEdit() {
|
|
|
//判断指标名称是否存在
|
|
|
chartItem, err := data_manage.GetChartInfoById(req.ChartInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "图表已被删除,请刷新页面"
|
|
|
br.ErrMsg = "图表已被删除,请刷新页面"
|
|
|
return
|
|
@@ -356,7 +359,7 @@ func (this *ChartInfoController) ChartEnInfoEdit() {
|
|
|
edbInfoId := v.EdbInfoId
|
|
|
edbInfo, err := data_manage.GetEdbInfoById(edbInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "图表不存在!"
|
|
|
br.ErrMsg = "图表指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoId)
|
|
|
return
|
|
@@ -366,7 +369,7 @@ func (this *ChartInfoController) ChartEnInfoEdit() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- if edbInfo == nil {
|
|
|
+ if edbInfo == nil || edbInfo.EdbInfoId <= 0 {
|
|
|
br.Msg = "指标不存在!"
|
|
|
br.ErrMsg = "指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoId)
|
|
|
return
|
|
@@ -388,7 +391,7 @@ func (this *ChartInfoController) ChartEnInfoEdit() {
|
|
|
|
|
|
edbExist, err := data_manage.GetEdbInfoByCondition(edbCondition, edbPars)
|
|
|
if err != nil {
|
|
|
- if err.Error() != utils.ErrNoRow() {
|
|
|
+ if !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "判断英文指标名称是否存在失败"
|
|
|
br.ErrMsg = "判断英文指标名称是否存在失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -417,7 +420,7 @@ func (this *ChartInfoController) ChartEnInfoEdit() {
|
|
|
|
|
|
existItem, err := data_manage.GetChartInfoByCondition(condition, pars)
|
|
|
if err != nil {
|
|
|
- if err.Error() != utils.ErrNoRow() {
|
|
|
+ if !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "判断英文图表名称是否存在失败"
|
|
|
br.ErrMsg = "判断英文图表名称是否存在失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -446,7 +449,7 @@ func (this *ChartInfoController) ChartEnInfoEdit() {
|
|
|
edbInfoId := v.EdbInfoId
|
|
|
edbInfo, err := data_manage.GetEdbInfoById(edbInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "图表不存在!"
|
|
|
br.ErrMsg = "图表指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoId)
|
|
|
return
|
|
@@ -456,7 +459,7 @@ func (this *ChartInfoController) ChartEnInfoEdit() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- if edbInfo != nil {
|
|
|
+ if edbInfo != nil && edbInfo.EdbInfoId > 0 {
|
|
|
go data.AddOrEditEdbInfoToEs(edbInfoId)
|
|
|
}
|
|
|
}
|
|
@@ -525,7 +528,7 @@ func (this *ChartInfoController) ChartInfoBaseEdit() {
|
|
|
//判断指标名称是否存在
|
|
|
chartItem, err := data_manage.GetChartInfoById(req.ChartInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "图表已被删除,请刷新页面"
|
|
|
br.ErrMsg = "图表已被删除,请刷新页面"
|
|
|
return
|
|
@@ -548,7 +551,7 @@ func (this *ChartInfoController) ChartInfoBaseEdit() {
|
|
|
edbInfoId := v.EdbInfoId
|
|
|
edbInfo, err := data_manage.GetEdbInfoById(edbInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "图表不存在!"
|
|
|
br.ErrMsg = "图表指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoId)
|
|
|
return
|
|
@@ -583,7 +586,7 @@ func (this *ChartInfoController) ChartInfoBaseEdit() {
|
|
|
|
|
|
edbExist, err := data_manage.GetEdbInfoByCondition(edbCondition, edbPars)
|
|
|
if err != nil {
|
|
|
- if err.Error() != utils.ErrNoRow() {
|
|
|
+ if !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "判断英文指标名称是否存在失败"
|
|
|
br.ErrMsg = "判断英文指标名称是否存在失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -615,7 +618,7 @@ func (this *ChartInfoController) ChartInfoBaseEdit() {
|
|
|
|
|
|
existItem, err := data_manage.GetChartInfoByCondition(condition, pars)
|
|
|
if err != nil {
|
|
|
- if err.Error() != utils.ErrNoRow() {
|
|
|
+ if !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "判断英文图表名称是否存在失败"
|
|
|
br.ErrMsg = "判断英文图表名称是否存在失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -644,7 +647,7 @@ func (this *ChartInfoController) ChartInfoBaseEdit() {
|
|
|
edbInfoId := v.EdbInfoId
|
|
|
edbInfo, err := data_manage.GetEdbInfoById(edbInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "图表不存在!"
|
|
|
br.ErrMsg = "图表指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoId)
|
|
|
return
|
|
@@ -654,7 +657,7 @@ func (this *ChartInfoController) ChartInfoBaseEdit() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- if edbInfo != nil {
|
|
|
+ if edbInfo != nil && edbInfo.EdbInfoId > 0 {
|
|
|
go data.AddOrEditEdbInfoToEs(edbInfoId)
|
|
|
}
|
|
|
}
|
|
@@ -697,7 +700,7 @@ func (this *ChartInfoController) ChartInfoNewest() {
|
|
|
this.ServeJSON()
|
|
|
}()
|
|
|
item, err := data_manage.GetChartInfoByNewest(1)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取最新图表失败"
|
|
|
br.ErrMsg = "获取最新图表失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -780,17 +783,17 @@ func (this *ChartInfoController) ChartInfoMove() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ oldClassifyId := chartInfo.ChartClassifyId
|
|
|
//如果改变了分类,那么移动该图表数据
|
|
|
if chartInfo.ChartClassifyId != req.ChartClassifyId {
|
|
|
//查询需要修改的分类下是否存在同一个图表名称
|
|
|
tmpChartInfo, tmpErr := data_manage.GetChartInfoByClassifyIdAndName(req.ChartClassifyId, chartInfo.ChartName)
|
|
|
- if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
|
|
|
+ if tmpErr != nil && !utils.IsErrNoRow(tmpErr) {
|
|
|
br.Msg = "移动失败"
|
|
|
br.ErrMsg = "移动失败,Err:" + tmpErr.Error()
|
|
|
return
|
|
|
}
|
|
|
- if tmpChartInfo != nil {
|
|
|
+ if tmpChartInfo != nil && tmpChartInfo.ChartInfoId > 0 {
|
|
|
br.Msg = "移动失败,同一个分类下图表名称不允许重复"
|
|
|
br.ErrMsg = "移动失败,同一个分类下图表名称不允许重复"
|
|
|
return
|
|
@@ -844,14 +847,14 @@ func (this *ChartInfoController) ChartInfoMove() {
|
|
|
|
|
|
} else {
|
|
|
firstClassify, err := data_manage.GetFirstChartInfoByClassifyId(req.ChartClassifyId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "移动失败"
|
|
|
br.ErrMsg = "获取获取当前父级分类下的排序第一条的分类信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
//如果该分类下存在其他分类,且第一个其他分类的排序等于0,那么需要调整排序
|
|
|
- if firstClassify != nil && firstClassify.Sort == 0 {
|
|
|
+ if firstClassify != nil && firstClassify.ChartClassifyId > 0 && firstClassify.Sort == 0 {
|
|
|
updateSortStr := ` sort + 1 `
|
|
|
_ = data_manage.UpdateChartInfoSortByClassifyId(firstClassify.ChartClassifyId, 0, firstClassify.ChartInfoId-1, []int{chartInfo.Source}, updateSortStr)
|
|
|
}
|
|
@@ -871,6 +874,20 @@ func (this *ChartInfoController) ChartInfoMove() {
|
|
|
}
|
|
|
//添加es数据
|
|
|
go data.EsAddOrEditChartInfo(chartInfo.ChartInfoId)
|
|
|
+
|
|
|
+ // 判断是否为精选目录
|
|
|
+ // 如果该目录不是精选目录,且该图表已经上架,则需撤回该图表
|
|
|
+ if oldClassifyId != req.ChartClassifyId {
|
|
|
+ parentChartClassifyInfo, err := data_manage.GetChartClassifyById(req.ChartClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "移动失败"
|
|
|
+ br.ErrMsg = "获取上级分类信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if parentChartClassifyInfo.IsSelected == 0 && chartInfo.ForumChartInfoId > 0 {
|
|
|
+ go eta_forum.DeleteChart(chartInfo.ChartInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if err != nil {
|
|
@@ -958,7 +975,7 @@ func (this *ChartInfoController) ChartInfoDetail() {
|
|
|
if chartInfoId > 0 {
|
|
|
chartInfo, err = data_manage.GetChartInfoViewById(chartInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "该图表已删除,自动查看下一图表"
|
|
|
br.ErrMsg = "该图表已删除,自动查看下一图表,Err:" + err.Error()
|
|
|
br.Ret = 406
|
|
@@ -1027,7 +1044,7 @@ func (this *ChartInfoController) ChartInfoDetail() {
|
|
|
extraConfigStr := chartInfo.ExtraConfig
|
|
|
// 柱方图的一些配置
|
|
|
var barConfig data_manage.BarChartInfoReq
|
|
|
- if chartInfo != nil && chartInfo.ChartType == 7 {
|
|
|
+ if chartInfo != nil && chartInfo.ChartInfoId > 0 && chartInfo.ChartType == 7 {
|
|
|
if chartInfo.BarConfig == `` {
|
|
|
br.Msg = "柱方图未配置"
|
|
|
br.ErrMsg = "柱方图未配置"
|
|
@@ -1041,7 +1058,7 @@ func (this *ChartInfoController) ChartInfoDetail() {
|
|
|
}
|
|
|
extraConfigStr = chartInfo.BarConfig
|
|
|
}
|
|
|
- yearMax := 0
|
|
|
+ var dateMax time.Time
|
|
|
if dateType == utils.DateTypeNYears {
|
|
|
for _, v := range mappingList {
|
|
|
if v.LatestDate != "" {
|
|
@@ -1051,14 +1068,18 @@ func (this *ChartInfoController) ChartInfoDetail() {
|
|
|
br.ErrMsg = "获取图表日期信息失败,Err:" + tErr.Error()
|
|
|
return
|
|
|
}
|
|
|
- if lastDateT.Year() > yearMax {
|
|
|
- yearMax = lastDateT.Year()
|
|
|
+ if lastDateT.After(dateMax) {
|
|
|
+ dateMax = lastDateT
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if chartType == utils.CHART_TYPE_SEASON && dateType == utils.DateTypeNYears {
|
|
|
+ // 季度图,的至今N年,需要特殊处理,将日期范围扩大到下一年
|
|
|
+ dateMax = time.Date(dateMax.Year()+1, 1, 1, 0, 0, 0, 0, time.Local)
|
|
|
+ }
|
|
|
// 开始/结束日期
|
|
|
- startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, yearMax)
|
|
|
+ startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, dateMax)
|
|
|
|
|
|
if chartInfo.HaveOperaAuth {
|
|
|
// 获取图表中的指标数据
|
|
@@ -1123,7 +1144,7 @@ func (this *ChartInfoController) ChartInfoDetail() {
|
|
|
if len(warnEdbList) > 0 {
|
|
|
chartInfo.WarnMsg = `图表引用指标异常,异常指标:` + strings.Join(warnEdbList, ",")
|
|
|
}
|
|
|
- if chartInfoId > 0 && chartInfo != nil {
|
|
|
+ if chartInfoId > 0 && chartInfo != nil && chartInfo.ChartInfoId > 0 {
|
|
|
//判断是否加入我的图库
|
|
|
{
|
|
|
var myChartCondition string
|
|
@@ -1134,7 +1155,7 @@ func (this *ChartInfoController) ChartInfoDetail() {
|
|
|
myChartPars = append(myChartPars, chartInfo.ChartInfoId)
|
|
|
|
|
|
myChartList, err := data_manage.GetMyChartByCondition(myChartCondition, myChartPars)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取我的图表信息失败,GetMyChartByCondition,Err:" + err.Error()
|
|
|
return
|
|
@@ -1287,7 +1308,7 @@ func (this *ChartInfoController) PreviewChartInfoDetail() {
|
|
|
br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- yearMax := 0
|
|
|
+ var dateMax time.Time
|
|
|
for k, v := range mappingList {
|
|
|
if tmpV, ok := edbInfoIdMapping[v.EdbInfoId]; ok {
|
|
|
v.EdbInfoType = tmpV.EdbInfoType
|
|
@@ -1311,8 +1332,8 @@ func (this *ChartInfoController) PreviewChartInfoDetail() {
|
|
|
br.ErrMsg = "获取图表日期信息失败,Err:" + tErr.Error()
|
|
|
return
|
|
|
}
|
|
|
- if lastDateT.Year() > yearMax {
|
|
|
- yearMax = lastDateT.Year()
|
|
|
+ if lastDateT.After(dateMax) {
|
|
|
+ dateMax = lastDateT
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1326,8 +1347,13 @@ func (this *ChartInfoController) PreviewChartInfoDetail() {
|
|
|
mappingList[k] = v
|
|
|
}
|
|
|
|
|
|
+ if req.ChartType == utils.CHART_TYPE_SEASON && req.DateType == utils.DateTypeNYears {
|
|
|
+ // 季节性图表,要特殊处理起始日期, 最近N年
|
|
|
+ dateMax = time.Date(dateMax.Year()+1, 1, 1, 0, 0, 0, 0, time.Local)
|
|
|
+ }
|
|
|
+
|
|
|
// 开始/结束日期
|
|
|
- startDate, endDate := utils.GetDateByDateTypeV2(req.DateType, req.StartDate, req.EndDate, req.StartYear, yearMax)
|
|
|
+ startDate, endDate := utils.GetDateByDateTypeV2(req.DateType, req.StartDate, req.EndDate, req.StartYear, dateMax)
|
|
|
if startDate == "" {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败 时间格式错误"
|
|
@@ -1349,7 +1375,7 @@ func (this *ChartInfoController) PreviewChartInfoDetail() {
|
|
|
extraConfigStr := chartInfo.ExtraConfig
|
|
|
// 柱方图的一些配置
|
|
|
var barConfig data_manage.BarChartInfoReq
|
|
|
- if chartInfo != nil && chartInfo.ChartType == 7 {
|
|
|
+ if chartInfo != nil && chartInfo.ChartInfoId > 0 && chartInfo.ChartType == 7 {
|
|
|
if chartInfo.BarConfig == `` {
|
|
|
br.Msg = "柱方图未配置"
|
|
|
br.ErrMsg = "柱方图未配置"
|
|
@@ -1362,7 +1388,9 @@ func (this *ChartInfoController) PreviewChartInfoDetail() {
|
|
|
return
|
|
|
}
|
|
|
extraConfigStr = chartInfo.BarConfig
|
|
|
- } else if chartInfo != nil && chartInfo.ChartType == utils.CHART_TYPE_SECTION_COMBINE {
|
|
|
+ } else if chartInfo != nil && chartInfo.ChartInfoId > 0 && chartInfo.ChartType == utils.CHART_TYPE_SECTION_COMBINE {
|
|
|
+ extraConfigStr = req.ExtraConfig
|
|
|
+ } else if chartInfo != nil && chartInfo.ChartInfoId > 0 && chartInfo.ChartType == utils.CHART_TYPE_AREA {
|
|
|
extraConfigStr = req.ExtraConfig
|
|
|
}
|
|
|
|
|
@@ -1391,6 +1419,16 @@ func (this *ChartInfoController) PreviewChartInfoDetail() {
|
|
|
chartInfo.WarnMsg = `图表引用指标异常,异常指标:` + strings.Join(warnEdbList, ",")
|
|
|
}
|
|
|
|
|
|
+ // 面积图 面积堆积 数据处理
|
|
|
+ if req.ChartType == utils.CHART_TYPE_AREA {
|
|
|
+ err, errMsg = fillAreaGraphData(extraConfigStr, edbList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "面积图处理失败"
|
|
|
+ br.ErrMsg = errMsg
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//图表操作权限
|
|
|
chartInfo.IsEdit = data.CheckOpChartPermission(sysUser, chartInfo.SysUserId, true)
|
|
|
//判断是否需要展示英文标识
|
|
@@ -1483,6 +1521,60 @@ func (this *ChartInfoController) PreviewChartInfoDetail() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
+func fillAreaGraphData(extraConfigStr string, edbDataList []*data_manage.ChartEdbInfoMapping) (err error, errMsg string) {
|
|
|
+
|
|
|
+ var tmpConfig data_manage.AreaExtraConf
|
|
|
+ if extraConfigStr != `` {
|
|
|
+ err = json.Unmarshal([]byte(extraConfigStr), &tmpConfig)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "面积图配置异常"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if tmpConfig.StandardEdbInfoId <= 0 {
|
|
|
+ utils.FileLog.Info("面积图未开启面积堆积")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if tmpConfig.IsHeap == 1 {
|
|
|
+ standardIndexMap := make(map[string]*data_manage.EdbDataList)
|
|
|
+ var startDate, endDate string
|
|
|
+ for _, v := range edbDataList {
|
|
|
+ // 判断是否为基准指标
|
|
|
+ if v.EdbInfoId == tmpConfig.StandardEdbInfoId {
|
|
|
+ if dataList, ok := v.DataList.([]*data_manage.EdbDataList); ok {
|
|
|
+ startDate = dataList[0].DataTime
|
|
|
+ endDate = dataList[len(dataList)-1].DataTime
|
|
|
+ for _, dataObject := range dataList {
|
|
|
+ standardIndexMap[dataObject.DataTime] = dataObject
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ strategy, err := area_graph.CreateStrategy(tmpConfig.NullDealWay)
|
|
|
+ if err != nil {
|
|
|
+ return err, "创建空值处理器失败"
|
|
|
+ }
|
|
|
+ err = strategy.Deal(tmpConfig, edbDataList, standardIndexMap, startDate, endDate)
|
|
|
+ if err != nil {
|
|
|
+ return err, err.Error()
|
|
|
+ }
|
|
|
+
|
|
|
+ // 时间戳处理
|
|
|
+ for _, mapping := range edbDataList {
|
|
|
+ if dataList, ok := mapping.DataList.([]*data_manage.EdbDataList); ok {
|
|
|
+ for _, dataInfo := range dataList {
|
|
|
+ toFormatTime := utils.StringToFormatTime(dataInfo.DataTime, utils.FormatDate)
|
|
|
+ dataInfo.DataTimestamp = toFormatTime.UnixMilli()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil, ""
|
|
|
+}
|
|
|
+
|
|
|
// ChartInfoDetailV2
|
|
|
// @Title 获取图表详情
|
|
|
// @Description 获取图表详情接口
|
|
@@ -1511,7 +1603,7 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
}
|
|
|
chartInfo, err := data_manage.GetChartInfoViewById(chartInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "该图表已删除,自动查看下一图表"
|
|
|
br.ErrMsg = "该图表已删除,自动查看下一图表,Err:" + err.Error()
|
|
|
br.Ret = 406
|
|
@@ -1523,6 +1615,7 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
}
|
|
|
|
|
|
resp := new(data_manage.ChartInfoDetailResp)
|
|
|
+ isSelected := 0
|
|
|
// 图表数据权限
|
|
|
{
|
|
|
// 图表分类
|
|
@@ -1532,7 +1625,7 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
br.ErrMsg = "获取图表分类信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
+ isSelected = chartClassify.IsSelected
|
|
|
// 已授权分类id
|
|
|
permissionChartIdList, permissionClassifyIdList, err := data_manage_permission.GetUserChartAndClassifyPermissionList(this.SysUser.AdminId, chartInfo.ChartInfoId, chartInfo.ChartClassifyId)
|
|
|
if err != nil {
|
|
@@ -1593,23 +1686,26 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
dateType = 3
|
|
|
}
|
|
|
}
|
|
|
- yearMax := 0
|
|
|
+ var dateMax time.Time
|
|
|
if dateType == utils.DateTypeNYears {
|
|
|
for _, v := range mappingList {
|
|
|
- if v.LatestDate != "" {
|
|
|
+ if v.LatestDate != "" && v.LatestDate != "0000-00-00" {
|
|
|
lastDateT, tErr := time.Parse(utils.FormatDate, v.LatestDate)
|
|
|
if tErr != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取图表日期信息失败,Err:" + tErr.Error()
|
|
|
return
|
|
|
}
|
|
|
- if lastDateT.Year() > yearMax {
|
|
|
- yearMax = lastDateT.Year()
|
|
|
+ if lastDateT.After(dateMax) {
|
|
|
+ dateMax = lastDateT
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, yearMax)
|
|
|
+ if dateType == utils.DateTypeNYears && chartInfo.ChartType == utils.CHART_TYPE_SEASON {
|
|
|
+ dateMax = time.Date(dateMax.Year()+1, 1, 1, 0, 0, 0, 0, time.Local)
|
|
|
+ }
|
|
|
+ startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, dateMax)
|
|
|
|
|
|
if chartInfo.ChartType == 2 {
|
|
|
chartInfo.StartDate = startDate
|
|
@@ -1619,7 +1715,7 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
extraConfigStr := chartInfo.ExtraConfig
|
|
|
// 柱方图的一些配置
|
|
|
var barConfig data_manage.BarChartInfoReq
|
|
|
- if chartInfo != nil && chartInfo.ChartType == 7 {
|
|
|
+ if chartInfo != nil && chartInfo.ChartInfoId > 0 && chartInfo.ChartType == 7 {
|
|
|
if chartInfo.BarConfig == `` {
|
|
|
br.Msg = "柱方图未配置"
|
|
|
br.ErrMsg = "柱方图未配置"
|
|
@@ -1659,7 +1755,7 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
if len(warnEdbList) > 0 {
|
|
|
chartInfo.WarnMsg = `图表引用指标异常,异常指标:` + strings.Join(warnEdbList, ",")
|
|
|
}
|
|
|
- if chartInfoId > 0 && chartInfo != nil {
|
|
|
+ if chartInfoId > 0 && chartInfo != nil && chartInfo.ChartInfoId > 0 {
|
|
|
//判断是否加入我的图库
|
|
|
{
|
|
|
var myChartCondition string
|
|
@@ -1670,7 +1766,7 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
myChartPars = append(myChartPars, chartInfo.ChartInfoId)
|
|
|
|
|
|
myChartList, err := data_manage.GetMyChartByCondition(myChartCondition, myChartPars)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取我的图表信息失败,GetMyChartByCondition,Err:" + err.Error()
|
|
|
return
|
|
@@ -1737,6 +1833,7 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
}
|
|
|
|
|
|
// 图表当前分类的分类树
|
|
|
+
|
|
|
classifyLevels := make([]string, 0)
|
|
|
{
|
|
|
list, e := data_manage.GetChartClassifyAllBySource(utils.CHART_SOURCE_DEFAULT)
|
|
@@ -1755,7 +1852,8 @@ func (this *ChartInfoController) ChartInfoDetailV2() {
|
|
|
}
|
|
|
|
|
|
resp.ClassifyLevels = classifyLevels
|
|
|
-
|
|
|
+ resp.IsSelected = isSelected
|
|
|
+
|
|
|
//图表操作权限
|
|
|
chartInfo.IsEdit = data.CheckOpChartPermission(sysUser, chartInfo.SysUserId, chartInfo.HaveOperaAuth)
|
|
|
chartInfo.Button = data_manage.ChartViewButton{
|
|
@@ -1891,13 +1989,13 @@ func (this *ChartInfoController) ChartInfoEdbInfoDetail() {
|
|
|
br.Msg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- maxYear := 0
|
|
|
+ var maxDate time.Time
|
|
|
if edbInfo.LatestDate != "" {
|
|
|
latestDateT, _ := time.Parse(utils.FormatDate, edbInfo.LatestDate)
|
|
|
- maxYear = latestDateT.Year()
|
|
|
+ maxDate = latestDateT
|
|
|
}
|
|
|
|
|
|
- startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, maxYear)
|
|
|
+ startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, maxDate)
|
|
|
if startDate == "" {
|
|
|
br.Msg = "参数错误"
|
|
|
br.Msg = "参数错误,无效的查询日期"
|
|
@@ -2103,7 +2201,7 @@ func (this *ChartInfoController) ChartInfoSearch() {
|
|
|
for _, v := range keyWordArr {
|
|
|
v = strings.Replace(v, " ", "%", -1)
|
|
|
newSearchList, err := data_manage.ChartInfoSearchByKeyWord(v, showSysId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -2214,7 +2312,7 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
|
|
|
showSysId = sysUser.AdminId
|
|
|
}
|
|
|
|
|
|
- var searchList []*data_manage.ChartInfo
|
|
|
+ var searchList []*data_manage.ChartInfoMore
|
|
|
var total int64
|
|
|
var err error
|
|
|
|
|
@@ -2223,7 +2321,7 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
|
|
|
{
|
|
|
obj := data_manage.EdbInfoNoPermissionAdmin{}
|
|
|
confList, err := obj.GetAllChartListByAdminId(this.SysUser.AdminId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取不可见指标配置数据失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -2240,7 +2338,7 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
|
|
|
isEs = true
|
|
|
} else {
|
|
|
total, searchList, err = data_manage.ChartInfoSearchByEmptyKeyWord(showSysId, []int{utils.CHART_SOURCE_DEFAULT}, noPermissionChartIdList, startSize, pageSize)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -2277,7 +2375,7 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
|
|
|
}
|
|
|
// 当前列表中的分类map
|
|
|
chartClassifyMap := make(map[int]*data_manage.ChartClassify)
|
|
|
-
|
|
|
+ isSelectClassifyMap := make(map[int]bool)
|
|
|
// 图表分类
|
|
|
{
|
|
|
chartClassifyList, err := data_manage.GetChartClassifyByIdList(classifyIdList)
|
|
@@ -2288,6 +2386,9 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
|
|
|
}
|
|
|
for _, v := range chartClassifyList {
|
|
|
chartClassifyMap[v.ChartClassifyId] = v
|
|
|
+ if v.IsSelected == 1 {
|
|
|
+ isSelectClassifyMap[v.ChartClassifyId] = true
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
// 图表
|
|
@@ -2323,7 +2424,7 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
|
|
|
|
|
|
for _, v := range searchList {
|
|
|
tmp := new(data_manage.ChartInfoMore)
|
|
|
- tmp.ChartInfo = *v
|
|
|
+ tmp.ChartInfo = v.ChartInfo
|
|
|
//判断是否需要展示英文标识
|
|
|
if edbTmpList, ok := chartEdbMap[v.ChartInfoId]; ok {
|
|
|
tmp.IsEnChart = data.CheckIsEnChart(v.ChartNameEn, edbTmpList, v.Source, v.ChartType)
|
|
@@ -2333,7 +2434,13 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
|
|
|
if currClassify, ok := chartClassifyMap[v.ChartClassifyId]; ok {
|
|
|
tmp.HaveOperaAuth = data_manage_permission.CheckChartPermissionByPermissionIdList(v.IsJoinPermission, currClassify.IsJoinPermission, v.ChartInfoId, v.ChartClassifyId, permissionChartIdList, permissionClassifyIdList)
|
|
|
}
|
|
|
-
|
|
|
+ tmp.SearchText = v.SearchText
|
|
|
+ if tmp.SearchText == "" {
|
|
|
+ tmp.SearchText = v.ChartName
|
|
|
+ }
|
|
|
+ if _, ok := isSelectClassifyMap[v.ChartClassifyId]; ok {
|
|
|
+ tmp.IsSelected = 1
|
|
|
+ }
|
|
|
finalList = append(finalList, tmp)
|
|
|
}
|
|
|
}
|
|
@@ -2391,7 +2498,7 @@ func (this *EdbInfoController) ChartInfoRefresh() {
|
|
|
chartInfo, err = data_manage.GetChartInfoByUniqueCode(uniqueCode)
|
|
|
}
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "图表已被删除,无需刷新"
|
|
|
br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -2510,7 +2617,7 @@ func (this *ChartInfoController) ChartInfoDetailFromUniqueCode() {
|
|
|
status := true
|
|
|
chartInfo, err := data_manage.GetChartInfoViewByUniqueCode(uniqueCode)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
status = false
|
|
|
} else {
|
|
|
br.Msg = "获取失败"
|
|
@@ -2580,7 +2687,7 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
myChartPars = append(myChartPars, chartInfo.ChartInfoId)
|
|
|
|
|
|
myChartList, err := data_manage.GetMyChartByCondition(myChartCondition, myChartPars)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
msg = "获取失败"
|
|
|
errMsg = "获取我的图表信息失败,GetMyChartByCondition,Err:" + err.Error()
|
|
|
return
|
|
@@ -2733,7 +2840,7 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- yearMax := 0
|
|
|
+ var dateMax time.Time
|
|
|
if dateType == utils.DateTypeNYears {
|
|
|
for _, v := range mappingList {
|
|
|
if v.LatestDate != "" {
|
|
@@ -2743,18 +2850,22 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
errMsg = "获取图表日期信息失败,Err:" + tErr.Error()
|
|
|
return
|
|
|
}
|
|
|
- if lastDateT.Year() > yearMax {
|
|
|
- yearMax = lastDateT.Year()
|
|
|
+ if lastDateT.After(dateMax) {
|
|
|
+ dateMax = lastDateT
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, yearMax)
|
|
|
+ if chartInfo.ChartType == utils.CHART_TYPE_SEASON && dateType == utils.DateTypeNYears {
|
|
|
+ // 季度图,的至今N年,需要特殊处理,将日期范围扩大到下一年
|
|
|
+ dateMax = time.Date(dateMax.Year()+1, 1, 1, 0, 0, 0, 0, time.Local)
|
|
|
+ }
|
|
|
+ startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, dateMax)
|
|
|
|
|
|
extraConfigStr := chartInfo.ExtraConfig //图表额外数据参数
|
|
|
var barConfig data_manage.BarChartInfoReq
|
|
|
// 柱方图的一些配置
|
|
|
- if chartInfo != nil && chartInfo.ChartType == 7 {
|
|
|
+ if chartInfo != nil && chartInfo.ChartInfoId > 0 && chartInfo.ChartType == 7 {
|
|
|
if chartInfo.BarConfig == `` {
|
|
|
msg = "柱方图未配置"
|
|
|
errMsg = "柱方图未配置"
|
|
@@ -2800,11 +2911,22 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
*/
|
|
|
|
|
|
chartViewClassify, _ := data_manage.GetChartClassifyViewById(chartInfo.ChartClassifyId)
|
|
|
- if chartViewClassify != nil {
|
|
|
+ if chartViewClassify != nil && chartViewClassify.ChartClassifyId > 0 {
|
|
|
chartClassifyParent, _ := data_manage.GetChartClassifyViewById(chartClassify.ParentId)
|
|
|
chartInfo.ChartClassify = append(chartInfo.ChartClassify, chartClassifyParent)
|
|
|
}
|
|
|
chartInfo.ChartClassify = append(chartInfo.ChartClassify, chartViewClassify)
|
|
|
+
|
|
|
+ // 面积图 面积堆积 数据处理
|
|
|
+ if chartType == utils.CHART_TYPE_AREA {
|
|
|
+ err, errMsg = fillAreaGraphData(extraConfigStr, edbList)
|
|
|
+ if err != nil {
|
|
|
+ msg = "获取失败"
|
|
|
+ errMsg = "获取面积图数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
resp.EdbInfoList = edbList
|
|
|
//判断是否需要展示英文标识
|
|
|
chartInfo.IsEnChart = data.CheckIsEnChart(chartInfo.ChartNameEn, edbList, chartInfo.Source, chartInfo.ChartType)
|
|
@@ -3089,7 +3211,7 @@ func (this *ChartInfoController) CopyChartInfo() {
|
|
|
}
|
|
|
chartClassify, err := data_manage.GetChartClassifyById(req.ChartClassifyId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "分类不存在"
|
|
|
br.ErrMsg = "分类不存在"
|
|
|
return
|
|
@@ -3197,7 +3319,10 @@ func (this *ChartInfoController) CopyChartInfo() {
|
|
|
{
|
|
|
mapList := make([]*data_manage.ChartEdbMapping, 0)
|
|
|
for _, v := range edbMappingList {
|
|
|
+ // windows server环境这里得加个延时,不然生成时间戳都是一样的
|
|
|
+ time.Sleep(100 * time.Millisecond)
|
|
|
timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
|
+ //utils.FileLog.Info("IndexCode: %s, UniqueCode: %s", v.EdbInfoId, utils.MD5(utils.CHART_PREFIX+"_"+timestamp))
|
|
|
mapItem := &data_manage.ChartEdbMapping{
|
|
|
//ChartEdbMappingId: 0,
|
|
|
ChartInfoId: chartInfo.ChartInfoId,
|
|
@@ -3215,7 +3340,7 @@ func (this *ChartInfoController) CopyChartInfo() {
|
|
|
ChartStyle: v.ChartStyle,
|
|
|
ChartColor: v.ChartColor,
|
|
|
ChartWidth: v.ChartWidth,
|
|
|
- Source: v.Source,
|
|
|
+ Source: oldChartInfo.Source,
|
|
|
EdbAliasName: v.EdbAliasName,
|
|
|
IsConvert: v.IsConvert,
|
|
|
ConvertType: v.ConvertType,
|
|
@@ -3752,10 +3877,6 @@ func (this *EdbInfoController) GetBatchChartRefreshResult() {
|
|
|
// fmt.Println("end")
|
|
|
//}
|
|
|
|
|
|
-//func init() {
|
|
|
-// data.AddAllChartInfo()
|
|
|
-//}
|
|
|
-
|
|
|
// 截面散点示例数据
|
|
|
//func init() {
|
|
|
//
|
|
@@ -4061,7 +4182,7 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
|
|
|
if chartInfoId > 0 {
|
|
|
chartInfo, err = data_manage.GetChartInfoViewById(chartInfoId)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "该图表已删除,自动查看下一图表"
|
|
|
br.ErrMsg = "该图表已删除,自动查看下一图表,Err:" + err.Error()
|
|
|
br.Ret = 406
|
|
@@ -4149,7 +4270,7 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
|
|
|
extraConfigStr := chartInfo.ExtraConfig
|
|
|
// 柱方图的一些配置
|
|
|
var barConfig data_manage.BarChartInfoReq
|
|
|
- if chartInfo != nil && chartInfo.ChartType == 7 {
|
|
|
+ if chartInfo != nil && chartInfo.ChartInfoId > 0 && chartInfo.ChartType == 7 {
|
|
|
if chartInfo.BarConfig == `` {
|
|
|
br.Msg = "柱方图未配置"
|
|
|
br.ErrMsg = "柱方图未配置"
|
|
@@ -4163,7 +4284,7 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
|
|
|
}
|
|
|
extraConfigStr = chartInfo.BarConfig
|
|
|
}
|
|
|
- yearMax := 0
|
|
|
+ var dateMax time.Time
|
|
|
if dateType == utils.DateTypeNYears {
|
|
|
for _, v := range mappingList {
|
|
|
if v.LatestDate != "" {
|
|
@@ -4173,14 +4294,18 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
|
|
|
br.ErrMsg = "获取图表日期信息失败,Err:" + tErr.Error()
|
|
|
return
|
|
|
}
|
|
|
- if lastDateT.Year() > yearMax {
|
|
|
- yearMax = lastDateT.Year()
|
|
|
+ if lastDateT.After(dateMax) {
|
|
|
+ dateMax = lastDateT
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if chartType == utils.CHART_TYPE_SEASON && dateType == utils.DateTypeNYears {
|
|
|
+ // 季节性图,最近N年需要特殊处理
|
|
|
+ dateMax = time.Date(dateMax.Year()+1, 1, 1, 0, 0, 0, 0, time.Local)
|
|
|
+ }
|
|
|
// 开始/结束日期
|
|
|
- startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, yearMax)
|
|
|
+ startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, dateMax)
|
|
|
|
|
|
// 获取图表中的指标数据
|
|
|
edbList, xEdbIdValue, yDataList, dataResp, err, errMsg := data.GetChartConvertEdbData(chartInfoId, chartType, calendar, startDate, endDate, mappingList, extraConfigStr, chartInfo.SeasonExtraConfig, isAxis)
|
|
@@ -4206,7 +4331,7 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
|
|
|
if len(warnEdbList) > 0 {
|
|
|
chartInfo.WarnMsg = `图表引用指标异常,异常指标:` + strings.Join(warnEdbList, ",")
|
|
|
}
|
|
|
- if chartInfoId > 0 && chartInfo != nil {
|
|
|
+ if chartInfoId > 0 && chartInfo != nil && chartInfo.ChartInfoId > 0 {
|
|
|
//判断是否加入我的图库
|
|
|
{
|
|
|
var myChartCondition string
|
|
@@ -4217,7 +4342,7 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
|
|
|
myChartPars = append(myChartPars, chartInfo.ChartInfoId)
|
|
|
|
|
|
myChartList, err := data_manage.GetMyChartByCondition(myChartCondition, myChartPars)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取我的图表信息失败,GetMyChartByCondition,Err:" + err.Error()
|
|
|
return
|
|
@@ -4347,6 +4472,9 @@ func (this *ChartInfoController) UpdateToForum() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // 更新指标数据
|
|
|
+ utils.Rc.LPush(utils.CACHE_KEY_EDB_DATA_UPDATE_LOG, []byte("1"))
|
|
|
+
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "保存成功"
|
|
@@ -4619,7 +4747,7 @@ func (this *ChartInfoController) ChartList() {
|
|
|
if len(chartClassifyIdsStr) > 0 {
|
|
|
if !subClassify {
|
|
|
chartClassifyId, err := data_manage.GetChartClassifyByIdsNoSubClassify(chartClassifyIds)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取图表信息失败"
|
|
|
br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
|
|
|
return
|
|
@@ -4656,7 +4784,12 @@ func (this *ChartInfoController) ChartList() {
|
|
|
}
|
|
|
}
|
|
|
if keyWord != "" {
|
|
|
- condition += ` AND ( chart_name LIKE '%` + keyWord + `%' OR chart_name_en LIKE '%` + keyWord + `%' )`
|
|
|
+ keyWordArr := strings.Split(keyWord, " ")
|
|
|
+ if len(keyWordArr) > 0 {
|
|
|
+ for _, v := range keyWordArr {
|
|
|
+ condition += ` AND CONCAT(chart_name,chart_name_en) LIKE '%` + v + `%'`
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
if sysUserIds != "" {
|
|
|
adminIds := strings.Split(sysUserIds, ",")
|
|
@@ -4694,7 +4827,7 @@ func (this *ChartInfoController) ChartList() {
|
|
|
{
|
|
|
obj := data_manage.EdbInfoNoPermissionAdmin{}
|
|
|
confList, err := obj.GetAllChartListByAdminId(this.SysUser.AdminId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取不可见指标配置数据失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -4712,7 +4845,7 @@ func (this *ChartInfoController) ChartList() {
|
|
|
|
|
|
//获取图表信息
|
|
|
list, err := data_manage.GetChartListByCondition(condition, pars, startSize, pageSize)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Success = true
|
|
|
br.Msg = "获取图表信息失败"
|
|
|
br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
|
|
@@ -4720,7 +4853,7 @@ func (this *ChartInfoController) ChartList() {
|
|
|
}
|
|
|
|
|
|
myChartList, err := data_manage.GetMyChartListByAdminId(sysUser.AdminId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取图表信息失败"
|
|
|
br.ErrMsg = "获取我的图表信息失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -4812,7 +4945,7 @@ func (this *ChartInfoController) ChartList() {
|
|
|
}
|
|
|
|
|
|
resp := new(data_manage.ChartListResp)
|
|
|
- if list == nil || len(list) <= 0 || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
+ if list == nil || len(list) <= 0 || (err != nil && utils.IsErrNoRow(err)) {
|
|
|
items := make([]*data_manage.ChartInfoView, 0)
|
|
|
resp.Paging = page
|
|
|
resp.List = items
|
|
@@ -4823,7 +4956,7 @@ func (this *ChartInfoController) ChartList() {
|
|
|
}
|
|
|
|
|
|
dataCount, err := data_manage.GetChartListCountByCondition(condition, pars)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取指标信息失败"
|
|
|
br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
|
|
|
return
|
|
@@ -4891,7 +5024,7 @@ func (this *ChartInfoController) ModifyChartList() {
|
|
|
if len(chartClassifyIds) > 0 {
|
|
|
if !req.SubClassify {
|
|
|
chartClassifyId, err := data_manage.GetChartClassifyByIdsNoSubClassify(chartClassifyIds)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
br.Msg = "获取图表信息失败"
|
|
|
br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
|
|
|
return
|
|
@@ -5008,8 +5141,130 @@ func (this *ChartInfoController) ModifyChartList() {
|
|
|
br.ErrMsg = "更新图表分类失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ go eta_forum.ChartInfoDeleteBatchByChartInfoIds(chartIds, req.ChartClassifyId)
|
|
|
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "操作成功"
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+// 查询图表简介列表
|
|
|
+// @Title 查询图表简介列表
|
|
|
+// @Description 查询图表简介列表
|
|
|
+// @Param ChartInfoId query int true "图表id"
|
|
|
+// @Success 200 {object} models.ChartDescriptionListResponse
|
|
|
+// @router /chart_info/description/list [get]
|
|
|
+func (this *ChartInfoController) GetChartDescriptionList() {
|
|
|
+ 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
|
|
|
+ }
|
|
|
+
|
|
|
+ chartInfoId, _ := this.GetInt("ChartInfoId")
|
|
|
+ if chartInfoId <= 0 {
|
|
|
+ br.Msg = "请选择图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ chartDescriptionList, err := data_manage.GetChartDescriptionByChartInfoId(chartInfoId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取图表简介失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list := make([]*data_manage.ChartDescriptionList, 0)
|
|
|
+ response := new(data_manage.ChartDescriptionListResponse)
|
|
|
+ for _, v := range chartDescriptionList {
|
|
|
+ list = append(list, &data_manage.ChartDescriptionList{
|
|
|
+ Id: v.Id,
|
|
|
+ Description: v.Description,
|
|
|
+ ChartInfoId: v.ChartInfoId,
|
|
|
+ SysUserId: v.SysUserId,
|
|
|
+ SysUserRealName: v.SysUserRealName,
|
|
|
+ CreateTime: v.CreateTime.Format(utils.FormatDateTime),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ response.List = list
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = response
|
|
|
+}
|
|
|
+
|
|
|
+// 添加图表简介
|
|
|
+// @Title 添加图表简介
|
|
|
+// @Description 添加图表简介
|
|
|
+// @Param ChartInfoId query int true "图表id"
|
|
|
+// @Success 200 {object} models.ChartDescriptionListResponse
|
|
|
+// @router /chart_info/description/add [post]
|
|
|
+func (this *ChartInfoController) AddChartDescription() {
|
|
|
+ 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.ChartDescriptionAddReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.ChartInfoId <= 0 {
|
|
|
+ br.Msg = "请选择图表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.Description == "" {
|
|
|
+ br.Msg = "请输入简介"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 判断图表是否存在
|
|
|
+ _, err = data_manage.GetChartInfoById(req.ChartInfoId)
|
|
|
+ if err != nil {
|
|
|
+ if !utils.IsErrNoRow(err) {
|
|
|
+ br.Msg = "图表不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "获取图表信息失败"
|
|
|
+ br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item := &data_manage.ChartDescription{
|
|
|
+ ChartInfoId: req.ChartInfoId,
|
|
|
+ Description: req.Description,
|
|
|
+ SysUserId: sysUser.AdminId,
|
|
|
+ SysUserRealName: sysUser.RealName,
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ }
|
|
|
+ err = data_manage.AddChartDescription(item)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "添加失败"
|
|
|
+ br.ErrMsg = "添加图表简介失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "添加成功"
|
|
|
+}
|
|
|
+
|