ordonnancement
This commit is contained in:
parent
95765193a8
commit
af2646e46e
3 changed files with 18 additions and 8 deletions
4
TODO.md
4
TODO.md
|
@ -63,13 +63,13 @@ TODO avant rendu :
|
||||||
|
|
||||||
- [x] Étudie/Analyse des `RunProjet`
|
- [x] Étudie/Analyse des `RunProjet`
|
||||||
- [ ] Interagis avec un `ProtoProjet` pour y mettre des tâches <!-- Comment ça ? -->
|
- [ ] Interagis avec un `ProtoProjet` pour y mettre des tâches <!-- Comment ça ? -->
|
||||||
- [ ] Recommande des ordonnancements pour la suite des exécutions à venir
|
- [x] Recommande des ordonnancements pour la suite des exécutions à venir
|
||||||
(ordre d'exécutions des tâches)
|
(ordre d'exécutions des tâches)
|
||||||
- [x] Calcule la durée totale restante d'un projet
|
- [x] Calcule la durée totale restante d'un projet
|
||||||
- [ ] Demande un salaire pour travailler
|
- [ ] Demande un salaire pour travailler
|
||||||
- Méthodes
|
- Méthodes
|
||||||
- [x] Surcharge de `<<` : Affiche une facturation
|
- [x] Surcharge de `<<` : Affiche une facturation
|
||||||
- [ ] `pair<vector<int>, int> avis(const RunProjet &)` : renvoie l'ordonnancement
|
- [x] `pair<vector<int>, int> avis(const RunProjet &)` : renvoie l'ordonnancement
|
||||||
et la durée totale restante
|
et la durée totale restante
|
||||||
|
|
||||||
#### Consultant
|
#### Consultant
|
||||||
|
|
|
@ -19,11 +19,16 @@ std::ostream &operator<<(std::ostream &out, const Consultant &data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::pair<std::vector<int>, int> Consultant::avis(const RunProjet &projet) {
|
std::pair<std::vector<int>, int> Consultant::avis(const RunProjet &projet) {
|
||||||
// TODO
|
const std::vector<const Tache *> taches = projet.consult_tasks();
|
||||||
int duree_totale = 0;
|
int duree_totale = 0;
|
||||||
for (const Tache *it : projet.consult_tasks()) {
|
for (const Tache *it : taches) {
|
||||||
duree_totale += it->get_duree_totale();
|
duree_totale += it->get_duree_totale();
|
||||||
}
|
}
|
||||||
|
|
||||||
return std::make_pair(std::vector<int>(), duree_totale);
|
std::vector<int> ordonnancement;
|
||||||
|
for (const Tache *it : taches) {
|
||||||
|
ordonnancement.push_back(it->unique_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::make_pair(ordonnancement, duree_totale);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,13 @@ std::ostream &operator<<(std::ostream &out, const Expert &data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::pair<std::vector<int>, int> Expert::avis(const RunProjet &projet) {
|
std::pair<std::vector<int>, int> Expert::avis(const RunProjet &projet) {
|
||||||
// TODO
|
const std::vector<const Tache *> taches = projet.consult_tasks();
|
||||||
const int duree_totale = projet.consult_tasks().front()->dureeParal();
|
const int duree_totale = taches.front()->dureeParal();
|
||||||
|
|
||||||
return std::make_pair(std::vector<int>(), duree_totale);
|
std::vector<int> ordonnancement;
|
||||||
|
for (const Tache *it : taches) {
|
||||||
|
ordonnancement.push_back(it->unique_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::make_pair(ordonnancement, duree_totale);
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue