|
@@ -4266,3 +4266,100 @@ func (this *ChartInfoController) ForumDelete() {
|
|
|
br.Success = true
|
|
|
br.Msg = "操作成功"
|
|
|
}
|
|
|
+
|
|
|
+// PreviewSeasonChartInfo
|
|
|
+// @Title 图表-获取预览的季节性图
|
|
|
+// @Description 图表-获取预览的季节性图
|
|
|
+// @Param ExtraConfig body data_manage.PreviewRadarChartReq true "type json string"
|
|
|
+// @Success 200 {object} data_manage.ChartEdbInfoDetailResp
|
|
|
+// @router /chart_info/preview/season [post]
|
|
|
+func (this *ChartInfoController) PreviewSeasonChartInfo() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ var req data_manage.PreviewSeasonChartReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ chartInfo := new(data_manage.ChartInfoView)
|
|
|
+
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ chartType := utils.CHART_TYPE_SEASON
|
|
|
+ if len(req.ChartEdbInfoList) <= 0 {
|
|
|
+ br.Msg = "请选择指标"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ edbInfoIdArr := make([]int, 0)
|
|
|
+ edbInfoNameMap := make(map[int]string)
|
|
|
+ for _, v := range req.ChartEdbInfoList {
|
|
|
+ edbInfoIdArr = append(edbInfoIdArr, v.EdbInfoId)
|
|
|
+ edbInfoNameMap[v.EdbInfoId] = v.EdbAliasName
|
|
|
+ }
|
|
|
+ mappingList, err := data_manage.GetChartEdbMappingListByEdbInfoIdList(edbInfoIdArr)
|
|
|
+ for _, v := range mappingList {
|
|
|
+ if name, ok := edbInfoNameMap[v.EdbInfoId]; ok {
|
|
|
+ v.EdbAliasName = name
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 获取图表中的指标数据
|
|
|
+ edbList, xEdbIdValue, yDataList, dataResp, err, errMsg := data.GetChartEdbData(0, chartType, "", "", "", mappingList, "", req.SeasonExtraConfig)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ if errMsg != `` {
|
|
|
+ br.Msg = errMsg
|
|
|
+ }
|
|
|
+ br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ warnEdbList := make([]string, 0)
|
|
|
+ for _, v := range edbList {
|
|
|
+ if v.IsNullData {
|
|
|
+ warnEdbList = append(warnEdbList, v.EdbName+"("+v.EdbCode+")")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(warnEdbList) > 0 {
|
|
|
+ chartInfo.WarnMsg = `图表引用指标异常,异常指标:` + strings.Join(warnEdbList, ",")
|
|
|
+ }
|
|
|
+
|
|
|
+ //图表操作权限
|
|
|
+ chartInfo.IsEdit = data.CheckOpChartPermission(sysUser, chartInfo.SysUserId, true)
|
|
|
+ //判断是否需要展示英文标识
|
|
|
+ chartInfo.IsEnChart = data.CheckIsEnChart(chartInfo.ChartNameEn, edbList, utils.CHART_SOURCE_DEFAULT, chartType)
|
|
|
+ chartInfo.Button = data_manage.ChartViewButton{
|
|
|
+ IsEdit: chartInfo.IsEdit,
|
|
|
+ IsEnChart: chartInfo.IsEnChart,
|
|
|
+ IsAdd: chartInfo.IsAdd,
|
|
|
+ IsCopy: true,
|
|
|
+ IsSetName: chartInfo.IsSetName,
|
|
|
+ }
|
|
|
+ // 图表的指标来源
|
|
|
+ sourceNameList, sourceNameEnList := data.GetEdbSourceByEdbInfoIdList(edbList)
|
|
|
+ chartInfo.ChartSource = strings.Join(sourceNameList, ",")
|
|
|
+ chartInfo.ChartSourceEn = strings.Join(sourceNameEnList, ",")
|
|
|
+
|
|
|
+ resp := new(data_manage.ChartInfoDetailResp)
|
|
|
+ resp.ChartInfo = chartInfo
|
|
|
+ resp.EdbInfoList = edbList
|
|
|
+ resp.XEdbIdValue = xEdbIdValue
|
|
|
+ resp.YDataList = yDataList
|
|
|
+ resp.DataResp = dataResp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|