57 lines
1.4 KiB
TypeScript
57 lines
1.4 KiB
TypeScript
import { apiRequest } from '../../lib/api';
|
|
|
|
export type FieldBriefingActState =
|
|
| 'ACT_RESPONSE_OVERDUE'
|
|
| 'ACT_RESPONSE_DUE_SOON'
|
|
| 'WAITING_RESPONSE'
|
|
| 'COMPANY_COMMITMENT_OVERDUE'
|
|
| 'VERIFICATION_PENDING'
|
|
| 'RESPONSE_RECEIVED';
|
|
|
|
export interface FieldBriefingFinding {
|
|
id: string;
|
|
code: string;
|
|
title: string;
|
|
status: string;
|
|
severity: number | null;
|
|
nextControlOn: string | null;
|
|
asset: { id: string; code: string; name: string; typeName: string };
|
|
}
|
|
|
|
export interface FieldBriefingAct {
|
|
actId: string;
|
|
actCode: string;
|
|
occurredAt: string;
|
|
adminState: FieldBriefingActState;
|
|
responseDueOn: string | null;
|
|
responseReceivedOn: string | null;
|
|
committedCorrectionOn: string | null;
|
|
latestResponseId: string | null;
|
|
findings: FieldBriefingFinding[];
|
|
}
|
|
|
|
export interface FieldBriefing {
|
|
inspection: {
|
|
id: string;
|
|
code: string;
|
|
status: string;
|
|
plannedStartAt: string | null;
|
|
area: { id: string; code: string; name: string } | null;
|
|
operatorCompany: { id: string; code: string; name: string } | null;
|
|
};
|
|
plannedOn: string;
|
|
summary: {
|
|
acts: number;
|
|
findings: number;
|
|
inventoryItems: number;
|
|
responseOverdue: number;
|
|
commitmentOverdue: number;
|
|
verificationPending: number;
|
|
};
|
|
acts: FieldBriefingAct[];
|
|
}
|
|
|
|
export function getInspectionFieldBriefing(visitId: string) {
|
|
return apiRequest<FieldBriefing>(`/inspection-visits/${visitId}/field-briefing`);
|
|
}
|