Revízny systém - kompletná implementácia
- Backend: CRUD revízií, schedule endpoint (agregovaný plán), skip revízia, stats - Shared utility revisionSchedule.ts - centralizovaná logika výpočtu cyklov - Equipment detail s revíznym plánom, históriou a prílohami - Frontend: RevisionsList s tabmi (nadchádzajúce/po termíne/vykonané/preskočené) - Pozičné labeling cyklov (eliminuje drift 4×90≠365) - EquipmentRevisionSchedule model (many-to-many typy revízií) - Aktualizovaná dokumentácia HELPDESK_INIT_V2.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -21,14 +21,39 @@ export interface CreateEquipmentData {
|
||||
partNumber?: string;
|
||||
serialNumber?: string;
|
||||
installDate?: string;
|
||||
revisionCycleStart?: string;
|
||||
warrantyEnd?: string;
|
||||
warrantyStatus?: string;
|
||||
description?: string;
|
||||
notes?: string;
|
||||
active?: boolean;
|
||||
revisionTypeIds?: string[];
|
||||
tempId?: string; // For pending file uploads
|
||||
}
|
||||
|
||||
export interface EquipmentScheduleItem {
|
||||
revisionType: { id: string; name: string; color?: string; intervalDays: number };
|
||||
lastPerformed: string | null;
|
||||
nextDueDate: string | null;
|
||||
upcomingCycles: string[];
|
||||
}
|
||||
|
||||
export interface EquipmentSchedule {
|
||||
cycleAnchor: string;
|
||||
schedules: EquipmentScheduleItem[];
|
||||
upcomingDates: Array<{
|
||||
date: string;
|
||||
label: string;
|
||||
revisionTypes: Array<{
|
||||
id: string;
|
||||
name: string;
|
||||
color?: string;
|
||||
intervalDays: number;
|
||||
cycleNumber: number;
|
||||
}>;
|
||||
}>;
|
||||
}
|
||||
|
||||
export type UpdateEquipmentData = Partial<CreateEquipmentData>;
|
||||
|
||||
export interface CreateRevisionData {
|
||||
@@ -73,4 +98,8 @@ export const equipmentApi = {
|
||||
|
||||
createRevision: (equipmentId: string, data: CreateRevisionData) =>
|
||||
post<Revision>(`/equipment/${equipmentId}/revisions`, data),
|
||||
|
||||
// Schedule
|
||||
getSchedule: (equipmentId: string, days?: number) =>
|
||||
get<EquipmentSchedule>(`/equipment/${equipmentId}/schedule${days ? `?days=${days}` : ''}`),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user