import { ApiClientFactory } from '../core/api.client.factory'; import { AirQualityList, AlarmAndSprayCount, AlarmAndSprayFilterData, AlarmAndSprayTableData } from '../model/envStatistic.model'; export class EnvStatisticService { constructor(private factory: ApiClientFactory) { } // 按月查询每天的pm25和pm10的平均值汇总 async loadMonthAirQuality(projectId: string, year: string, month: string): Promise { const data =await this.factory.entity .get(`/api/web/projects/${projectId}/environment/monthStat?year=${year}&month=${month}`); return data; } // 按日查询每天每小时的pm25和pm10的平均值汇总 async loadDayAirQuality(projectId: string, date: string): Promise { const data =await this.factory.entity .get(`/api/web/projects/${projectId}/environment/dayStat?summaryDate=${date}`); return data; } // 查询报警数量和喷淋次数 async loadAlarmAndSprayCount(projectId: string, startDate: string): Promise { const data =await this.factory.entity .get(`/api/web/projects/${projectId}/environments/pm10Alarms/byDate/outOfLimitCount?startDate=${startDate}`); return data; } // 查询pm10报警明细 async loadAlarmDetail(projectId: string, queryParams: AlarmAndSprayFilterData): Promise { const data =await this.factory.entity.get( `/api/web/projects/${projectId}/environments/pm10Alarms/byDate/outOfLimitDetails`, queryParams ); return data; } // 导出pm10报警明细 async exportAlarmDetail(projectId: string, queryParams: AlarmAndSprayFilterData): Promise { this.factory.entity.exportFile( `/api/open/web/projects/${projectId}/environments/pm10Alarms/byDate/outOfLimitDetails`, queryParams, { ignoreHeaders: false }, 'gssToken' ); } // 查询喷淋明细 async loadSpaysDetail(projectId: string, queryParams: AlarmAndSprayFilterData): Promise { const data =await this.factory.entity.get( `/api/web/projects/${projectId}/spays/pm10Alarms/byDate/outOfLimitDetails`, queryParams ); return data; } // 导出喷淋明细 async exportSpaysDetail(projectId: string, queryParams: AlarmAndSprayFilterData): Promise { this.factory.entity.exportFile( `/api/open/web/projects/${projectId}/spays/pm10Alarms/byDate/outOfLimitDetails`, queryParams, { ignoreHeaders: false }, 'gssToken' ); } }