|
|
|
@ -9,10 +9,11 @@ import {MatSort} from '@angular/material/sort'; |
|
|
|
|
|
|
|
|
|
import { ServiceCollaborateur, ServiceEP } from "../../service"; |
|
|
|
|
import { CollaborateurModel } from "../../modeles/modele-collaborateur"; |
|
|
|
|
import { EpModel } from "../../modeles/modele-ep"; |
|
|
|
|
import { EpModel } from "../../api-swagger/model/epModel"; |
|
|
|
|
import { DisplayEP } from "../../utils/displayEP"; |
|
|
|
|
import { DefaultService } from "../../api-swagger/api/api"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Le composant home qui sera affiché uniquement pour les assistantes. |
|
|
|
|
* Cette interface affiche la liste des EP disponibles et en cours, de les trier et de faire une recherche avec la barre de recherche mais aussi choisir un intervalle de dates. |
|
|
|
@ -45,7 +46,8 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit { |
|
|
|
|
/** |
|
|
|
|
* liste des titres des colonnes du tableau. |
|
|
|
|
*/ |
|
|
|
|
displayedColumns: string[] = ["agence", "info", "datemail", "dateentretien", "etat", "type"]; |
|
|
|
|
//displayedColumns: string[] = ["agence", "info", "datemail", "dateentretien", "etat", "type"];
|
|
|
|
|
displayedColumns: string[] = ["agence", "collaborateur", "anciennete", "referent", "type", "etat", "datemail", "dateentretien" ]; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* source pour l'affichage des EP dans le tableau qui est affichée. |
|
|
|
@ -77,7 +79,6 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ngAfterViewInit() { |
|
|
|
|
console.log("VIEWINITED"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -85,34 +86,65 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit { |
|
|
|
|
* Initialisation de l'affichage des EP dans le tableau. |
|
|
|
|
*/ |
|
|
|
|
initDisplay(eps) { |
|
|
|
|
console.log("INITDISPLAY"); |
|
|
|
|
this.epDisponibles = [] |
|
|
|
|
let epDisplay : DisplayEP; |
|
|
|
|
let today = new Date(); |
|
|
|
|
for(let ep of eps) { |
|
|
|
|
epDisplay = new DisplayEP(); |
|
|
|
|
epDisplay.id = ep.id; |
|
|
|
|
epDisplay.agence = ep.collaborateur.agence; |
|
|
|
|
epDisplay.info = ep.collaborateur.nom+" "+ep.collaborateur.prenom; |
|
|
|
|
epDisplay.agence = ep.collaborateur.bu.nom; |
|
|
|
|
epDisplay.collaborateur = ep.collaborateur; |
|
|
|
|
epDisplay.referent = ep.referent; |
|
|
|
|
epDisplay.dateentretien = ep.dateEntretien; |
|
|
|
|
epDisplay.datemail = ep.dateDisponibilite; |
|
|
|
|
epDisplay.etat = ep.etat; |
|
|
|
|
epDisplay.type = ep.type; |
|
|
|
|
epDisplay.type = ep.typeEP; |
|
|
|
|
epDisplay.anciennete = this.setAnciennete(new Date(ep.collaborateur.dateEmbauche), today); |
|
|
|
|
epDisplay.annee = Math.floor(epDisplay.anciennete / 31536000000); |
|
|
|
|
epDisplay.mois = Math.floor(epDisplay.anciennete / 2629800000 % 12); |
|
|
|
|
this.epDisponibles.push(epDisplay); |
|
|
|
|
} |
|
|
|
|
this.epFiltre = this.epDisponibles; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
getAnciennete(anciennete) { |
|
|
|
|
let annee = Math.floor(anciennete / 31536000000); |
|
|
|
|
let mois = Math.floor(anciennete/ 2629800000 % 12); |
|
|
|
|
return annee + " an(s) et "+ mois+" mois"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
setAnciennete(firstDate, secondDate) { |
|
|
|
|
return Math.abs(firstDate-secondDate); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
getEtat(etat) { |
|
|
|
|
let res = ""; |
|
|
|
|
switch(etat) { |
|
|
|
|
case 1: |
|
|
|
|
res= "Disponible"; |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
res= "Saisi"; |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
res= "Dates proposées"; |
|
|
|
|
break; |
|
|
|
|
case 4: |
|
|
|
|
res= "Entretien prévu"; |
|
|
|
|
break; |
|
|
|
|
case 5: |
|
|
|
|
res= "Attente Signature"; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
return res; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Mise à jour du tableau lorsque qu'un tri est fait via les checkboxes. |
|
|
|
|
*/ |
|
|
|
|
refreshDataSource() { |
|
|
|
|
console.log("REFRESH"); |
|
|
|
|
//this.epFiltre = this.epDisponibles;
|
|
|
|
|
this.dataSource = new MatTableDataSource(this.epFiltre); |
|
|
|
|
console.log(this.dataSource.paginator); |
|
|
|
|
this.dataSource.paginator = this.paginator; |
|
|
|
|
console.log(this.dataSource.paginator); |
|
|
|
|
console.log(this.paginator); |
|
|
|
|
this.dataSource.sort = this.sort; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -120,9 +152,9 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit { |
|
|
|
|
* Récupérer la liste des EP Disponibles dès l'initialisation. |
|
|
|
|
*/ |
|
|
|
|
ngOnInit() { |
|
|
|
|
console.log("INIT"); |
|
|
|
|
//this.epDisponiblesSubscription = this.serviceEP.listeEPDisponibles().
|
|
|
|
|
this.epDisponiblesSubscription = this.service.epProchainsGet(). |
|
|
|
|
//this.epDisponiblesSubscription = this.service.collaborateursBuIdBuGet("ORL").
|
|
|
|
|
this.epDisponiblesSubscription = this.service.epProchainsBuIdBuGet("ORL"). |
|
|
|
|
subscribe(eps => { |
|
|
|
|
this.initDisplay(eps); |
|
|
|
|
this.refreshDataSource(); |
|
|
|
@ -144,7 +176,6 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit { |
|
|
|
|
* Détruire toutes les Subscriptions utilisées pour libérer de la mémoire après le changement de page. |
|
|
|
|
*/ |
|
|
|
|
ngOnDestroy() { |
|
|
|
|
console.log("DESTROY"); |
|
|
|
|
if(this.epDisponiblesSubscription != null) { |
|
|
|
|
this.epDisponiblesSubscription.unsubscribe(); |
|
|
|
|
} |
|
|
|
|