export enum StatutPhaseChantier { PLANIFIEE = 'PLANIFIEE', EN_ATTENTE = 'EN_ATTENTE', EN_COURS = 'EN_COURS', SUSPENDUE = 'SUSPENDUE', EN_CONTROLE = 'EN_CONTROLE', TERMINEE = 'TERMINEE', BLOQUEE = 'BLOQUEE', ABANDONNEE = 'ABANDONNEE', REPORTEE = 'REPORTEE' } export enum TypePhaseChantier { PREPARATION = 'PREPARATION', TERRASSEMENT = 'TERRASSEMENT', FONDATIONS = 'FONDATIONS', GROS_OEUVRE = 'GROS_OEUVRE', CHARPENTE = 'CHARPENTE', COUVERTURE = 'COUVERTURE', CLOISONS = 'CLOISONS', MENUISERIE_EXTERIEURE = 'MENUISERIE_EXTERIEURE', ISOLATION = 'ISOLATION', PLOMBERIE = 'PLOMBERIE', ELECTRICITE = 'ELECTRICITE', CHAUFFAGE = 'CHAUFFAGE', VENTILATION = 'VENTILATION', CLIMATISATION = 'CLIMATISATION', MENUISERIE_INTERIEURE = 'MENUISERIE_INTERIEURE', REVETEMENTS_SOLS = 'REVETEMENTS_SOLS', REVETEMENTS_MURS = 'REVETEMENTS_MURS', PEINTURE = 'PEINTURE', CARRELAGE = 'CARRELAGE', SANITAIRES = 'SANITAIRES', CUISINE = 'CUISINE', PLACARDS = 'PLACARDS', FINITIONS = 'FINITIONS', VRD = 'VRD', ESPACES_VERTS = 'ESPACES_VERTS', NETTOYAGE = 'NETTOYAGE', RECEPTION = 'RECEPTION', GARANTIE = 'GARANTIE', AUTRE = 'AUTRE' } export enum PrioritePhase { TRES_BASSE = 'TRES_BASSE', BASSE = 'BASSE', NORMALE = 'NORMALE', HAUTE = 'HAUTE', CRITIQUE = 'CRITIQUE' } export interface PhaseChantier { id?: string; nom: string; description?: string; type?: TypePhaseChantier; chantier: { id: string; nom: string; }; statut: StatutPhaseChantier; ordreExecution: number; dateDebutPrevue?: string; dateFinPrevue?: string; dateDebutReelle?: string; dateFinReelle?: string; dureePrevueJours?: number; dureeReelleJours?: number; pourcentageAvancement?: number; budgetPrevu?: number; coutReel?: number; priorite?: PrioritePhase; equipeResponsable?: { id: string; nom: string; }; chefEquipe?: { id: string; nom: string; prenom: string; }; prerequis?: string; livrablesAttendus?: string; commentaires?: string; risquesIdentifies?: string; mesuresSecurite?: string; materielRequis?: string; competencesRequises?: string; conditionsMeteoRequises?: string; bloquante?: boolean; facturable?: boolean; dateCreation?: string; dateModification?: string; creePar?: string; modifiePar?: string; } export interface PhaseStatistiques { total: number; parStatut: Record; parType: Record; enRetard: number; critiques: number; avancementMoyen: number; }