@SuppressWarnings("unchecked") @Path("/encadrant/{id}") @GET @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public List<Collaborateur> getCollaborateurByEncadrant(@PathParam("id") int id) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); List<Collaborateur> collaborateurs = null; try { session.beginTransaction(); Encadrant encadrant = (Encadrant) session.get(Encadrant.class, new Long(id)); if (encadrant != null) { collaborateurs = session .createQuery( "select distinct col from Collaborateur as col join col.fichesEvaluations as fiche" + " join fiche.evaluations as eval where eval.encadrant = :encadrant") .setEntity("encadrant", encadrant) .list(); } session.getTransaction().commit(); } catch (Exception e) { if (session.getTransaction() != null) session.getTransaction().rollback(); } finally { if (session.isOpen()) { session.close(); } } return collaborateurs; }
@Path("{id}") @PUT @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public Collaborateur modifierCollaborateur(Collaborateur collaborateur) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); try { session.beginTransaction(); String mdp = (String) session .createQuery( "select col.motDePasse from Collaborateur col WHERE col = :collaborateur") .setEntity("collaborateur", collaborateur) .uniqueResult(); if (!collaborateur.getMotDePasse().equals(mdp)) collaborateur.setMotDePasse( Security.get_SHA_1_SecurePassword(collaborateur.getMotDePasse())); session.update(collaborateur); session.getTransaction().commit(); } catch (Exception e) { if (session.getTransaction() != null) session.getTransaction().rollback(); } finally { if (session.isOpen()) { session.close(); } } return collaborateur; }
@SuppressWarnings("unchecked") @Path("/managerrh/{id}") @GET @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public List<Collaborateur> getCollaborateurByManagerRh(@PathParam("id") int id) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); List<Collaborateur> collaborateurs = null; try { session.beginTransaction(); ManagerRh managerRh = (ManagerRh) session.get(ManagerRh.class, new Long(id)); if (managerRh != null) { collaborateurs = session .createQuery( " select col from Collaborateur col, ManagerRh man" + " where man = :managerrh AND col IN elements(man.collaborateurs)") .setEntity("managerRh", managerRh) .list(); } session.getTransaction().commit(); } catch (Exception e) { if (session.getTransaction() != null) session.getTransaction().rollback(); } finally { if (session.isOpen()) { session.close(); } } return collaborateurs; }
@SuppressWarnings("unchecked") @Path("/bapstatut/{idencadrant}/{statut}") @GET @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public List<Collaborateur> getCollaborateurByBapStatut( @PathParam("idencadrant") int id, @PathParam("statut") StatutBAP statut) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); List<Collaborateur> collaborateurs = null; try { session.beginTransaction(); ManagerRh managerRh = (ManagerRh) session.get(ManagerRh.class, new Long(id)); if (managerRh != null) { collaborateurs = session .createQuery( "select distinct col" + " from Collaborateur as col, BAP as bap" + " where bap.ficheObjectifsTraites IN elements(col.ficheObjectifs)" + " AND bap.statut = :statut" + " AND col.managerRh = :managerRh") .setString("statut", statut.name()) .setEntity("managerRh", managerRh) .list(); } session.getTransaction().commit(); } catch (Exception e) { if (session.getTransaction() != null) session.getTransaction().rollback(); } finally { if (session.isOpen()) { session.close(); } } return collaborateurs; }
@Path("{id}") @GET @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public Collaborateur getCollaborateurById(@PathParam("id") int id) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Collaborateur collaborateur = null; try { session.beginTransaction(); collaborateur = (Collaborateur) session.get(Collaborateur.class, new Long(id)); session.getTransaction().commit(); } catch (Exception e) { if (session.getTransaction() != null) session.getTransaction().rollback(); } finally { if (session.isOpen()) { session.close(); } } return collaborateur; }
@SuppressWarnings("unchecked") @GET @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public List<Collaborateur> getAllCollaborateurs() { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); List<Collaborateur> collaborateurs = null; try { session.beginTransaction(); collaborateurs = session.createQuery("from Collaborateur").list(); session.getTransaction().commit(); } catch (Exception e) { if (session.getTransaction() != null) session.getTransaction().rollback(); } finally { if (session.isOpen()) { session.close(); } } return collaborateurs; }
@POST @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public Collaborateur ajouterCollaborateur(Collaborateur collaborateur) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); try { session.beginTransaction(); collaborateur.setMotDePasse(Security.get_SHA_1_SecurePassword(collaborateur.getMotDePasse())); session.save(collaborateur); session.getTransaction().commit(); } catch (Exception e) { if (session.getTransaction() != null) session.getTransaction().rollback(); } finally { if (session.isOpen()) { session.close(); } } return collaborateur; }
@Path("{idmanager}") @POST @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public Collaborateur ajouterCollaborateurWithManager( Collaborateur collaborateur, @PathParam("idmanager") int idManager) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); try { session.beginTransaction(); ManagerRh managerRh = (ManagerRh) session.get(ManagerRh.class, new Long(idManager)); if (managerRh != null) { collaborateur.setMotDePasse( Security.get_SHA_1_SecurePassword(collaborateur.getMotDePasse())); session.save(collaborateur); SQLQuery query = session.createSQLQuery( "update collaborateur set id_manager = " + managerRh.getId() + " where id = " + collaborateur.getId()); query.executeUpdate(); BAP nouveauBap = new BAP(); Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); cal.add(Calendar.YEAR, 1); nouveauBap.setDateBilan(cal.getTime()); nouveauBap.setStatut(StatutBAP.EN_ATTENTE); nouveauBap.setCollaborateur(collaborateur); FicheEvaluations ficheEvaluation = new FicheEvaluations(); ficheEvaluation.setAutorisationAcces(false); ficheEvaluation.setDateEvaluation(new Date()); ficheEvaluation.setNoteFinale(0); FicheObjectifs ficheObjectifs = new FicheObjectifs(); ficheObjectifs.setAutorisationAcces(false); ficheObjectifs.setDateFicheObjectifs(new Date()); nouveauBap.setFicheEvaluations(ficheEvaluation); nouveauBap.setFicheObjectifsTraites(ficheObjectifs); nouveauBap.setNombreRejet(0); session.save(nouveauBap); session.getTransaction().commit(); session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); session.update(ficheObjectifs); session.getTransaction().commit(); session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); session.update(ficheEvaluation); session.getTransaction().commit(); session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); session.update(nouveauBap.getCollaborateur()); } session.getTransaction().commit(); } catch (Exception e) { if (session.getTransaction() != null) session.getTransaction().rollback(); } finally { if (session.isOpen()) { session.close(); } } return collaborateur; }