-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCreneau.java
131 lines (98 loc) · 3.16 KB
/
Creneau.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package My_Desktop_planner;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.ArrayList;
public class Creneau {
/*-------------------------------------------------------*/
// attribus
private Tache tache;
private LocalDateTime HeureDebut;
private LocalDateTime HeureFin;
private Duration DureeMin;
private boolean etat; // bloqué ou pas
private boolean libre;
// constructor ----------------------------------------------------
public Creneau(Tache tache, LocalDateTime HeureDebut, LocalDateTime HeureFin, Duration DureeMin, boolean etat) {
this.tache = tache;
this.HeureDebut = HeureDebut;
this.HeureFin = HeureFin;
this.DureeMin = DureeMin;
this.etat = etat;
}
// -------------------------------------------------------------
// getters and setters
public Tache getTache() {
return tache;
}
public void setTache(Tache tache) {
this.tache = tache;
}
public LocalDateTime getHeureDebut() {
return HeureDebut;
}
public void setHeureDebut(LocalDateTime HeureDebut) {
this.HeureDebut = HeureDebut;
}
public LocalDateTime getHeureFin() {
return HeureFin;
}
public void setHeureFin(LocalDateTime HeureFin) {
this.HeureFin = HeureFin;
}
public Duration getDureeMin() {
return this.DureeMin;
}
public void setDureeMin(Duration DureeMin) {
this.DureeMin = DureeMin;
}
public boolean isEtat() {
return etat;
}
public void setEtat(boolean etat) {
this.etat = etat;
}
public Boolean getlibre() {
return libre;
}
public void setlibre(Boolean libre) {
this.libre = libre;
}
/*-------------------------------------------------------*/
// methods
public void Planifier(Tache tache) {
}
public void plnnifier_creneau(Tache tache) {
setTache(tache);
}
public String Calculer_Duree() {
Duration duration = Duration.between(this.HeureDebut, this.HeureFin);
long hours = duration.toHours();
long minutes = duration.toMinutes() % 60;
return String.format("%d heures et %d minutes", hours, minutes);
}
public void bloquer_creneau() {
setEtat(Boolean.parseBoolean("false"));
}
public int Comparer_duree(String duration) {
String duration1 = Calculer_Duree();
return duration1.compareTo(duration);
}
public Creneau[] decomposerCreneau(Tache tache,Creneau creneau) {
LocalDateTime debut=creneau.HeureDebut; LocalDateTime fin=creneau.HeureFin;
Duration dureePremierePartie=tache.getDuree();
// Calcul de la fin de la première partie
LocalDateTime finPremierePartie = debut.plus(dureePremierePartie);
// Calcul de la début de la deuxième partie
LocalDateTime debutDeuxiemePartie = finPremierePartie;
// Création du tableau avec les débuts et fins des deux parties
LocalDateTime[] resultats = new LocalDateTime[4];
resultats[0] = debut;
resultats[1] = finPremierePartie;
resultats[2] = debutDeuxiemePartie;
resultats[3] = fin;
Creneau creneaux[]=new Creneau[2];
creneaux[0].HeureDebut=resultats[0];
creneaux[0].HeureFin=resultats[1];
creneaux[1].HeureDebut=resultats[3];
creneaux[1].HeureFin=resultats[4];
return creneaux;}}