|
@@ -601,3 +601,149 @@ func (c *ExcelInfoController) GetBalanceChartList() {
|
|
|
br.Msg = "查询成功"
|
|
|
br.Data = ret
|
|
|
}
|
|
|
+
|
|
|
+// DeleteBalanceChart
|
|
|
+// @Title 删除平衡表图表
|
|
|
+// @Description 删除平衡表图表
|
|
|
+// @Param request body data_manage.DeleteChartClassifyReq true "type json string"
|
|
|
+// @Success 200 Ret=200 删除成功
|
|
|
+// @router /excel_info/balance/chart_del [post]
|
|
|
+func (this *ExcelInfoController) DeleteBalanceChart() {
|
|
|
+ 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.DeleteChartClassifyReq
|
|
|
+ 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 = "参数错误"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //删除图表
|
|
|
+ if req.ChartInfoId > 0 {
|
|
|
+ chartInfo, err := data_manage.GetChartInfoById(req.ChartInfoId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "图表已删除,请刷新页面"
|
|
|
+ br.ErrMsg = "指标不存在,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "删除失败,获取指标信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if chartInfo == nil {
|
|
|
+ br.Msg = "图表已删除,请刷新页面"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // todo 查询权限
|
|
|
+ /*chartClassifyItem, err := data_manage.GetChartClassifyById(chartInfo.ChartClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取图表分类详情数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已授权图表、分类id
|
|
|
+ permissionChartIdList, permissionClassifyIdList, err := data_manage_permission.GetUserChartAndClassifyPermissionList(this.SysUser.AdminId, chartInfo.ChartInfoId, chartInfo.ChartClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 权限校验
|
|
|
+ {
|
|
|
+ haveOperaAuth := data_manage_permission.CheckChartPermissionByPermissionIdList(chartInfo.IsJoinPermission, chartClassifyItem.IsJoinPermission, chartInfo.ChartInfoId, chartInfo.ChartClassifyId, permissionChartIdList, permissionClassifyIdList)
|
|
|
+ //图表操作权限
|
|
|
+ ok := data.CheckOpChartPermission(sysUser, chartInfo.SysUserId, haveOperaAuth)
|
|
|
+ if !ok {
|
|
|
+ br.Msg = "没有该图表的操作权限"
|
|
|
+ br.ErrMsg = "没有该图表的操作权限"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+
|
|
|
+ // 获取引用该图表的MyCharts, 用于ES删除
|
|
|
+ var myCond string
|
|
|
+ var myPars []interface{}
|
|
|
+ myCond += ` AND a.chart_info_id = ? `
|
|
|
+ myPars = append(myPars, req.ChartInfoId)
|
|
|
+ myCharts, e := data_manage.GetMyChartListGroupByCharyInfoIdAndAdminIdByCondition(myCond, myPars)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "获取引用图表的MyChats失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ myIds := make([]int, 0)
|
|
|
+ for _, m := range myCharts {
|
|
|
+ myIds = append(myIds, m.MyChartId)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询图表相关联的数据
|
|
|
+ edbIds := make([]int, 0)
|
|
|
+ // 查询图表相关联的指标
|
|
|
+ edbList, e := excel.GetExcelChartEdbMappingByChartInfoId(req.ChartInfoId)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "获取图表相关联的指标失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range edbList {
|
|
|
+ edbIds = append(edbIds, v.ExcelChartEdbId)
|
|
|
+ }
|
|
|
+ //删除图表及关联指标
|
|
|
+ e = data_manage.DeleteBalanceExcelChartInfoAndData(req.ChartInfoId, edbIds)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "删除失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //删除ES
|
|
|
+ {
|
|
|
+ go data.EsDeleteChartInfo(req.ChartInfoId)
|
|
|
+ // 删除MY ETA 图表 es数据
|
|
|
+ //go data.EsDeleteMyChartInfoByChartInfoId(req.ChartInfoId)
|
|
|
+ go data.EsDeleteMyChartInfoByMyChartIds(myIds)
|
|
|
+ }
|
|
|
+
|
|
|
+ //新增操作日志
|
|
|
+ {
|
|
|
+ chartLog := new(data_manage.ChartInfoLog)
|
|
|
+ chartLog.ChartName = chartInfo.ChartName
|
|
|
+ chartLog.ChartInfoId = req.ChartInfoId
|
|
|
+ chartLog.ChartClassifyId = chartInfo.ChartClassifyId
|
|
|
+ chartLog.SysUserId = sysUser.AdminId
|
|
|
+ chartLog.SysUserRealName = sysUser.RealName
|
|
|
+ chartLog.UniqueCode = chartInfo.UniqueCode
|
|
|
+ chartLog.CreateTime = time.Now()
|
|
|
+ chartLog.Content = string(this.Ctx.Input.RequestBody)
|
|
|
+ chartLog.Status = "删除图表"
|
|
|
+ chartLog.Method = this.Ctx.Input.URI()
|
|
|
+ go data_manage.AddChartInfoLog(chartLog)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Msg = "删除成功"
|
|
|
+ br.Success = true
|
|
|
+ br.IsAddLog = true
|
|
|
+}
|