Début de mise en place des services avec fonctionnement du service collaborateur (test fait depuis home-assistante)

master
Yanaël GRETTE 4 years ago
parent f7ab45774b
commit d2dc0511dc
  1. 3
      src/app/angular-material/angular-material.module.ts
  2. 18
      src/app/app.module.ts
  3. 39
      src/app/home/home-assistante/home-assistante.component.ts
  4. 9
      src/app/modeles/modele-collaborateur.ts
  5. 42
      src/app/modeles/modele-ep.ts
  6. 27
      src/app/modeles/modele-formation.ts
  7. 3
      src/app/service/index.ts
  8. 23
      src/app/service/service-collaborateur.ts
  9. 13
      src/app/service/service-ep.ts
  10. 16
      src/app/service/service-formation.ts
  11. 0
      src/app/service/service.ts
  12. 7
      src/app/utils/path-values-collaborateurs.ts
  13. 28
      src/app/utils/path-values-ep.ts
  14. 18
      src/app/utils/path-values-formations.ts
  15. 0
      src/app/utils/path-values.ts
  16. 1
      src/environments/app-version.ts
  17. 8
      src/environments/environment.ts
  18. 2
      src/environments/index.ts

@ -7,11 +7,12 @@ import {MatCardModule} from '@angular/material/card';
import { MatButtonModule } from '@angular/material/button';
import {MatMenuModule} from '@angular/material/menu';
import {MatIconModule} from '@angular/material/icon';
import {MatTableModule} from '@angular/material/table';
@NgModule({
exports : [MatCardModule,
MatButtonModule, MatMenuModule,
MatIconModule
MatIconModule, MatTableModule
]
})
export class MaterialModule {}

@ -1,5 +1,7 @@
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule, DoBootstrap } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { KeycloakAngularModule, KeycloakService } from 'keycloak-angular';
@ -10,11 +12,17 @@ import { MaterialModule } from "./angular-material/angular-material.module";
import { HomeComponent, HomeAssistanteComponent, HomeCollaborateurComponent,
HomeCommercialComponent, HomeRHComponent } from './home';
import { ServiceEP, ServiceFormation, ServiceCollaborateur } from "./service"
import { NavMenuComponent, NavMenuAssistanteComponent,
NavMenuCollaborateurComponent, NavMenuCommercialComponent, NavMenuRHComponent } from "./nav-menu";
import { environment } from '../environments/environment';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
let keycloakService: KeycloakService = new KeycloakService();
@ -29,13 +37,17 @@ let keycloakService: KeycloakService = new KeycloakService();
KeycloakAngularModule,
AppRoutingModule,
BrowserAnimationsModule,
MaterialModule
MaterialModule,
HttpClientModule
],
providers: [
{
provide: KeycloakService,
useValue: keycloakService
}
},
ServiceEP,
ServiceCollaborateur,
ServiceFormation
],
entryComponents: [AppComponent]
})

@ -1,13 +1,48 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Observable, Subscription } from 'rxjs';
import { ServiceCollaborateur } from "../../service";
import { CollaborateurModel } from "../../modeles/modele-collaborateur";
@Component({
selector : 'home-assistante',
templateUrl : 'home-assistante.component.html'
})
export class HomeAssistanteComponent implements OnInit {
constructor() {
private collabListSubscription : Subscription;
private collab1Subscription : Subscription;
private collab2Subscription : Subscription;
private listeCollaborateurs : CollaborateurModel[];
constructor(private serviceCollaborateur : ServiceCollaborateur) {
this.collabListSubscription = this.serviceCollaborateur.listeCollaborateurs().
subscribe(collaborateurs => this.test(collaborateurs));
let params = { mail : "angelique@apside.com"};
this.collab1Subscription = this.serviceCollaborateur.getCollaborateurByParam(params).
subscribe(collaborateurs => this.test2(collaborateurs));
let params2 = { id : 1 };
this.collab2Subscription = this.serviceCollaborateur.getCollaborateurByParam(params2).
subscribe(collaborateurs => this.test2(collaborateurs));
}
test(collaborateurs) {
for(let collaborateur of collaborateurs) {
console.log(collaborateur);
}
}
test2(collaborateur) {
console.log(collaborateur);
}
ngOnInit() {
}
ngOnDestroy() {
if(this.collabListSubscription != null) {
this.collabListSubscription.unsubscribe();
}
}
}

@ -0,0 +1,9 @@
export class CollaborateurModel {
id? : number;
nom? : string;
prenom? : string;
adresse? : string;
agence? : string;
mail? : string;
fonction? : string
};

@ -0,0 +1,42 @@
export interface EpModel {
idEp? : number;
type? : string;
dateDisponibilité? : Date;
dateSaisie? : Date;
etat? : string;
cv? : string;
dateEntretien? : Date;
typeEntretien? : string;
commentaireCommercial? : string;
augmentationSalaire? : AugmentationSalaire;
rdvEntretien? : RDVEntretien;
augmentationSalaire? : AugmentationSalaire;
participants? : Participant;
engagement? : Engagement
};
export interface AugmentationSalaireModel {
idAugmentationSalaire? : number;
nouveauSalaire? : number;
dateDemande? : number
};
export interface RDVEntretienModel {
idRDV? : number;
typeEntretien? :string;
dateEntretien? : Date
};
export interface EngagementModel {
idEngagement? : number;
engagement? : string;
dateLimie? : Date
};
export interface ParticipantModel {
idParticipant? : number;
idCollaborateur? : number;
role? : string
};

@ -0,0 +1,27 @@
export interface FormationModel {
idFormation? : number;
intitule? : string;
dateDebut? : Date;
dateFin? : Date;
statut? : string;
lieu? : string;
duree? : number;
organisme? : string;
nomFormateur : string
};
export interface DemandeFormationModel {
idDemandeFormation? : number;
idEp? : number;
statut? : string;
libelle? : string;
description? : string;
theme : Theme
};
export interface ThemeModel {
idTheme : number;
nom : string
};

@ -0,0 +1,3 @@
export * from "./service-ep";
export * from "./service-formation";
export * from "./service-collaborateur";

@ -0,0 +1,23 @@
import { Injectable } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { urlCollaborateur } from "../utils/path-values-collaborateurs";
import { CollaborateurModel } from "../modeles/modele-collaborateur";
@Injectable({
providedIn : 'root'
})
export class ServiceCollaborateur {
constructor(private http: HttpClient) {
}
listeCollaborateurs() : Observable<CollaborateurModel[]> {
return this.http.get<CollaborateurModel[]>(urlCollaborateur);
}
getCollaborateurByParam(params) : Observable<CollaborateurModel> {
return this.http.get<CollaborateurModel>(urlCollaborateur, { params });
}
}

@ -0,0 +1,13 @@
import { Injectable } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { Observable } from "rxjs";
@Injectable({
providedIn : 'root'
})
export class ServiceEP {
constructor(private http: HttpClient) {
}
}

@ -0,0 +1,16 @@
import { Injectable } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { Observable } from "rxjs";
@Injectable({
providedIn : 'root'
})
export class ServiceFormation {
constructor(private http: HttpClient) {
}
}

@ -0,0 +1,7 @@
import { environment } from '../../environments/environment';
const baseUrl = environment.serveurConfig.url;
const urlCollaborateur = baseUrl+"/collaborateurs";
export { urlCollaborateur };

@ -0,0 +1,28 @@
import { environment } from '../../environments/environment';
const baseUrl = environment.serveurConfig.url;
const urlEP = baseUrl+"/ep";
const prochainsEPReferent = urlEP+"/prochains";
const epDisponibles = urlEP+"/disponible";
const epCollaborateur = urlEP+"/collaborateur";
const epReferent = urlEP+"/referent";
const prochainEpCollaborateur = urlEP+"/prochain";
const envoieEP = urlEP+"/envoieep";
const propositionDate = urlEP+"/propositiondate";
const rappelSignature = urlEP+"/rappelSignature";
const epi = urlEP+"/epi";
export const urlsEP = {
urlEP,
prochainsEPReferent,
epDisponibles,
epCollaborateur,
epReferent,
prochainEpCollaborateur,
envoieEP,
propositionDate,
rappelSignature,
epi
};

@ -0,0 +1,18 @@
import { environment } from '../../environments/environment';
const baseUrl = environment.serveurConfig.url;
const urlFormation = baseUrl+"/formations";
const newFormation = urlFormation+"/new";
const updateFormation = urlFormation+"/update";
const evaluationsFormation = urlFormation+"/evaluations";
const evaluerFormation = urlFormation+"/evaluer";
const evaluationCollaborateur = urlFormation+"/collaborateur";
const urlDemandesFormation = urlFormation+/"demandesFormation";
export const urlsFormation = {
urlFormation,
newFf
urlDemandesFormation
};

@ -0,0 +1 @@
export const appVersion = '1.0.0';

@ -11,11 +11,15 @@ const keycloakConfig: KeycloakConfig = {
clientId: 'GestionEPA'
};
const serveurConfig = {
url : "http://localhost:3000"
//url : "http:localhost:3000/api"
}
export const environment = {
production: false,
keycloakConfig
keycloakConfig,
serveurConfig
};
/*

@ -0,0 +1,2 @@
export * from './app-version';
export * from './environment';
Loading…
Cancel
Save