|
@@ -519,13 +519,43 @@ func (c *EdbInfoController) SaveEdbRefreshStatus() {
|
|
|
isStop = 1
|
|
|
}
|
|
|
|
|
|
+ if len(edbIdList) <= 0 {
|
|
|
+ br.Msg = "指标不能为空"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //查询计算指标信息
|
|
|
+ calculateEdbIdList := make([]int, 0)
|
|
|
+ if isStop == 1 {
|
|
|
+ fromEdbIdList := make([]int, 0)
|
|
|
+ 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 {
|
|
|
+ if v.EdbInfoType == 0 && v.EdbType == 1 {
|
|
|
+ fromEdbIdList = append(fromEdbIdList, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ hasFind := make(map[int]struct{})
|
|
|
+ calculateEdbIdList, err = data.GetCalculateEdbByFromEdbInfo(fromEdbIdList, calculateEdbIdList, hasFind)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询计算指标信息失败"
|
|
|
+ br.ErrMsg = "查询计算指标信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
switch req.Source {
|
|
|
case utils.DATA_SOURCE_MYSTEEL_CHEMICAL: // 钢联
|
|
|
err = data_manage.ModifyMysteelChemicalUpdateStatus(edbIdList, edbCodeList, isStop)
|
|
|
case utils.DATA_SOURCE_YS: // 有色
|
|
|
err = data_manage.ModifySmmUpdateStatus(edbIdList, edbCodeList, isStop)
|
|
|
default:
|
|
|
- err = data_manage.ModifyEdbInfoUpdateStatus(edbIdList, isStop)
|
|
|
+ err = data_manage.ModifyEdbInfoUpdateStatus(edbIdList, isStop, calculateEdbIdList)
|
|
|
}
|
|
|
if err != nil {
|
|
|
br.Msg = `保存失败`
|
|
@@ -584,37 +614,22 @@ func (c *EdbInfoController) SaveEdbRefreshStatusSingle() {
|
|
|
if req.ModifyStatus == `暂停` {
|
|
|
isStop = 1
|
|
|
}
|
|
|
- calculateEdb := make([]*data_manage.EdbInfoCalculateMapping, 0)
|
|
|
- if edbInfo.EdbInfoType == 0 && edbInfo.EdbType == 1 { //基础指标
|
|
|
- // 查询相关的计算指标
|
|
|
- calculateEdb, err = data_manage.GetAllCalculateByEdbInfoId(edbInfo.EdbInfoId)
|
|
|
+
|
|
|
+ if isStop == 1 && edbInfo.EdbInfoType == 0 && edbInfo.EdbType == 1 { //基础指标, 只有在停用的情况下才需要查询计算指标
|
|
|
+ hasFind := make(map[int]struct{})
|
|
|
+ calculateEdbIdList, err = data.GetCalculateEdbByFromEdbInfo([]int{edbInfo.EdbInfoId}, calculateEdbIdList, hasFind)
|
|
|
if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "指标不存在"
|
|
|
- return
|
|
|
- }
|
|
|
- br.Msg = "查询计算指标失败"
|
|
|
- br.ErrMsg = "查询计算指标失败,Err:" + err.Error()
|
|
|
+ br.Msg = "查询计算指标信息失败"
|
|
|
+ br.ErrMsg = "查询计算指标信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 遍历指标列表,把计算指标id整理成数组
|
|
|
- if len(calculateEdb) > 0 {
|
|
|
- for _, calculateEdbInfo := range calculateEdb {
|
|
|
- calculateEdbIdList = append(calculateEdbIdList, calculateEdbInfo.EdbInfoId)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
switch edbInfo.Source {
|
|
|
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([]int{edbInfo.EdbInfoId}, isStop, calculateEdbIdList)
|
|
|
- default:
|
|
|
- // todo 支持其他的指标设置
|
|
|
- err = data_manage.EdbInfoUpdateStatusByEdbInfoId([]int{edbInfo.EdbInfoId}, isStop)
|
|
|
- return
|
|
|
+ default: // wind
|
|
|
+ err = data_manage.EdbInfoUpdateStatusByEdbInfoId([]int{edbInfo.EdbInfoId}, isStop, calculateEdbIdList)
|
|
|
}
|
|
|
if err != nil {
|
|
|
br.Msg = `保存失败`
|
|
@@ -693,22 +708,9 @@ func (c *EdbInfoController) SaveRelationEdbRefreshStatus() {
|
|
|
|
|
|
// 加入到待配置的指标列表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 {
|
|
@@ -716,6 +718,22 @@ func (c *EdbInfoController) SaveRelationEdbRefreshStatus() {
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
+ //查询指标信息
|
|
|
+ edbList, e := data_manage.GetEdbInfoByIdList(edbIdList)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fromEdbIdList := make([]int, 0)
|
|
|
+ for _, v := range edbList {
|
|
|
+ if req.Source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
|
|
|
+ edbCodeList = append(edbCodeList, v.EdbCode)
|
|
|
+ }
|
|
|
+ if v.EdbInfoType == 0 && v.EdbType == 1 {
|
|
|
+ fromEdbIdList = append(fromEdbIdList, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
isStop := 0
|
|
|
if req.ModifyStatus == `暂停` {
|
|
@@ -725,30 +743,21 @@ func (c *EdbInfoController) SaveRelationEdbRefreshStatus() {
|
|
|
// 查询计算指标ID
|
|
|
// 查询相关的计算指标
|
|
|
calculateEdbIdList := make([]int, 0)
|
|
|
- calculateEdb, err := data_manage.GetAllCalculateByEdbInfoIds(edbIdList)
|
|
|
- if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "指标不存在"
|
|
|
+ if isStop == 1 {
|
|
|
+ hasFind := make(map[int]struct{})
|
|
|
+ calculateEdbIdList, err = data.GetCalculateEdbByFromEdbInfo(fromEdbIdList, calculateEdbIdList, hasFind)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询计算指标信息失败"
|
|
|
+ br.ErrMsg = "查询计算指标信息失败,Err:" + err.Error()
|
|
|
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:
|
|
|
- err = data_manage.EdbInfoUpdateStatusByEdbInfoId(edbIdList, isStop)
|
|
|
- return
|
|
|
+ err = data_manage.EdbInfoUpdateStatusByEdbInfoId(edbIdList, isStop, calculateEdbIdList)
|
|
|
}
|
|
|
if err != nil {
|
|
|
br.Msg = `保存失败`
|