Commit a1f68930d57f3682f0e7dac754866124d7c539d5

Authored by ww
1 parent 51062a0c

fix: DEFECT-848 handle charts component has problem after socket receive message

@@ -13230,8 +13230,14 @@ class DispatchCenter { @@ -13230,8 +13230,14 @@ class DispatchCenter {
13230 subList.forEach(item => { 13230 subList.forEach(item => {
13231 const { dataOrigin, additional } = item 13231 const { dataOrigin, additional } = item
13232 if (dataOrigin === 'dataSources') { 13232 if (dataOrigin === 'dataSources') {
13233 - if (additional)  
13234 - this.dataSourceHandlerInstance.updateRealTimeDataSource(message, item) 13233 + if (additional) {
  13234 + const { dataType } = additional || {}
  13235 + if (dataType === HandleDataSource.enumDataBindType.REAL) {
  13236 + this.dataSourceHandlerInstance.updateRealTimeDataSource(message, item)
  13237 + } else if (dataType === HandleDataSource.enumDataBindType.HISTORY) {
  13238 + this.dataSourceHandlerInstance.updateHistoryDataSource(message, item)
  13239 + }
  13240 + }
13235 else 13241 else
13236 this.dataSourceHandlerInstance.updateCommonDataSource(message, item) 13242 this.dataSourceHandlerInstance.updateCommonDataSource(message, item)
13237 } 13243 }
@@ -13418,9 +13424,11 @@ class DispatchCenter { @@ -13418,9 +13424,11 @@ class DispatchCenter {
13418 const basicRecord = value.filter(item => !item.additional) 13424 const basicRecord = value.filter(item => !item.additional)
13419 const moreFilterRecord = value.filter(item => item.additional) 13425 const moreFilterRecord = value.filter(item => item.additional)
13420 13426
13421 - const message = generateMessage({ entityId: key, cmdId, keys: getKeys(basicRecord.map(item => item.attr)) })  
13422 - setSubscribeMapping(cmdId, basicRecord) 13427 + const message = basicRecord.length ? generateMessage({ entityId: key, cmdId, keys: getKeys(basicRecord.map(item => item.attr)) }) : null
  13428 + basicRecord.length && setSubscribeMapping(cmdId, basicRecord)
13423 cmdId++ 13429 cmdId++
  13430 +
  13431 + // 图表控件订阅
13424 moreFilterRecord.forEach(item => { 13432 moreFilterRecord.forEach(item => {
13425 const { additional = {} } = item 13433 const { additional = {} } = item
13426 const { dataType = 'tsSubCmds', interval, effectScope, agg } = additional 13434 const { dataType = 'tsSubCmds', interval, effectScope, agg } = additional
@@ -13433,14 +13441,14 @@ class DispatchCenter { @@ -13433,14 +13441,14 @@ class DispatchCenter {
13433 startTs: Date.now() - toNumber(effectScope), 13441 startTs: Date.now() - toNumber(effectScope),
13434 ...(dataType === HandleDataSource.enumDataBindType.REAL ? {} : { endTs: Date.now() }) 13442 ...(dataType === HandleDataSource.enumDataBindType.REAL ? {} : { endTs: Date.now() })
13435 }) 13443 })
13436 - setSubscribeMapping(cmdId, moreFilterRecord) 13444 + setSubscribeMapping(cmdId, [item])
13437 messageList[dataType].push(message) 13445 messageList[dataType].push(message)
13438 cmdId++ 13446 cmdId++
13439 }) 13447 })
13440 13448
13441 - messageList.tsSubCmds.push(message) 13449 + message && messageList.tsSubCmds.push(message)
13442 }) 13450 })
13443 - 13451 +
13444 return messageList 13452 return messageList
13445 } 13453 }
13446 13454