|
|
@ -8,7 +8,7 @@ import {MatSort} from '@angular/material/sort'; |
|
|
|
|
|
|
|
|
|
|
|
import { CollaborateurDTO } from '@shared/api-swagger/model/models' |
|
|
|
import { CollaborateurDTO } from '@shared/api-swagger/model/models' |
|
|
|
import { CollaborateursService } from "@shared/api-swagger/api/api"; |
|
|
|
import { CollaborateursService } from "@shared/api-swagger/api/api"; |
|
|
|
|
|
|
|
import { CollaborateurConnecte } from "@shared/globales/collaborateur-connecte" |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Composant qui sert à l'affichage de la liste des collaborateurs en fonction de l'agence de son utilitateur. |
|
|
|
* Composant qui sert à l'affichage de la liste des collaborateurs en fonction de l'agence de son utilitateur. |
|
|
@ -36,11 +36,15 @@ export class CollaborateursComponent implements OnInit { |
|
|
|
/** |
|
|
|
/** |
|
|
|
* Rôle des collaborateurs à récupérer via le service collaborateur, ici nous ne voulons que les collaborateurs (pour le moment...). |
|
|
|
* Rôle des collaborateurs à récupérer via le service collaborateur, ici nous ne voulons que les collaborateurs (pour le moment...). |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
roles : string[] = ["collaborateur"]; |
|
|
|
roles : string[] = []; |
|
|
|
/** |
|
|
|
/** |
|
|
|
* Observable pour faire des requêtes sur le service collaborateur. |
|
|
|
* Observable pour faire des requêtes sur le service collaborateur. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private collaborateursDisponiblesSubscription : Subscription; |
|
|
|
private collaborateursDisponiblesSubscription : Subscription; |
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Observable pour faire des requêtes sur le service collaborateur. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
private collaborateursDisponiblesCountSubscription : Subscription; |
|
|
|
/** |
|
|
|
/** |
|
|
|
* Liste des colonnes du tableau à afficher. |
|
|
|
* Liste des colonnes du tableau à afficher. |
|
|
|
*/ |
|
|
|
*/ |
|
|
@ -60,6 +64,10 @@ export class CollaborateursComponent implements OnInit { |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
tri = ""; |
|
|
|
tri = ""; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bus = []; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
busIds: Array<number> = []; |
|
|
|
|
|
|
|
|
|
|
|
taille = 100; |
|
|
|
taille = 100; |
|
|
|
|
|
|
|
|
|
|
|
pageOption = [ 5, 15, 20, 30, 50]; |
|
|
|
pageOption = [ 5, 15, 20, 30, 50]; |
|
|
@ -80,11 +88,10 @@ export class CollaborateursComponent implements OnInit { |
|
|
|
* Spécifie si la liste des collaborateurs est en cours de chargement dans le tableau. |
|
|
|
* Spécifie si la liste des collaborateurs est en cours de chargement dans le tableau. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
chargement = true; |
|
|
|
chargement = true; |
|
|
|
constructor(private service: CollaborateursService) {} |
|
|
|
constructor(private service: CollaborateursService, private collaborateurConnecte: CollaborateurConnecte) {} |
|
|
|
|
|
|
|
|
|
|
|
ngOnInit() { |
|
|
|
ngOnInit() { |
|
|
|
this.updateDataSource(); |
|
|
|
this.setBUsId(); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
@ -93,23 +100,38 @@ export class CollaborateursComponent implements OnInit { |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
updateDataSource() { |
|
|
|
updateDataSource() { |
|
|
|
//récupérer la liste des collaborateur et mettre à jour le tableau
|
|
|
|
//récupérer la liste des collaborateur et mettre à jour le tableau
|
|
|
|
this.collaborateursDisponiblesSubscription = this.service.getCollaborateurs(this.roles,[1],this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( |
|
|
|
this.collaborateursDisponiblesSubscription = this.service.getCollaborateurs(this.roles, this.busIds, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( |
|
|
|
collaborateurs => { console.log(collaborateurs); this.dataSource = new MatTableDataSource(collaborateurs);}, |
|
|
|
collaborateurs => { console.log(collaborateurs); this.dataSource = new MatTableDataSource(collaborateurs);}, |
|
|
|
err => console.log(err) |
|
|
|
err => console.log(err) |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
this.collaborateursDisponiblesCountSubscription = this.service.getCollaborateursCount(this.roles, this.busIds,this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( |
|
|
|
|
|
|
|
count => { console.log(count); this.taille=count;}, |
|
|
|
|
|
|
|
err => console.log(err) |
|
|
|
|
|
|
|
); |
|
|
|
//this.dataSource.paginator = this.paginator;
|
|
|
|
//this.dataSource.paginator = this.paginator;
|
|
|
|
//this.dataSource.sort = this.sort;
|
|
|
|
//this.dataSource.sort = this.sort;
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
updatePageInfo(event) : PageEvent{ |
|
|
|
updatePageInfo(event) : PageEvent{ |
|
|
|
console.log("update") |
|
|
|
|
|
|
|
console.log(event); |
|
|
|
|
|
|
|
this.parPage = event.pageSize; |
|
|
|
this.parPage = event.pageSize; |
|
|
|
this.numPage = event.pageIndex+1; |
|
|
|
this.numPage = event.pageIndex+1; |
|
|
|
this.updateDataSource(); |
|
|
|
this.updateDataSource(); |
|
|
|
return event; |
|
|
|
return event; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setSearch() { |
|
|
|
|
|
|
|
this.numPage = 1; |
|
|
|
|
|
|
|
this.updateDataSource(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resetSearch() { |
|
|
|
|
|
|
|
this.search = ""; |
|
|
|
|
|
|
|
this.numPage =1; |
|
|
|
|
|
|
|
this.updateDataSource(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Fonction qui calculait le nombre d'année qu'un collaborateur a passé chez Apside (calculer entre la date d'aujourd'hui et la date d'arrivée du collaborateur). |
|
|
|
* Fonction qui calculait le nombre d'année qu'un collaborateur a passé chez Apside (calculer entre la date d'aujourd'hui et la date d'arrivée du collaborateur). |
|
|
|
*/ |
|
|
|
*/ |
|
|
@ -117,6 +139,31 @@ export class CollaborateursComponent implements OnInit { |
|
|
|
return Math.abs(firstDate-secondDate); |
|
|
|
return Math.abs(firstDate-secondDate); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setBUsId() { |
|
|
|
|
|
|
|
if(this.collaborateurConnecte.collaborateur == undefined) { |
|
|
|
|
|
|
|
setTimeout( () => this.setBUsId(), 1000); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else { |
|
|
|
|
|
|
|
this.bus = this.collaborateurConnecte.collaborateur.businessUnit.agence.bu; |
|
|
|
|
|
|
|
for(let bu of this.bus) { |
|
|
|
|
|
|
|
this.busIds.push(bu.id); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
this.updateDataSource(); |
|
|
|
|
|
|
|
this.chargement = false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
updateCheckbox(event, bu) { |
|
|
|
|
|
|
|
if(event) { |
|
|
|
|
|
|
|
this.busIds.push(bu.id) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else{ |
|
|
|
|
|
|
|
this.busIds = this.busIds.filter( (id) => id != bu.id); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
this.numPage = 1; |
|
|
|
|
|
|
|
this.updateDataSource(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Une fois la page fermée, il est nécessaire de se désabonner des Oberservable afin d'éviter les fuites mémoires. |
|
|
|
* Une fois la page fermée, il est nécessaire de se désabonner des Oberservable afin d'éviter les fuites mémoires. |
|
|
|
*/ |
|
|
|
*/ |
|
|
@ -124,5 +171,8 @@ export class CollaborateursComponent implements OnInit { |
|
|
|
if(this.collaborateursDisponiblesSubscription != undefined) { |
|
|
|
if(this.collaborateursDisponiblesSubscription != undefined) { |
|
|
|
this.collaborateursDisponiblesSubscription.unsubscribe(); |
|
|
|
this.collaborateursDisponiblesSubscription.unsubscribe(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(this.collaborateursDisponiblesCountSubscription != undefined) { |
|
|
|
|
|
|
|
this.collaborateursDisponiblesCountSubscription.unsubscribe(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|