import { ApiClientFactory } from '../core/api.client.factory'; import { GroupTowerCraneLoopTimeList, ICraneWarningDetail, ICurrentDayCraneEffect, IOriginTowerCraneBusyLevelConfig, ITowerCraneBusyLevelConfig, ITowerCraneEffect, ITowerCraneEffectDetailItem, ITowerCraneTodayWorkModalList, ITowerCraneTodayWorkModalTable, ITowerCraneWarningDetailFilter, TowerCraneList, TowerCraneLoopTimeList, TowerCraneRecordDriver, TowerCraneTodayWorkData, TowerCraneViolationInfo, TowerCraneWarningData } from '../model/towerCrane.model'; export class TowerCraneService { constructor(private factory: ApiClientFactory) {} // 塔吊新接口 async getTowerCraneData(projectId: string, deviceId: string): Promise { return await this.factory.entity.get( `/api/web/projects/${projectId}/cranes/${deviceId}/getDeviceModelData` ); } // 获取塔机吊重、载重百分比 async getTowerCraneLoadPercent(projectId: string, deviceId: string, times: number): Promise { return await this.factory.entity.get( `api/web/projects/${projectId}/cranes/weight/${deviceId}?times=${times}` ); } // 获取塔机吊装循环次数 async getTowerCraneLoopTime(projectId: string, deviceId: string, days: number): Promise { return await this.factory.entity.get( `api/web/projects/${projectId}/cranes/recordNum/${deviceId}?days=${days}` ); } // 获取群塔机吊装循环次数 async getGroupTowerCraneLoopTime(projectId: string, beginMonth: number): Promise { return await this.factory.entity.get( `api/web/projects/${projectId}/cranes/recordNum?beginMonth=${beginMonth}` ); } // 通过日期获取群塔机吊装循环次数 async getGroupTowerCraneLoopTimeByDate(projectId: string, startDate: string, endDate: string): Promise { return await this.factory.entity.get( `api/web/projects/${projectId}/cranes/recordNumByDate?startDate=${startDate}&endDate=${endDate}` ); } // 获取今日塔机工作情况 async getTowerCraneTodayWork(projectId: string): Promise { return await this.factory.entity.get(`api/web/projects/${projectId}/cranes/todayWork`); } // 获取塔机报警统计 async getTowerCraneWarning(projectId: string, days: number): Promise { return await this.factory.entity.get( `api/web/projects/${projectId}/cranes/alarmNum?days=${days}` ); } // 获取塔机报警详情(二级弹框) async getTowerCraneWarningDetail( projectId: string, filter: ITowerCraneWarningDetailFilter ): Promise { return await this.factory.entity.get( `api/web/projects/${projectId}/cranes/alarmRecords`, filter ); } // 获取吊装排行榜 async getTowerCraneRecordDriver(projectId: string, days: number): Promise { return await this.factory.entity.get( `api/web/projects/${projectId}/cranes/recordDriver?days=${days}` ); } // 获取违章信息 async getTowerCraneViolationInfo( projectId: string, deviceId: string, time: number ): Promise { return await this.factory.entity.get( `api/web/projects/${projectId}/cranes/violationInfo/${deviceId}?beginTime=${time}` ); } // 获取塔机功效数据,通过日期 async getTowerCraneEffectByDate( projectId: string, dateStr: string, ): Promise { const result = await this.factory.entity.get( `api/web/projects/${projectId}/cranes/craneEffect/${dateStr}` ); return result;; } // 获取塔机功效详情数据,通过日期 async getTowerCraneEffectDetailByDate( projectId: string, dateStr: string, ): Promise { const result = await this.factory.entity.get( `api/web/projects/${projectId}/cranes/craneEffectDetails/${dateStr}` ); return result;; } // 获取塔机功效配置数据,通过日期 async getTowerCraneBusyLevelConfigByDate( projectId: string, dateStr: string, ): Promise { const result = await this.factory.entity.get( `api/web/projects/${projectId}/cranes/busyLevelSetting/${dateStr}` ); return result;; } // 修改塔机功效配置数据,通过日期 async postTowerCraneBusyLevelConfigByDate( projectId: string, dateStr: string, configData: ITowerCraneBusyLevelConfig, ): Promise { const result = await this.factory.entity.post( `api/web/projects/${projectId}/cranes/busyLevelSetting/${dateStr}`, configData ); return result; } // 获取当前塔吊当日的工效数据 async loadCurrentDayCraneEffect(projectId: string, deviceId: string) :Promise { const result = await this.factory.entity.get( `api/web/projects/${projectId}/cranes/currentDayCraneEffect?deviceId=${deviceId}` ); return result; } // 获取今日塔机工作情况-二级弹窗表格 async getTowerCraneTodayWorkModalTable(projectId: string, deviceId: string, pageIndex: number, pageSize: number): Promise { return await this.factory.entity.get(`api/web/projects/${projectId}/todayCranes/${deviceId}/workDetail`, { pageIndex, pageSize }); } // 获取今日塔机工作情况-二级弹窗列表 async getTowerCraneTodayWorkModalList(projectId: string): Promise { return await this.factory.entity.get(`api/web/projects/${projectId}/todayCranes/cranesList`); } }