Exemple #1
0
  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;
 }
Exemple #3
0
 //  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();
    }
  }