Commit 691a1ade74ae64c5ae03f1194868158d2737041e

Authored by xp.Huang
2 parents bc3c60e8 f3deae19

Merge branch 'fix/add-history-limit' into 'main'

fix: 查询历史数据,如果是历史数据聚合,添加limit50000限制传入后端进行查询

See merge request yunteng/thingskit-scada!267
... ... @@ -56,6 +56,7 @@ export interface ChartOptionType {
56 56 queryType?: SocketSubscriberEnum
57 57 agg?: AggregateTypeEnum
58 58 unit?: string
  59 + limit?: number
59 60 }
60 61
61 62 export interface FlowMeterColorItemType {
... ...
... ... @@ -32,7 +32,7 @@ export default class Config implements CreateComponentType {
32 32 export const dataSubscribers: ComponentConfigModuleType['dataSubscribers'] = (telemetryService, nodeData) => {
33 33 const { dataSourceJson, configurationNodeId } = nodeData
34 34 const { deviceId, attr, chartOption } = dataSourceJson
35   - const { agg, interval, effectScope = 0 } = chartOption!
  35 + const { agg, interval, effectScope = 0, limit = 50000 } = chartOption!
36 36 const subscribe = TelemetrySubscriber.createHistorySubscription(telemetryService, { id: deviceId, entityType: EntityType.DEVICE }, attr, telemetryService.getCommandSource(configurationNodeId, DataSourceTypeEnum.DATASOURCE, dataSourceJson))
37 37
38 38 const subscriptionCommand = subscribe.subscriptionCommand as HistorySubscriptionCmd
... ... @@ -40,6 +40,7 @@ export const dataSubscribers: ComponentConfigModuleType['dataSubscribers'] = (te
40 40 subscriptionCommand.interval = interval
41 41 subscriptionCommand.startTs = Date.now() - effectScope
42 42 subscriptionCommand.endTs = Date.now()
  43 + subscriptionCommand.limit = limit
43 44
44 45 return [subscribe]
45 46 }
... ...
... ... @@ -32,7 +32,7 @@ export default class Config implements CreateComponentType {
32 32 export const dataSubscribers: ComponentConfigModuleType['dataSubscribers'] = (telemetryService, nodeData) => {
33 33 const { dataSourceJson, configurationNodeId } = nodeData
34 34 const { deviceId, attr, chartOption } = dataSourceJson
35   - const { agg, interval, effectScope = 0, queryType } = chartOption!
  35 + const { agg, interval, effectScope = 0, queryType, limit = 50000 } = chartOption!
36 36
37 37 let subscribe
38 38 if (queryType === SocketSubscriberEnum.HISTORY_CMDS)
... ... @@ -47,6 +47,7 @@ export const dataSubscribers: ComponentConfigModuleType['dataSubscribers'] = (te
47 47 if (queryType === SocketSubscriberEnum.HISTORY_CMDS) {
48 48 subscriptionCommand.startTs = Date.now() - effectScope
49 49 subscriptionCommand.endTs = Date.now()
  50 + subscriptionCommand.limit = limit
50 51 }
51 52
52 53 return [subscribe]
... ...
... ... @@ -234,6 +234,7 @@ export enum FormFieldEnum {
234 234 QUERY_TYPE = 'queryType',
235 235 AGG = 'agg',
236 236 UNIT = 'unit',
  237 + LIMIT = 'limit',
237 238 }
238 239
239 240 export function getPacketIntervalByValue(value: number) {
... ... @@ -255,6 +256,7 @@ export const formSchemas = (chartType?: ChartComponentEnum): FormSchema[] => {
255 256
256 257 return item
257 258 })
  259 +
258 260 return [
259 261 {
260 262 label: t('dataType'),
... ... @@ -320,6 +322,13 @@ export const formSchemas = (chartType?: ChartComponentEnum): FormSchema[] => {
320 322
321 323 },
322 324 },
  325 + {
  326 + label: '数据聚合',
  327 + field: FormFieldEnum.LIMIT,
  328 + component: ComponentEnum.INPUT,
  329 + ifShow: false,
  330 + defaultValue: (chartType === ChartComponentEnum.HISTOGRAM || chartType === ChartComponentEnum.LINE) ? 50000 : null,
  331 + },
323 332
324 333 ]
325 334 }
... ...