F4: add technical findings worklist client
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
import { apiRequest } from './api';
|
||||
|
||||
export type FindingWorklistWorkflowF4 =
|
||||
| 'OPEN'
|
||||
| 'TO_SCHEDULE_VERIFICATION'
|
||||
| 'TO_VERIFY'
|
||||
| 'VERIFICATION_OVERDUE'
|
||||
| 'READY_TO_CLOSE'
|
||||
| 'CLOSED'
|
||||
| 'ALL';
|
||||
|
||||
export interface FindingWorklistItemF4 {
|
||||
id: string;
|
||||
actId: string;
|
||||
assetId: string;
|
||||
code: string;
|
||||
status: 'OPEN' | 'CLOSED' | 'VOIDED';
|
||||
title: string;
|
||||
description: string;
|
||||
severity: number | null;
|
||||
nextControlOn: string | null;
|
||||
closedAt: string | null;
|
||||
closureNotes: string | null;
|
||||
asset: {
|
||||
id: string;
|
||||
code: string;
|
||||
name: string;
|
||||
commonName: string | null;
|
||||
typeName: string;
|
||||
operatorCompany: { id: string; code: string; name: string } | null;
|
||||
operationalArea: { id: string; code: string; name: string } | null;
|
||||
};
|
||||
document: {
|
||||
actId: string;
|
||||
actCode: string;
|
||||
actStatus: string;
|
||||
visitId: string;
|
||||
visitCode: string;
|
||||
visitStatus: string;
|
||||
};
|
||||
verificationVisit: {
|
||||
id: string;
|
||||
code: string;
|
||||
title: string;
|
||||
status: string;
|
||||
plannedStartAt: string | null;
|
||||
} | null;
|
||||
latestVerification: {
|
||||
visitId: string;
|
||||
visitCode: string;
|
||||
visitStatus: string;
|
||||
targetControlOn: string | null;
|
||||
outcome: 'RESOLVED' | 'NOT_RESOLVED' | 'REQUIRES_NEW_DATE' | null;
|
||||
resultNotes: string | null;
|
||||
verifiedAt: string | null;
|
||||
resultRecordedAt: string | null;
|
||||
rescheduledControlOn: string | null;
|
||||
evidenceCount: number;
|
||||
} | null;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface FindingWorklistCountersF4 {
|
||||
open: number;
|
||||
withoutControlDate: number;
|
||||
toVerify: number;
|
||||
verificationOverdue: number;
|
||||
verificationNext30Days: number;
|
||||
readyToClose: number;
|
||||
closed: number;
|
||||
}
|
||||
|
||||
export interface FindingWorklistPageF4 {
|
||||
data: FindingWorklistItemF4[];
|
||||
meta: { page: number; pageSize: number; total: number; totalPages: number };
|
||||
counters: FindingWorklistCountersF4;
|
||||
}
|
||||
|
||||
export function listFindingWorklistF4(query: {
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
search?: string;
|
||||
workflow?: FindingWorklistWorkflowF4;
|
||||
companyId?: string;
|
||||
areaId?: string;
|
||||
inspectorId?: string;
|
||||
dateFrom?: string;
|
||||
dateTo?: string;
|
||||
}) {
|
||||
const params = new URLSearchParams();
|
||||
Object.entries(query).forEach(([key, value]) => {
|
||||
if (value !== undefined && value !== '') params.set(key, String(value));
|
||||
});
|
||||
return apiRequest<FindingWorklistPageF4>(`/inspection-findings?${params.toString()}`);
|
||||
}
|
||||
Reference in New Issue
Block a user