From 1e3886cc54a3de9cac4ab301b5206a1a4a2f5c95 Mon Sep 17 00:00:00 2001 From: dalvarezgon Date: Thu, 19 Dec 2019 13:15:11 +0100 Subject: [PATCH] =?UTF-8?q?Especialidades=20m=C3=A9dicas=20editables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../systemAdmin/ManageSpecialties.xhtml | 35 ++++-- .../MyHealth/src/TO/MedicalSpecialtyTO.java | 2 +- .../systemAdmin/SystemAdminFacadeBean.java | 19 +++ .../systemAdmin/SystemAdminFacadeRemote.java | 4 +- .../systemAdmin/ManageSpecialitiesMBean.java | 117 ++++++++++++++++++ .../systemAdmin/SystemAdminMBean.java | 71 ----------- 6 files changed, 163 insertions(+), 85 deletions(-) create mode 100644 1.sources/MyHealth/src/managedbean/systemAdmin/ManageSpecialitiesMBean.java delete mode 100644 1.sources/MyHealth/src/managedbean/systemAdmin/SystemAdminMBean.java diff --git a/1.sources/MyHealth/docroot/systemAdmin/ManageSpecialties.xhtml b/1.sources/MyHealth/docroot/systemAdmin/ManageSpecialties.xhtml index 805a9a6..4b07166 100644 --- a/1.sources/MyHealth/docroot/systemAdmin/ManageSpecialties.xhtml +++ b/1.sources/MyHealth/docroot/systemAdmin/ManageSpecialties.xhtml @@ -11,21 +11,32 @@
- - - - - - + + + + + +
+
+ +
+
+ +
+
+
- +
-
-
+
+ +
+ + - + \ No newline at end of file diff --git a/1.sources/MyHealth/src/TO/MedicalSpecialtyTO.java b/1.sources/MyHealth/src/TO/MedicalSpecialtyTO.java index 40d43a4..8b35945 100644 --- a/1.sources/MyHealth/src/TO/MedicalSpecialtyTO.java +++ b/1.sources/MyHealth/src/TO/MedicalSpecialtyTO.java @@ -9,7 +9,7 @@ import javax.xml.bind.annotation.XmlRootElement; * @author Marcos García Núñez (mgarcianun@uoc.edu) * */ -@XmlRootElement(name = "medicalspeciality") +@XmlRootElement(name = "medicalSpecialty") public class MedicalSpecialtyTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeBean.java b/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeBean.java index 37785f3..f0b239f 100644 --- a/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeBean.java +++ b/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeBean.java @@ -7,6 +7,7 @@ import javax.persistence.PersistenceContext; import TO.FamilyDoctorTO; import TO.LoggedUserTO; +import TO.MedicalSpecialtyTO; import TO.PatientTO; import TO.SpecialistDoctorTO; import common.Constants; @@ -14,6 +15,8 @@ import common.HashUtils; import common.UserType; import ejb.common.CommonFacadeLocal; import jpa.AdministratorJPA; +import jpa.MedicalSpecialtyJPA; +import jpa.PatientJPA; /** * @@ -107,4 +110,20 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote { return usr; } + + @Override + public MedicalSpecialtyTO updateSpecialtyData(int id, String name, String description) throws Exception { + MedicalSpecialtyJPA ms = entman.find(MedicalSpecialtyJPA.class, id); + + if (ms == null) { + throw new Exception("No se pueden actualizar los datos de la especialidad porque no se encuentra en la base de datos ningún registro con id: " + String.valueOf(id)); + } + + ms.setName(name); + ms.setDescription(description); + + entman.persist(ms); + + return this.commonServices.getPOJOforMedicalSpecialtyJPA(ms); + } } diff --git a/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeRemote.java b/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeRemote.java index 7c275b5..7c8cfe9 100644 --- a/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeRemote.java +++ b/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeRemote.java @@ -6,6 +6,7 @@ import javax.ejb.Remote; import TO.LoggedUserTO; import TO.MedicalSpecialtyTO; +import TO.PatientTO; import TO.PrimaryHealthCareCenterTO; /** @@ -19,6 +20,7 @@ public interface SystemAdminFacadeRemote { * Definimos la interfaz remota */ - public LoggedUserTO login(String id, String pwd); + + public MedicalSpecialtyTO updateSpecialtyData(int id, String name, String description) throws Exception; } \ No newline at end of file diff --git a/1.sources/MyHealth/src/managedbean/systemAdmin/ManageSpecialitiesMBean.java b/1.sources/MyHealth/src/managedbean/systemAdmin/ManageSpecialitiesMBean.java new file mode 100644 index 0000000..efbd50d --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/systemAdmin/ManageSpecialitiesMBean.java @@ -0,0 +1,117 @@ +package managedbean.systemAdmin; + +import java.io.Serializable; +import java.util.List; + +import javax.annotation.PostConstruct; +import javax.enterprise.context.RequestScoped; +import javax.faces.application.FacesMessage; +import javax.inject.Named; + +import TO.LoggedUserTO; +import TO.MedicalSpecialtyTO; +import common.Constants; +import managedbean.common.ManagedBeanBase; +import managedbean.common.SessionUtils; + +@Named("ManageSpecialities") +@RequestScoped +public class ManageSpecialitiesMBean extends ManagedBeanBase implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; + private String name; + private String description; + private MedicalSpecialtyTO medicalSpecialty; + private List medicalSpecialitiesList; + + public ManageSpecialitiesMBean() { + } + + @PostConstruct + public void init() { + if (this.medicalSpecialty == null) { + this.medicalSpecialty = new MedicalSpecialtyTO(); + } + // Recuperamos el usuario logeado actual + LoggedUserTO usr = null; + try { + usr = SessionUtils.getloggedOnUser(); + + if (usr == null) + this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida", + "Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema."); + else { + this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH); + } + } catch (Exception e) { + this.manageException(e); + } + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + private void setSpecialtyData(MedicalSpecialtyTO ms) { + this.id = ms.getId(); + this.name = ms.getName(); + this.description = ms.getDescription(); + } + + public List getMedicalSpecialtiesList() { + return medicalSpecialitiesList; + } + + public MedicalSpecialtyTO getMedicalSpecialty() { + return medicalSpecialty; + } + + public void setMedicalSpecialty(MedicalSpecialtyTO value) { + this.medicalSpecialty = value; + } + + public void saveData() { + int error = 0; + + if (this.medicalSpecialty.getName() == null) { + this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Nombre no relleno", "Por favor, escriba un nombre de especialidad."); + error++; + } + if (this.medicalSpecialty.getDescription() == null) { + this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Descripción no rellena", "Por favor, escriba una descripción."); + error++; + } + + if (error == 0) { + try { + MedicalSpecialtyTO ms = this.getRemoteManagerSystemAdmin().updateSpecialtyData(this.medicalSpecialty.getId(), this.medicalSpecialty.getName(), this.medicalSpecialty.getDescription()); + this.setSpecialtyData(ms); + this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de la especialidad se han guardado correctamente."); + } catch (Exception e) { + this.manageException(e); + } + } + } +} diff --git a/1.sources/MyHealth/src/managedbean/systemAdmin/SystemAdminMBean.java b/1.sources/MyHealth/src/managedbean/systemAdmin/SystemAdminMBean.java deleted file mode 100644 index 588467a..0000000 --- a/1.sources/MyHealth/src/managedbean/systemAdmin/SystemAdminMBean.java +++ /dev/null @@ -1,71 +0,0 @@ -package managedbean.systemAdmin; - -import java.io.Serializable; -import java.util.List; - -import javax.annotation.PostConstruct; -import javax.enterprise.context.RequestScoped; -import javax.faces.application.FacesMessage; -import javax.inject.Named; - -import TO.LoggedUserTO; -import TO.MedicalSpecialtyTO; -import common.Constants; -import common.UserType; -import managedbean.common.ManagedBeanBase; -import managedbean.common.SessionUtils; - -@Named("SystemAdmin") -@RequestScoped -public class SystemAdminMBean extends ManagedBeanBase implements Serializable { - - private static final long serialVersionUID = 1L; - - private String lastUIQuery; - private MedicalSpecialtyTO medicalSpecialty; - private List medicalSpecialitiesList; - - public SystemAdminMBean() { - } - - @PostConstruct - public void init() { - // Recuperamos el usuario logeado actual - LoggedUserTO usr = null; - this.lastUIQuery = ""; - - try { - usr = SessionUtils.getloggedOnUser(); - - if (usr == null) - this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida", - "Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema."); - else { - this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH); - } - } catch (Exception e) { - this.manageException(e); - } - } - - public List getMedicalSpecialtiesList() { - return medicalSpecialitiesList; - } - - public List completeMedicalSpecialty(String query) { - if (query != null && query.equals(this.lastUIQuery) == false) { - this.lastUIQuery = query; - // Recuperamos las 200 primeras coincidencias - this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesFiltered(query, 0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH); - } - return this.medicalSpecialitiesList; - } - - public MedicalSpecialtyTO getMedicalSpecialty() { - return medicalSpecialty; - } - - public void setMedicalSpecialty(MedicalSpecialtyTO value) { - this.medicalSpecialty = value; - } -}