Possibilité de ne récupérer que les EP obligatoires dans la page assistant

develop
Yanaël GRETTE 4 years ago
parent d6192d422f
commit 0a0966f398
  1. 78
      src/app/shared/api-swagger/api/ep.service.ts
  2. 30
      src/app/shared/mat-tables/ep-table/ep-table.html
  3. 17
      src/app/shared/mat-tables/ep-table/ep-table.ts

@ -208,27 +208,29 @@ export class EpService {
* @param idBUs liste des ids des BU auxquelles les données sont rattachées
* @param asc Indique si les données sont récupérées dans l'ordre croissant ou non
* @param numPage Numéro de la page du tableau à afficher
* @param parPAge Nombre délément maximum à afficher dans le tableau
* @param parPage Nombre délément maximum à afficher dans le tableau
* @param texte Texte permettant de filtrer les données
* @param epObligatoire Récupérer la liste des EP obligatoires
* @param tri Colonne du tableau sur lequel le tri devra être effectué
* @param dateDebut Date à partir de laquelle les données son récupérées
* @param dateFin Date jusqu'à laquelle les données sont récupérées
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
public getEPEnCours(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable<Array<EpInformationDTO>>;
public getEPEnCours(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<EpInformationDTO>>>;
public getEPEnCours(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<EpInformationDTO>>>;
public getEPEnCours(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
public getEPEnCours(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPage?: number, texte?: string, epObligatoire?: boolean, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable<Array<EpInformationDTO>>;
public getEPEnCours(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPage?: number, texte?: string, epObligatoire?: boolean, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<EpInformationDTO>>>;
public getEPEnCours(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPage?: number, texte?: string, epObligatoire?: boolean, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<EpInformationDTO>>>;
public getEPEnCours(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPage?: number, texte?: string, epObligatoire?: boolean, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});
if (idBUs) {
idBUs.forEach((element) => {
@ -241,12 +243,15 @@ export class EpService {
if (numPage !== undefined && numPage !== null) {
queryParameters = queryParameters.set('numPage', <any>numPage);
}
if (parPAge !== undefined && parPAge !== null) {
queryParameters = queryParameters.set('parPAge', <any>parPAge);
if (parPage !== undefined && parPage !== null) {
queryParameters = queryParameters.set('parPage', <any>parPage);
}
if (texte !== undefined && texte !== null) {
queryParameters = queryParameters.set('texte', <any>texte);
}
if (epObligatoire !== undefined && epObligatoire !== null) {
queryParameters = queryParameters.set('epObligatoire', <any>epObligatoire);
}
if (tri !== undefined && tri !== null) {
queryParameters = queryParameters.set('tri', <any>tri);
}
@ -390,49 +395,34 @@ export class EpService {
*
* Récupérer le nombre total dEP en cours.
* @param idBUs liste des ids des BU auxquelles les données sont rattachées
* @param asc Indique si les données sont récupérées dans l&#x27;ordre croissant ou non
* @param numPage Numéro de la page du tableau à afficher
* @param parPAge Nombre délément maximum à afficher dans le tableau
* @param texte Texte permettant de filtrer les données
* @param tri Colonne du tableau sur lequel le tri devra être effectué
* @param epObligatoire Récupérer la liste des EP obligatoires
* @param dateDebut Date à partir de laquelle les données son récupérées
* @param dateFin Date jusqu&#x27;à laquelle les données sont récupérées
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
public getEPEnCoursCount(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable<number>;
public getEPEnCoursCount(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<number>>;
public getEPEnCoursCount(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<number>>;
public getEPEnCoursCount(idBUs?: Array<number>, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
public getEPEnCoursCount(idBUs?: Array<number>, texte?: string, epObligatoire?: boolean, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable<number>;
public getEPEnCoursCount(idBUs?: Array<number>, texte?: string, epObligatoire?: boolean, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<number>>;
public getEPEnCoursCount(idBUs?: Array<number>, texte?: string, epObligatoire?: boolean, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<number>>;
public getEPEnCoursCount(idBUs?: Array<number>, texte?: string, epObligatoire?: boolean, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {
let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});
if (idBUs) {
idBUs.forEach((element) => {
queryParameters = queryParameters.append('idBUs', <any>element);
})
}
if (asc !== undefined && asc !== null) {
queryParameters = queryParameters.set('asc', <any>asc);
}
if (numPage !== undefined && numPage !== null) {
queryParameters = queryParameters.set('numPage', <any>numPage);
}
if (parPAge !== undefined && parPAge !== null) {
queryParameters = queryParameters.set('parPAge', <any>parPAge);
}
if (texte !== undefined && texte !== null) {
queryParameters = queryParameters.set('texte', <any>texte);
}
if (tri !== undefined && tri !== null) {
queryParameters = queryParameters.set('tri', <any>tri);
if (epObligatoire !== undefined && epObligatoire !== null) {
queryParameters = queryParameters.set('epObligatoire', <any>epObligatoire);
}
if (dateDebut !== undefined && dateDebut !== null) {
queryParameters = queryParameters.set('dateDebut', <any>dateDebut.toISOString());

@ -35,22 +35,30 @@
<ng-container *ngIf="rechercherParDate">
<!-- Datepicker début -->
<mat-form-field >
<mat-label>Date de début</mat-label>
<input [(ngModel)]="dateDebut" matInput [matDatepicker]="dateDebutPicker" [max]="dateFin" disabled (dateChange)="updateDataSource()">
<mat-icon *ngIf="this.dateDebut != undefined" matDatepickerToggleIcon (click)="updateDateToUndefined(1)">clear</mat-icon>
<mat-datepicker-toggle matSuffix [for]="dateDebutPicker"></mat-datepicker-toggle>
<mat-datepicker touchUi #dateDebutPicker disabled="false"></mat-datepicker>
<mat-label>Date de début</mat-label>
<input [(ngModel)]="dateDebut" matInput [matDatepicker]="dateDebutPicker" [max]="dateFin" disabled (dateChange)="updateDataSource()">
<mat-icon *ngIf="this.dateDebut != undefined" matDatepickerToggleIcon (click)="updateDateToUndefined(1)">clear</mat-icon>
<mat-datepicker-toggle matSuffix [for]="dateDebutPicker"></mat-datepicker-toggle>
<mat-datepicker touchUi #dateDebutPicker disabled="false"></mat-datepicker>
</mat-form-field>
<!-- Datepicker fin -->
<mat-form-field>
<mat-label>Date de fin</mat-label>
<input [(ngModel)]="dateFin" matInput [matDatepicker]="dateFinPicker" [min]="dateDebut" disabled (dateChange)="updateDataSource()">
<mat-icon *ngIf="this.dateFin != undefined" matDatepickerToggleIcon (click)="updateDateToUndefined(2)">clear</mat-icon>
<mat-datepicker-toggle matSuffix [for]="dateFinPicker"></mat-datepicker-toggle>
<mat-datepicker touchUi #dateFinPicker disabled="false"></mat-datepicker>
<mat-label>Date de fin</mat-label>
<input [(ngModel)]="dateFin" matInput [matDatepicker]="dateFinPicker" [min]="dateDebut" disabled (dateChange)="updateDataSource()">
<mat-icon *ngIf="this.dateFin != undefined" matDatepickerToggleIcon (click)="updateDateToUndefined(2)">clear</mat-icon>
<mat-datepicker-toggle matSuffix [for]="dateFinPicker"></mat-datepicker-toggle>
<mat-datepicker touchUi #dateFinPicker disabled="false"></mat-datepicker>
</mat-form-field>
</ng-container>
</ng-container>
<div>
<mat-slide-toggle *ngIf="typeRechercheEP == epTypeRecherche.EPEnCours " (change)="updateToggle($event)" color="primary" [checked]="epObligatoires">
EP obligatoires
</mat-slide-toggle>
</div>
<mat-table matSort [dataSource]="dataSource" (matSortChange)="triTableau($event)" matSortDirection="asc">
<ng-container matColumnDef="agence">

@ -1,4 +1,5 @@
import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
import { MatSlideToggleChange } from "@angular/material/slide-toggle";
import { MatTableDataSource } from "@angular/material/table";
import { affichageStatut, BusinessUnitDTO, CollaborateurDTO, EpInformationDTO, EpService, estEnAttente, StatutEp, TypeEp } from "@shared/api-swagger";
import { cles, epTypeRecherche } from "@shared/utils/cles";
@ -11,6 +12,7 @@ import { Subscription } from "rxjs";
export class EpTableComponent implements OnInit{
chargement: boolean = true;
epTypeRecherche :any = epTypeRecherche;
/**
* * Ordre de tri à envoyer au serveur (true : croissant, false : décroissantà).
@ -57,6 +59,11 @@ export class EpTableComponent implements OnInit{
*/
private busIds: Array<number> = [];
/**
* Permet d'indiquer si l'on ne récupère que les EP obligatoires ou non (lors de la récupération des EP en cours uniquement)
*/
epObligatoires: boolean = false;
dateDebut : Date;
dateFin: Date;
@ -149,10 +156,11 @@ export class EpTableComponent implements OnInit{
}
getEPEnCours() {
this.epSubscription = this.epService.getEPEnCours(this.busIds, this.asc, this.numPage, this.parPage, this.search, this.tri, this.dateDebut, this.dateFin).subscribe(
console.log(this.epObligatoires);
this.epSubscription = this.epService.getEPEnCours(this.busIds, this.asc, this.numPage, this.parPage, this.search, this.epObligatoires, this.tri, this.dateDebut, this.dateFin).subscribe(
eps => {
this.dataSource = new MatTableDataSource(eps);
this.epCountSubscription = this.epService.getEPEnCoursCount(this.busIds, this.asc, this.numPage, this.parPage, this.search, this.tri, this.dateDebut, this.dateFin).subscribe(
this.epCountSubscription = this.epService.getEPEnCoursCount(this.busIds,this.search, this.epObligatoires, this.dateDebut, this.dateFin).subscribe(
count => {
console.log(count);
this.taille = count
@ -186,6 +194,11 @@ export class EpTableComponent implements OnInit{
);
}
updateToggle(event :MatSlideToggleChange) {
this.epObligatoires = event.checked;
this.updateDataSource();
}
/**
* création de la liste des business unit du collaborateur connecté pour afficher les checkboxes
*/

Loading…
Cancel
Save