|
@@ -606,7 +606,135 @@ func (c *EdbInfoController) SaveEdbRefreshStatusSingle() {
|
|
|
case utils.DATA_SOURCE_MYSTEEL_CHEMICAL: // 钢联
|
|
|
err = data_manage.ModifyMysteelChemicalUpdateStatusByEdbInfoId(edbInfo.EdbInfoId, isStop, edbInfo.EdbCode, calculateEdbIdList)
|
|
|
case utils.DATA_SOURCE_WIND: // wind
|
|
|
- err = data_manage.WindEdbInfoUpdateStatusByEdbInfoId(edbInfo.EdbInfoId, isStop, edbInfo.SubSource, calculateEdbIdList)
|
|
|
+ err = data_manage.WindEdbInfoUpdateStatusByEdbInfoId([]int{edbInfo.EdbInfoId}, isStop, calculateEdbIdList)
|
|
|
+ default:
|
|
|
+ br.Msg = "暂不支持设置其他来源的指标"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = `保存失败`
|
|
|
+ br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "保存成功"
|
|
|
+}
|
|
|
+
|
|
|
+// SaveRelationEdbRefreshStatus
|
|
|
+// @Title 批量设置被引用的指标刷新状态接口
|
|
|
+// @Description 批量设置被引用的指标刷新状态接口
|
|
|
+// @Param request body data_manage.SaveEdbRefreshStatusReq true "type json string"
|
|
|
+// @Success 200 {object} data_manage.RefreshBaseEdbInfoResp
|
|
|
+// @router /edb_info/relation/refresh/save [post]
|
|
|
+func (c *EdbInfoController) SaveRelationEdbRefreshStatus() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ var req request.SaveRelationEdbRefreshStatusReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if req.Source <= 0 {
|
|
|
+ br.Msg = "来源不能为空"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ switch req.Source {
|
|
|
+ case utils.DATA_SOURCE_MYSTEEL_CHEMICAL, utils.DATA_SOURCE_WIND: // wind
|
|
|
+ default:
|
|
|
+ br.Msg = "暂不支持设置其他来源的指标"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // todo 批量设置刷新状态修改
|
|
|
+ edbIdList := make([]int, 0)
|
|
|
+ edbCodeList := make([]string, 0)
|
|
|
+ // 指标id列表
|
|
|
+ if req.IsSelectAll {
|
|
|
+ // 如果是列表全选
|
|
|
+ _, edbList, err := data.GetEdbRelationList(req.Source, req.ClassifyId, req.SysUserId, req.Frequency, req.Keyword, req.Status, 0, 100000, "", "")
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 不配置的指标id
|
|
|
+ notIdMap := make(map[int]int, 0)
|
|
|
+ for _, v := range req.EdbSelectIdList {
|
|
|
+ notIdMap[v] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range edbList {
|
|
|
+ _, ok := notIdMap[v.EdbInfoId]
|
|
|
+ // 在不配置的指标id列表内的话,那就过滤
|
|
|
+ if ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ // 加入到待配置的指标列表id
|
|
|
+ edbIdList = append(edbIdList, v.EdbInfoId)
|
|
|
+ edbCodeList = append(edbCodeList, v.EdbCode)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ edbIdList = req.EdbSelectIdList
|
|
|
+ if req.Source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
|
|
|
+ //查询指标信息
|
|
|
+ edbList, e := data_manage.GetEdbInfoByIdList(edbIdList)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range edbList {
|
|
|
+ edbCodeList = append(edbCodeList, v.EdbCode)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(edbIdList) <= 0 {
|
|
|
+ br.Msg = "指标不能为空"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ isStop := 0
|
|
|
+ if req.ModifyStatus == `暂停` {
|
|
|
+ isStop = 1
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询计算指标ID
|
|
|
+ // 查询相关的计算指标
|
|
|
+ calculateEdbIdList := make([]int, 0)
|
|
|
+ calculateEdb, err := data_manage.GetAllCalculateByEdbInfoIds(edbIdList)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "指标不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "查询计算指标失败"
|
|
|
+ br.ErrMsg = "查询计算指标失败,Err:" + err.Error()
|
|
|
+ }
|
|
|
+ // 遍历指标列表,把计算指标id整理成数组
|
|
|
+ if len(calculateEdb) > 0 {
|
|
|
+ for _, calculateEdbInfo := range calculateEdb {
|
|
|
+ calculateEdbIdList = append(calculateEdbIdList, calculateEdbInfo.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ switch req.Source {
|
|
|
+ case utils.DATA_SOURCE_MYSTEEL_CHEMICAL: // 钢联化工
|
|
|
+ err = data_manage.ModifyMysteelChemicalUpdateStatusByEdbInfoIds(edbIdList, isStop, edbCodeList, calculateEdbIdList)
|
|
|
+ case utils.DATA_SOURCE_WIND: // wind
|
|
|
+ err = data_manage.WindEdbInfoUpdateStatusByEdbInfoId(edbIdList, isStop, calculateEdbIdList)
|
|
|
default:
|
|
|
br.Msg = "暂不支持设置其他来源的指标"
|
|
|
return
|