| | |
| | | interface TestOptionsResponse extends ApiResponse { data: TestConfigurationOptions } |
| | | export interface TestListResult { total: number; rows: TestRecord[] } |
| | | |
| | | export interface HistoricalResultRecord { |
| | | resultId: number |
| | | sourceType: 'CABINET_CHANNEL' | 'COLLECTOR_CHANNEL' | string |
| | | testId: number |
| | | testName: string |
| | | testStatus: TestStatusCode |
| | | receptionStatus: ReceptionStatusCode |
| | | relationId: number |
| | | batteryNo: string |
| | | sourceId: number |
| | | sourceIdentity: string |
| | | intervalId: number |
| | | intervalStartAtUtc: string |
| | | intervalEndAtUtc: string | null |
| | | cycleNo: number | null |
| | | stepNo: number | null |
| | | stepType: string | null |
| | | workStatus: string | null |
| | | voltageV: number | null |
| | | currentA: number | null |
| | | capacityAh: number | null |
| | | energyWh: number | null |
| | | metricCode: string | null |
| | | metricValue: number | null |
| | | unit: string |
| | | unitMetadata: string |
| | | integrityConclusion: string |
| | | deviceTimeUtc: string |
| | | deviceTimeRaw: string |
| | | serverReceivedAtUtc: string |
| | | } |
| | | interface HistoricalResultResponse extends ApiResponse { total: number; rows: HistoricalResultRecord[] } |
| | | |
| | | export interface HistoricalResultQuery { |
| | | pageNum: number |
| | | pageSize: number |
| | | testId?: number |
| | | testName?: string |
| | | batteryNo?: string |
| | | sourceType?: string |
| | | sourceId?: number |
| | | sourceChannelCode?: string |
| | | beginDeviceTime?: string |
| | | endDeviceTime?: string |
| | | cycleNo?: number |
| | | stepNo?: number |
| | | } |
| | | |
| | | export async function getHistoricalResultRecords(query: HistoricalResultQuery): Promise<{ total: number; rows: HistoricalResultRecord[] }> { |
| | | const params = new URLSearchParams() |
| | | Object.entries(query).forEach(([key, value]) => { |
| | | if (value !== undefined && value !== '' && value !== null) params.set(key, String(value)) |
| | | }) |
| | | const result = await request<HistoricalResultResponse>(`/system/test/results?${params.toString()}`) |
| | | return { total: Number(result.total) || 0, rows: result.rows || [] } |
| | | } |
| | | |
| | | const statusMap: Record<TestStatusCode, TestStatus> = { |
| | | WAITING: '待测试', RUNNING: '检测中', PAUSED: '暂停', RUNNING_ABNORMAL: '检测中(异常)', |
| | | COMPLETION_PENDING: '完成确认中', COMPLETED: '检测完成', TERMINATED: '已终止', |