Files
btpxpress-frontend/types/phases.d.ts
2025-10-13 05:29:32 +02:00

106 lines
2.7 KiB
TypeScript

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<StatutPhaseChantier, number>;
parType: Record<TypePhaseChantier, number>;
enRetard: number;
critiques: number;
avancementMoyen: number;
}