public static void main(String[] args) { EntityManagerFactory factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); EntityManager em = factory.createEntityManager(); if (em.isOpen()) System.out.println("haha"); em.getTransaction().begin(); Personnel p = new Personnel(); p.setNom("test"); p.setPrenom("test2"); p.setFonction("test3"); p.setNaissance("naissance"); em.persist(p); em.getTransaction().commit(); em.close(); }
@Override protected Predicate getFilter(Root<Patient> root, CriteriaBuilder builder) { ImogActor actor = ImogActorUtils.getCurrentActor(); if (actor == null) { actor = HttpSessionUtil.getCurrentUser(); } if (actor instanceof Personnel) { Personnel personnel = (Personnel) actor; String niveau = personnel.getNiveau(); if ("1".equals(niveau)) { Path<?> join = DaoUtil.getCascadeRoot(root.join("centres", JoinType.LEFT), "region.id"); return builder.equal(join, personnel.getRegion().getId()); } else if ("2".equals(niveau)) { Path<?> join = DaoUtil.getCascadeRoot(root.join("centres", JoinType.LEFT), "districtSante.id"); return builder.equal(join, personnel.getDistrictSante().getId()); } else if ("3".equals(niveau)) { Path<?> join = root.join("centres", JoinType.LEFT).get("id"); return builder.equal(join, personnel.getCDT().getId()); } } return null; }
// Personnel methods public void SetAttribute( Personnel personnel, String name, String email, ArrayList<String> attributes) throws Exception { personnel.setAttributes(name, email, attributes); }
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); try { String lien = ""; HttpSession sessionHttp = request.getSession(); // Pour le log du personnel if (request.getParameter("login") != null && request.getParameter("pwd") != null) { String login = request.getParameter("login"); String pwd = request.getParameter("pwd"); // On crypte le mot de passe String pwdCrypt = cryptPassword(pwd); Personnel lePersonnel = new Personnel(); // On récupère un objet de type Personnel grâce à la fonction de connexion de cette classe lePersonnel = this.getUnPersonnel().connexionPersonnel(login, pwdCrypt); if (!lePersonnel.getLogin().equals("loginPwdErrone")) { if (lePersonnel.getLogin().equals("superAdmin")) { ArrayList<Service> lesServices = this.getUnService().rechercherServices(); request.setAttribute("lesServices", lesServices); lien = "/Vue/adminProfils.jsp"; } else { lien = "/Vue/apercuDossiers.jsp"; } } else { lien = "/index.jsp?e=loginMdpErrone&login="******"/Vue/creationDossier.jsp?login="******"&pwd=" + pwdCrypt; sessionHttp.setAttribute("personnel", lePersonnel); // Pour la déconnexion du personnel /*} else if (request.getParameter("co").equals("logout")) { sessionHttp.removeAttribute("personnel"); lien = "/index.jsp";*/ // Déconnexion du personnel } else if (request.getParameter("co") != null) { if (request.getParameter("co").equals("logout")) { sessionHttp.removeAttribute("personnel"); lien = "/index.jsp"; } // Gestion du menu } else if (request.getParameter("page") != null) { if (request.getParameter("page").equals("apercuDossiers")) { lien = "/Vue/apercuDossiers.jsp"; } // Recherche d'un dossier } else if (request.getParameter("recherche_dossier") != null) { String recherche = request.getParameter("recherche_dossier"); ArrayList<Patient> lesPatients = new ArrayList<Patient>(); lesPatients = this.getUnPatient().rechercherPatients(recherche, 2); request.setAttribute("lesPatients", lesPatients); request.setAttribute("recherche", recherche); lien = "/Vue/apercuDossiers.jsp"; // Ajout d'un profil de personnel } else if (request.getParameter("login_ajout_profil") != null) { String nom = StringToMySQL(request.getParameter("nom_ajout_profil").toUpperCase()); String prenom = StringToMySQL(request.getParameter("prenom_ajout_profil")); String login = StringToMySQL(request.getParameter("login_ajout_profil")); String pwd = request.getParameter("pwd_ajout_profil"); String pwdCrypt = cryptPassword(pwd); String telDom = request.getParameter("telDom_ajout_profil"); String telPort = request.getParameter("telPort_ajout_profil"); String dateNaiss = dateToMySQL(request.getParameter("dateNaiss_ajout_profil")); String lieuNaiss = StringToMySQL(request.getParameter("lieuNaiss_ajout_profil")); String dateEmbauch = dateToMySQL(request.getParameter("dateEmbauch_ajout_profil")); String specMed = request.getParameter("speMed_ajout_profil"); Boolean adminBool = false; if (request.getParameter("affect_ajout_profil").equals("1")) { adminBool = true; } String adresse = StringToMySQL(request.getParameter("adr_ajout_profil")); String cp = request.getParameter("cp_ajout_profil"); String ville = StringToMySQL(request.getParameter("ville_ajout_profil")); int idService = Integer.parseInt(request.getParameter("service_ajout_profil")); Adresse sonAdresse = new Adresse(0, adresse, cp, ville); Service sonService = new Service(idService, ""); Personnel lePersonnel = new Personnel( 0, nom, prenom, login, pwdCrypt, telDom, telPort, dateNaiss, lieuNaiss, dateEmbauch, specMed, adminBool, sonAdresse, sonService); this.getUnPersonnel().ajouterPersonnel(lePersonnel); lien = "/index.jsp"; // Lien vers la page de création d'un nouveau dossier } else if (request.getParameter("btn_lien_creation_dossier") != null) { ArrayList<Service> lesServices = this.getUnService().rechercherServices(); request.setAttribute("lesServices", lesServices); lien = "/Vue/creationDossier.jsp"; // Lien vers la page de création d'une nouvelle prescription (traitement ou bien // intervention chirurgicale) } else if (request.getParameter("type_lien_creation_prescription") != null) { request.setAttribute("idDossier", request.getParameter("id_dossier")); if (request.getParameter("type_lien_creation_prescription").equals("intervention")) { lien = "/Vue/creationChirurgie.jsp"; } else { lien = "/Vue/creationPrescription.jsp"; } // Création d'un dossier et d'un patient } else if (request.getParameter("nom_ajout_patient") != null) { String nom_patient = StringToMySQL(request.getParameter("nom_ajout_patient").toUpperCase()); String prenom_patient = request.getParameter("prenom_ajout_patient"); String adr_patient = StringToMySQL(request.getParameter("rue_ajout_patient")); String cp_patient = request.getParameter("cp_ajout_patient"); String ville_patient = StringToMySQL(request.getParameter("ville_ajout_patient")); String num_secu_patient = request.getParameter("num_secu_ajout_patient") + request.getParameter("num_secu2_ajout_patient"); String complementaire_dossier = StringToMySQL(request.getParameter("complementaire_ajout_dossier")); String nom_personne_prevenir_dossier = StringToMySQL( request.getParameter("nom_personne_prevenir_ajout_dossier").toUpperCase()); String prenom_personne_prevenir_dossier = request.getParameter("prenom_personne_prevenir_ajout_dossier"); String tel_personne_prevenir_dossier = request.getParameter("tel_personne_prevenir_ajout_dossier"); String nom_personne_confiance_dossier = StringToMySQL( request.getParameter("nom_personne_confiance_ajout_dossier").toUpperCase()); String prenom_personne_confiance_dossier = request.getParameter("prenom_personne_confiance_ajout_dossier"); String tel_personne_confiance_dossier = request.getParameter("tel_personne_confiance_ajout_dossier"); String medecin_traitant_dossier = StringToMySQL(request.getParameter("medecin_traitant_ajout_dossier")); String tel_medecin_traitant_dossier = request.getParameter("tel_medecin_traitant_ajout_dossier"); int chambre_patient = Integer.parseInt(request.getParameter("chambre_ajout_patient")); Service sonService = new Service(0, ""); Chambre saChambre = new Chambre(chambre_patient, 0, true, sonService); Dossier sonDossier = new Dossier( 0, complementaire_dossier, nom_personne_prevenir_dossier, nom_personne_confiance_dossier, medecin_traitant_dossier, prenom_personne_prevenir_dossier, prenom_personne_confiance_dossier, tel_personne_prevenir_dossier, tel_personne_confiance_dossier, tel_medecin_traitant_dossier, false, false); Adresse sonAdresse = new Adresse(0, adr_patient, cp_patient, ville_patient); Patient lePatient = new Patient( 0, nom_patient, prenom_patient, num_secu_patient, sonAdresse, sonDossier, saChambre); this.getUnPatient().ajouterPatient(lePatient); lien = "/Vue/apercuDossiers.jsp"; // Lien pour afficher les informations sur un dossier } else if (request.getParameter("champ_visualisation_dossier") != null) { Personnel lePersonnel = (Personnel) sessionHttp.getAttribute("personnel"); String idPatient = request.getParameter("champ_visualisation_dossier"); ArrayList<Patient> lesPatients = new ArrayList<Patient>(); lesPatients = this.getUnPatient().rechercherPatients(idPatient, 1); Patient lePatient = new Patient(); lePatient = lesPatients.get(0); // Si le personnel est administratif if (lePersonnel.getAdminBool()) { ArrayList<Service> lesServices = this.getUnService().rechercherServices(); request.setAttribute("lesServices", lesServices); ArrayList<Chambre> lesChambres = this.getUneChambre() .rechercherChambresLibres( lePatient.getUneChambre().getUnService().getIdService().toString()); request.setAttribute("lesChambres", lesChambres); request.setAttribute("lePatient", lePatient); lien = "/Vue/modifDossier.jsp"; // Si le personnel est un médecin } else { int idDossier = lePatient.getUnDossier().getId(); ArrayList<Prescription> lesPrescriptions = this.getUnePrescription().rechercherPrescriptions("" + idDossier); request.setAttribute("lesPrescriptions", lesPrescriptions); String stringIdDossier = "" + idDossier; request.setAttribute("idDossier", stringIdDossier); lien = "/Vue/apercuPrescriptions.jsp"; } // Modification d'un dossier et d'un patient } else if (request.getParameter("nom_modif_patient") != null) { String nom_patient = StringToMySQL(request.getParameter("nom_modif_patient").toUpperCase()); String prenom_patient = request.getParameter("prenom_modif_patient"); String adr_patient = StringToMySQL(request.getParameter("rue_modif_patient")); String cp_patient = request.getParameter("cp_modif_patient"); String ville_patient = StringToMySQL(request.getParameter("ville_modif_patient")); String num_secu_patient = request.getParameter("num_secu_modif_patient") + request.getParameter("num_secu2_modif_patient"); String complementaire_dossier = StringToMySQL(request.getParameter("complementaire_modif_dossier")); String nom_personne_prevenir_dossier = StringToMySQL( request.getParameter("nom_personne_prevenir_modif_dossier").toUpperCase()); String prenom_personne_prevenir_dossier = request.getParameter("prenom_personne_prevenir_modif_dossier"); String tel_personne_prevenir_dossier = request.getParameter("tel_personne_prevenir_modif_dossier"); String nom_personne_confiance_dossier = StringToMySQL( request.getParameter("nom_personne_confiance_modif_dossier").toUpperCase()); String prenom_personne_confiance_dossier = request.getParameter("prenom_personne_confiance_modif_dossier"); String tel_personne_confiance_dossier = request.getParameter("tel_personne_confiance_modif_dossier"); String medecin_traitant_dossier = StringToMySQL(request.getParameter("medecin_traitant_modif_dossier")); String tel_medecin_traitant_dossier = request.getParameter("tel_medecin_traitant_modif_dossier"); int chambre_patient = Integer.parseInt(request.getParameter("chambre_modif_patient")); int idService = Integer.parseInt(request.getParameter("service")); int idPatient = Integer.parseInt(request.getParameter("id_modif_patient")); int idDossier = Integer.parseInt(request.getParameter("idDossier_modif_patient")); int idAdresse = Integer.parseInt(request.getParameter("idAdresse_modif_patient")); String ancienneChambre = request.getParameter("idChambre_modif_patient"); Service sonService = new Service(idService, ""); Chambre saChambre = new Chambre(chambre_patient, 0, true, sonService); Dossier sonDossier = new Dossier( idDossier, complementaire_dossier, nom_personne_prevenir_dossier, nom_personne_confiance_dossier, medecin_traitant_dossier, prenom_personne_prevenir_dossier, prenom_personne_confiance_dossier, tel_personne_prevenir_dossier, tel_personne_confiance_dossier, tel_medecin_traitant_dossier, false, false); Adresse sonAdresse = new Adresse(idAdresse, adr_patient, cp_patient, ville_patient); Patient lePatient = new Patient( idPatient, nom_patient, prenom_patient, num_secu_patient, sonAdresse, sonDossier, saChambre); this.getUnPatient().modifierPatient(lePatient, ancienneChambre); lien = "/Vue/apercuDossiers.jsp"; // Affichage des informations d'une prescription } else if (request.getParameter("champ_visualisation_prescription") != null) { String idPrescription = request.getParameter("champ_visualisation_prescription"); Prescription laPrescription = this.getUnePrescription().rechercherUnePrescription(idPrescription); request.setAttribute("laPrescription", laPrescription); lien = "/Vue/apercuUnePrescription.jsp"; // Ajout d'une prescription d'un traitement } else if (request.getParameter("nom_medecin_ajout_prescription") != null) { String idDossier = request.getParameter("id_dossier"); ArrayList<Medicament> lesMedicaments = new ArrayList<Medicament>(); Personnel lePersonnel = (Personnel) sessionHttp.getAttribute("personnel"); String idPersonnel = "" + lePersonnel.getId(); Enumeration flds = request.getParameterNames(); while (flds.hasMoreElements()) { String element = (String) flds.nextElement(); String[] tab_med = element.split("medic"); int length = tab_med.length; if (length > 1) { int num = Integer.parseInt(tab_med[1]); String nom_medic = StringToMySQL(request.getParameter(element)); String nom_poso = StringToMySQL(request.getParameter("poso" + num)); Medicament leMedicament = new Medicament(0, nom_medic, nom_poso); lesMedicaments.add(leMedicament); } // String value = request.getParameter(test);*/ } this.getUnePrescription().creerPrescription(lesMedicaments, idPersonnel, idDossier); ArrayList<Prescription> lesPrescriptions = this.getUnePrescription().rechercherPrescriptions("" + idDossier); request.setAttribute("lesPrescriptions", lesPrescriptions); String stringIdDossier = "" + idDossier; request.setAttribute("idDossier", stringIdDossier); lien = "/Vue/apercuPrescriptions.jsp"; // Ajout d'une intervention chirurgicale } else if (request.getParameter("nom_medecin_ajout_intervention") != null) { String idDossier = request.getParameter("id_dossier"); Personnel lePersonnel = (Personnel) sessionHttp.getAttribute("personnel"); String idPersonnel = "" + lePersonnel.getId(); InterChirurgicale lInterChirurgicale = new InterChirurgicale( 0, StringToMySQL(request.getParameter("type_creation_inter")), StringToMySQL(request.getParameter("remarque_creation_inter"))); this.getUnePrescription() .creerInterChirurgicale(lInterChirurgicale, idPersonnel, idDossier); ArrayList<Prescription> lesPrescriptions = this.getUnePrescription().rechercherPrescriptions("" + idDossier); request.setAttribute("lesPrescriptions", lesPrescriptions); String stringIdDossier = "" + idDossier; request.setAttribute("idDossier", stringIdDossier); lien = "/Vue/apercuPrescriptions.jsp"; // Gestion de la sortie des patients } else if (request.getParameter("champ_sortie_id_patient") != null) { // Si c'est pour la sortie du patient if (request.getParameter("champ_sortie_patient_type").equals("sortie")) { // Si c'est un médecin if (request.getParameter("champ_sortie_patient_type_personnel").equals("Medecin")) { // On autorise la sortie this.getUnDossier().autoriserSortie(request.getParameter("champ_sortie_id_patient")); } else { // On enregistre la sortie this.getUnDossier().enregistrerSortie(request.getParameter("champ_sortie_id_patient")); } lien = "/Vue/apercuDossiers.jsp"; // Si c'est pour l'admission du patient } else { String idPatient = request.getParameter("champ_sortie_id_patient"); ArrayList<Patient> lesPatients = new ArrayList<Patient>(); lesPatients = this.getUnPatient().rechercherPatients(idPatient, 1); Patient lePatient = new Patient(); lePatient = lesPatients.get(0); ArrayList<Service> lesServices = this.getUnService().rechercherServices(); request.setAttribute("lesServices", lesServices); ArrayList<Chambre> lesChambres = this.getUneChambre() .rechercherChambresLibres( lePatient.getUneChambre().getUnService().getIdService().toString()); request.setAttribute("lesChambres", lesChambres); request.setAttribute("lePatient", lePatient); lien = "/Vue/modifDossier.jsp"; } } else { lien = "/index.jsp"; } getServletContext().getRequestDispatcher(lien).forward(request, response); } finally { out.close(); } }