140 lines
3.1 KiB
TypeScript
140 lines
3.1 KiB
TypeScript
export class Chantier{
|
|
id: number;
|
|
adresse: string;
|
|
etat: string;
|
|
contact: string;
|
|
chef: Chef;
|
|
equipe : Equipier[];
|
|
materiel : Materiel[];
|
|
dateDep : string;
|
|
tempsEst : number;
|
|
vehicules : Vehicule[];
|
|
anomalies : string[];
|
|
|
|
constructor(
|
|
id: number,
|
|
adresse: string,
|
|
etat: string,
|
|
contact: string,
|
|
chef: Chef,
|
|
equipe: Equipier[],
|
|
materiel: Materiel[],
|
|
dateDep: string,
|
|
tempsEst: number,
|
|
vehicules: Vehicule[],
|
|
anomalies: string[]
|
|
) {
|
|
this.id = id;
|
|
this.adresse = adresse;
|
|
this.etat = etat;
|
|
this.contact = contact;
|
|
this.chef = chef;
|
|
this.equipe = equipe;
|
|
this.materiel = materiel;
|
|
this.dateDep = dateDep;
|
|
this.tempsEst = tempsEst;
|
|
this.vehicules = vehicules;
|
|
this.anomalies = anomalies;
|
|
}
|
|
}
|
|
|
|
export abstract class Equipier{
|
|
id: number;
|
|
nom: string;
|
|
prenom: string;
|
|
allocation: Reservation[];
|
|
|
|
constructor(id: number, nom:string, prenom:string, allocation: Reservation[]){
|
|
this.id = id;
|
|
this.nom = nom;
|
|
this.prenom = prenom;
|
|
this.allocation = allocation;
|
|
}
|
|
}
|
|
|
|
export class Chef extends Equipier{
|
|
constructor(id: number, nom:string, prenom:string, allocation: Reservation[]){
|
|
super(id,nom,prenom,allocation);
|
|
}
|
|
}
|
|
|
|
export class Ouvrier extends Equipier{
|
|
qualification : string;
|
|
|
|
constructor(id: number, nom:string, prenom:string, allocation: Reservation[], qualification: string){
|
|
super(id,nom,prenom,allocation);
|
|
this.qualification=qualification;
|
|
}
|
|
}
|
|
|
|
export class ResponsableChantier extends Equipier{
|
|
constructor(id: number, nom:string, prenom:string, allocation: Reservation[]){
|
|
super(id,nom,prenom,allocation);
|
|
}
|
|
}
|
|
|
|
export class Materiel {
|
|
id: number;
|
|
nom: string;
|
|
prenom: string;
|
|
type: string;
|
|
allocation: Reservation[];
|
|
|
|
constructor(
|
|
id: number,
|
|
nom: string,
|
|
prenom: string,
|
|
type: string,
|
|
allocation: Reservation[]
|
|
) {
|
|
this.id = id;
|
|
this.nom = nom;
|
|
this.prenom = prenom;
|
|
this.type = type;
|
|
this.allocation = allocation;
|
|
}
|
|
}
|
|
|
|
|
|
export class Reservation {
|
|
id: string;
|
|
dateChantier: Date;
|
|
dateFin: Date;
|
|
duree: number;
|
|
|
|
constructor(
|
|
id: string,
|
|
dateChantier: Date,
|
|
dateFin: Date,
|
|
duree: number
|
|
) {
|
|
this.id = id;
|
|
this.dateChantier = dateChantier;
|
|
this.dateFin = dateFin;
|
|
this.duree = duree;
|
|
}
|
|
}
|
|
|
|
|
|
export class Vehicule {
|
|
id: number;
|
|
nom: string;
|
|
type: string;
|
|
allocation: Reservation[];
|
|
|
|
constructor(
|
|
id: number,
|
|
nom: string,
|
|
type: string,
|
|
allocation: Reservation[]
|
|
) {
|
|
this.id = id;
|
|
this.nom = nom;
|
|
this.type = type;
|
|
this.allocation = allocation;
|
|
}
|
|
}
|
|
|
|
|
|
export const exempleChantier = new Chantier(1,"Rennes","en cours","contact",new Chef(1,"Chyeef","YEE",[]),[],[],"01/01/25",10,[],["YEE"])
|