Añadidos comentarios a todos los métodos.
This commit is contained in:
@@ -22,6 +22,11 @@ import jpa.PrimaryHealthCareCenterJPA;
|
||||
import jpa.QuestionJPA;
|
||||
import jpa.SpecialistDoctorJPA;
|
||||
|
||||
/***
|
||||
*
|
||||
* @author Marcos García Núñez (mgarcianun@uoc.edu)
|
||||
*
|
||||
*/
|
||||
@Stateless
|
||||
public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
// Persistence Unit Context
|
||||
@@ -29,7 +34,9 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
private EntityManager entman;
|
||||
|
||||
/**
|
||||
* Metodo que devuelve todas las especialidades medicas
|
||||
* Metodo que devuelve todas las especialidades medicas registradas en el sistema
|
||||
*
|
||||
* @return Devuelve una Lista de MedicalSpecialtyTO (Transfer Objects).
|
||||
*/
|
||||
public List<MedicalSpecialtyTO> listAllMedicalSpecialities() {
|
||||
return this.listMedicalSpecialitiesPaged(0, 0);
|
||||
@@ -38,14 +45,26 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
/**
|
||||
* Metodo que devuelve las especialidades médicas de forma paginada
|
||||
*
|
||||
* Acepta como parametro la página (comenzando en 0) y el número de elementos de
|
||||
* cada página
|
||||
* Acepta como parametro la página (comenzando en 0) y el número de elementos de cada página.
|
||||
*
|
||||
* si pageSize == 0, entonces se devuelven todas las especialidades registradas (Se ignora el parámetro).
|
||||
*
|
||||
* @return Devuelve una Lista de MedicalSpecialtyTO (Transfer Objects).
|
||||
*/
|
||||
public List<MedicalSpecialtyTO> listMedicalSpecialitiesPaged(int pageNumber, int pageSize) {
|
||||
return listMedicalSpecialitiesFiltered(null, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que devuelve una lista de espcialidades médicas que tienen una coincidencia parcial en el nombre o en la descripción con el termino de búsqueda (searchTerm)
|
||||
* especificado.
|
||||
*
|
||||
* Además permite la paginacción de datos. Si pageSize == 0 no se realiza paginación y se devuelven todos los resultados.
|
||||
*
|
||||
* Si serachTerm es nulo o cadena vacía entonces no se tiene en cuenta el parámetro y devuelven todas las especialidades existentes.
|
||||
*
|
||||
* @return Devuelve una Lista de MedicalSpecialtyTO (Transfer Objects).
|
||||
*/
|
||||
public List<MedicalSpecialtyTO> listMedicalSpecialitiesFiltered(String searchTerm, int pageNumber, int pageSize) {
|
||||
String strQuery = "SELECT ms from MedicalSpecialtyJPA ms %s order by ms.name, ms.description";
|
||||
String strFilter = "";
|
||||
@@ -78,14 +97,36 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return allSpecialities;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que devuelve todos los CAPs registrados en el sistema
|
||||
*
|
||||
* @return Devuelve una Lista de MedicalSpecialtyTO (Transfer Objects).
|
||||
*/
|
||||
public List<PrimaryHealthCareCenterTO> listAllCAPs() {
|
||||
return this.listCAPsPaged(0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que devuelve una lista de CAPs (Centros de Atención Primarios) de forma paginada
|
||||
*
|
||||
* Si pageSize == 0 no se realiza paginación y se devuelven todos los resultados.
|
||||
*
|
||||
* @return Devuelve una Lista de MedicalSpecialtyTO (Transfer Objects).
|
||||
*/
|
||||
public List<PrimaryHealthCareCenterTO> listCAPsPaged(int pageNumber, int pageSize) {
|
||||
return this.listCAPsFiltered(null, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que devuelve una lista de CAPs (Centros de Atención Primarios) que tienen una coincidencia parcial en el nombre o en la localización con el termino de búsqueda
|
||||
* (searchTerm) especificado.
|
||||
*
|
||||
* Además permite la paginacción de datos. Si pageSize == 0 no se realiza paginación y se devuelven todos los resultados.
|
||||
*
|
||||
* Si serachTerm es nulo o cadena vacía entonces no se tiene en cuenta el parámetro y devuelven todos los CAPs existentes.
|
||||
*
|
||||
* @return Devuelve una Lista de PrimaryHealthCareCenterTO (Transfer Objects).
|
||||
*/
|
||||
public List<PrimaryHealthCareCenterTO> listCAPsFiltered(String searchTerm, int pageNumber, int pageSize) {
|
||||
String strQuery = "SELECT phc from PrimaryHealthCareCenterJPA phc %s order by phc.name, phc.location";
|
||||
String strFilter = "";
|
||||
@@ -118,14 +159,35 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return allCAPs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que devuelve una lista con todos los médicos de familia registrados en el sistema.
|
||||
*
|
||||
* @return Devuelve una Lista de FamilyDoctorTO (Transfer Objects).
|
||||
*/
|
||||
public List<FamilyDoctorTO> listAllFamilyDoctors() {
|
||||
return this.listFamilyDoctorsPaged(0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que devuelve una lista con todos los médicos de familia registrados en el sistema de forma paginada.
|
||||
*
|
||||
* Si pageSize == 0 no se realiza paginación y se devuelven todos los resultados.
|
||||
*
|
||||
* @return Devuelve una Lista de FamilyDoctorTO (Transfer Objects).
|
||||
*/
|
||||
public List<FamilyDoctorTO> listFamilyDoctorsPaged(int pageNumber, int pageSize) {
|
||||
return this.listFamilyDoctorsFiltered(null, pageNumber, pageSize);
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que devuelve una lista de médicos de familia que tienen una coincidencia parcial en el nombre o en los apellidos con el termino de búsqueda (searchTerm) especificado.
|
||||
*
|
||||
* Además permite la paginacción de datos. Si pageSize == 0 no se realiza paginación y se devuelven todos los resultados.
|
||||
*
|
||||
* Si serachTerm es nulo o cadena vacía entonces no se tiene en cuenta el parámetro y devuelven todos los registros existentes.
|
||||
*
|
||||
* @return Devuelve una Lista de FamilyDoctorTO (Transfer Objects).
|
||||
*/
|
||||
public List<FamilyDoctorTO> listFamilyDoctorsFiltered(String searchTerm, int pageNumber, int pageSize) {
|
||||
String strQuery = "SELECT fd FROM FamilyDoctorJPA fd %s order by fd.name, fd.surname";
|
||||
String strFilter = "";
|
||||
@@ -158,6 +220,11 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return allFDTOs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que convierte un objecto de tipo MedicalSpecialtyJPA (JPA) a su equivalente MedicalSpecialtyTO (Tranfer Object)
|
||||
*
|
||||
* @return MedicalSpecialtyTO (Transfer Object de una especialidad médica)
|
||||
*/
|
||||
public MedicalSpecialtyTO getPOJOforMedicalSpecialtyJPA(MedicalSpecialtyJPA ms) {
|
||||
MedicalSpecialtyTO msTO = null;
|
||||
|
||||
@@ -168,6 +235,11 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return msTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que convierte un objecto de tipo PrimaryHealthCareCenterJPA (JPA) a su equivalente PrimaryHealthCareCenterTO (Tranfer Object)
|
||||
*
|
||||
* @return PrimaryHealthCareCenterTO (Transfer Object de un CAP)
|
||||
*/
|
||||
public PrimaryHealthCareCenterTO getPOJOforPrimaryHealthCareCenterJPA(PrimaryHealthCareCenterJPA phc) {
|
||||
PrimaryHealthCareCenterTO phcTO = null;
|
||||
|
||||
@@ -178,6 +250,14 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return phcTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que convierte un objecto de tipo SpecialistDoctorJPA (JPA) a su equivalente SpecialistDoctorTO (Tranfer Object)
|
||||
*
|
||||
* El parámetro nestedProps es un valor entero que indica a que nivel de profundidad se debe navegar a través de las propiedades relacionadas para convertirlas de JPA a TO. Un
|
||||
* valor 0 indica que no se convertirá ninguna propiedad que tenga un entidad JPA relacionada (tendrá valor null en el objeto TO).
|
||||
*
|
||||
* @return SpecialistDoctorTO (Transfer Object de un médico especialista)
|
||||
*/
|
||||
public SpecialistDoctorTO getPOJOforSpecialistDoctorJPA(SpecialistDoctorJPA sd, int nestedProps) {
|
||||
SpecialistDoctorTO sdTO = null;
|
||||
|
||||
@@ -194,6 +274,14 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return sdTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que convierte un objecto de tipo FamilyDoctorJPA (JPA) a su equivalente FamilyDoctorTO (Tranfer Object)
|
||||
*
|
||||
* El parámetro nestedProps es un valor entero que indica a que nivel de profundidad se debe navegar a través de las propiedades relacionadas para convertirlas de JPA a TO. Un
|
||||
* valor 0 indica que no se convertirá ninguna propiedad que tenga un entidad JPA relacionada (tendrá valor null en el objeto TO).
|
||||
*
|
||||
* @return FamilyDoctorTO (Transfer Object de un médico especialista)
|
||||
*/
|
||||
public FamilyDoctorTO getPOJOforFamilyDoctorJPA(FamilyDoctorJPA fd, int nestedProps) {
|
||||
FamilyDoctorTO fdTO = null;
|
||||
|
||||
@@ -210,6 +298,14 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return fdTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que convierte un objecto de tipo PatientJPA (JPA) a su equivalente PatientTO (Tranfer Object)
|
||||
*
|
||||
* El parámetro nestedProps es un valor entero que indica a que nivel de profundidad se debe navegar a través de las propiedades relacionadas para convertirlas de JPA a TO. Un
|
||||
* valor 0 indica que no se convertirá ninguna propiedad que tenga un entidad JPA relacionada (tendrá valor null en el objeto TO).
|
||||
*
|
||||
* @return PatientTO (Transfer Object de un médico especialista)
|
||||
*/
|
||||
public PatientTO getPOJOforPatientJPA(PatientJPA pat, int nestedProps) {
|
||||
PatientTO paTO = null;
|
||||
|
||||
@@ -226,11 +322,21 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return paTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que recupera un paciente a partir de su Identificador (Id) de base de datos.
|
||||
*
|
||||
* @return PatientTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public PatientTO findPatientById(int patientId) {
|
||||
// Recuperamos propiedades anidadas 1 nivel!
|
||||
return this.getPOJOforPatientJPA(entman.find(PatientJPA.class, patientId), 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que recupera un paciente a partir de su CIP (Código de Identificación de Paciente)
|
||||
*
|
||||
* @return PatientTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public PatientTO findPatientByCode(String code) {
|
||||
TypedQuery<PatientJPA> query = entman.createQuery("from PatientJPA pat where pat.personalIdentificationCode=:code", PatientJPA.class);
|
||||
query.setMaxResults(1);
|
||||
@@ -243,10 +349,15 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return null;
|
||||
}
|
||||
|
||||
public PatientTO findPatientByNif(String searchValue) {
|
||||
/**
|
||||
* Método que recupera un paciente a partir de su NIF
|
||||
*
|
||||
* @return PatientTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public PatientTO findPatientByNif(String searchedNIF) {
|
||||
TypedQuery<PatientJPA> query = entman.createQuery("from PatientJPA pat where pat.nif=:nif", PatientJPA.class);
|
||||
query.setMaxResults(1);
|
||||
query.setParameter("nif", searchValue);
|
||||
query.setParameter("nif", searchedNIF);
|
||||
|
||||
List<PatientJPA> results = query.getResultList();
|
||||
if (results.size() > 0)
|
||||
@@ -255,10 +366,20 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que recupera un médico de familia a partir de su Identificador (Id) de base de datos.
|
||||
*
|
||||
* @return FamilyDoctorTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public FamilyDoctorTO findFamilyDoctorById(int ProfessionalNumberId) {
|
||||
return this.getPOJOforFamilyDoctorJPA(entman.find(FamilyDoctorJPA.class, ProfessionalNumberId), 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que recupera un médico de familia a partir de su NP (Número de profesional)
|
||||
*
|
||||
* @return FamilyDoctorTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public FamilyDoctorTO findFamilyDoctorByCode(String code) {
|
||||
TypedQuery<FamilyDoctorJPA> query = entman.createQuery("from FamilyDoctorJPA d where d.professionalNumber=:code", FamilyDoctorJPA.class);
|
||||
|
||||
@@ -271,10 +392,15 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return null;
|
||||
}
|
||||
|
||||
public FamilyDoctorTO findFamilyDoctorByNif(String searchValue) {
|
||||
/**
|
||||
* Método que recupera un médico de familia a partir de su NIF
|
||||
*
|
||||
* @return FamilyDoctorTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public FamilyDoctorTO findFamilyDoctorByNif(String searchedNIF) {
|
||||
TypedQuery<FamilyDoctorJPA> query = entman.createQuery("from FamilyDoctorJPA d where d.nif=:nif", FamilyDoctorJPA.class);
|
||||
query.setMaxResults(1);
|
||||
query.setParameter("nif", searchValue);
|
||||
query.setParameter("nif", searchedNIF);
|
||||
|
||||
List<FamilyDoctorJPA> results = query.getResultList();
|
||||
if (results.size() > 0)
|
||||
@@ -283,10 +409,20 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que recupera un médico especialista a partir de su Identificador (Id) de base de datos.
|
||||
*
|
||||
* @return SpecialistDoctorTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public SpecialistDoctorTO findSpecialistDoctorById(int ProfessionalNumberId) {
|
||||
return this.getPOJOforSpecialistDoctorJPA(entman.find(SpecialistDoctorJPA.class, ProfessionalNumberId), 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que recupera un médico especialista a partir de su NP (Número de profesional)
|
||||
*
|
||||
* @return SpecialistDoctorTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public SpecialistDoctorTO findSpecialistDoctorByCode(String code) {
|
||||
TypedQuery<SpecialistDoctorJPA> query = entman.createQuery("from SpecialistDoctorJPA d where d.professionalNumber=:code", SpecialistDoctorJPA.class);
|
||||
|
||||
@@ -299,10 +435,15 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return null;
|
||||
}
|
||||
|
||||
public SpecialistDoctorTO findSpecialistDoctorByNif(String searchValue) {
|
||||
/**
|
||||
* Método que recupera un médico especialista a partir de su NIF
|
||||
*
|
||||
* @return SpecialistDoctorTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public SpecialistDoctorTO findSpecialistDoctorByNif(String searchedNIF) {
|
||||
TypedQuery<SpecialistDoctorJPA> query = entman.createQuery("from SpecialistDoctorJPA d where d.nif=:nif", SpecialistDoctorJPA.class);
|
||||
query.setMaxResults(1);
|
||||
query.setParameter("nif", searchValue);
|
||||
query.setParameter("nif", searchedNIF);
|
||||
|
||||
List<SpecialistDoctorJPA> results = query.getResultList();
|
||||
if (results.size() > 0)
|
||||
@@ -311,6 +452,14 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que convierte un objecto de tipo QuestionJPA (JPA) a su equivalente QuestionTO (Tranfer Object)
|
||||
*
|
||||
* El parámetro nestedProps es un valor entero que indica a que nivel de profundidad se debe navegar a través de las propiedades relacionadas para convertirlas de JPA a TO. Un
|
||||
* valor 0 indica que no se convertirá ninguna propiedad que tenga un entidad JPA relacionada (tendrá valor null en el objeto TO).
|
||||
*
|
||||
* @return QuestionTO (Transfer Object del objeto recuperado) o null si no se encuentra el objeto buscado
|
||||
*/
|
||||
public QuestionTO getPOJOforQuestionJPA(QuestionJPA qs, int nestedProps) {
|
||||
QuestionTO qsTO = null;
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ public class ProfileFacadeBean implements ProfileFacadeRemote {
|
||||
@PersistenceContext(unitName = "MyHealth")
|
||||
private EntityManager entman;
|
||||
|
||||
//Propiedad que permite el acceso local a los métodos del EJB de servicios comunes (para recuperar entidades, etc).
|
||||
@EJB
|
||||
CommonFacadeLocal commonServices;
|
||||
|
||||
@@ -96,8 +97,6 @@ public class ProfileFacadeBean implements ProfileFacadeRemote {
|
||||
* @return PatientTO Transfer Object correspondiente al paciente registrado.
|
||||
*/
|
||||
public PatientTO registerPatient(int id, String nif, String name, String surname, String password, String email) {
|
||||
PatientTO paTO = null;
|
||||
|
||||
PatientJPA pat = new PatientJPA(this.getNextPersonalIdentificationCode(), nif, name, surname, HashUtils.hashMD5(password), email, null);
|
||||
entman.persist(pat);
|
||||
|
||||
@@ -145,8 +144,6 @@ public class ProfileFacadeBean implements ProfileFacadeRemote {
|
||||
* @return FamilyDoctorTO Transfer Object correspondiente al médico de familia registrado.
|
||||
*/
|
||||
public FamilyDoctorTO registerFamilyDoctor(int id, String nif, String name, String surname, String password, String email, PrimaryHealthCareCenterTO cap) throws Exception {
|
||||
FamilyDoctorTO fdTO = null;
|
||||
|
||||
PrimaryHealthCareCenterJPA phcC = entman.find(PrimaryHealthCareCenterJPA.class, cap.getId());
|
||||
if (phcC == null) {
|
||||
throw new Exception("No se encuentra el centro de atención primaria con identificador: " + cap.getName());
|
||||
@@ -272,7 +269,7 @@ public class ProfileFacadeBean implements ProfileFacadeRemote {
|
||||
/***
|
||||
* Cambia el CAP (Centro de Atención Primaria) asignado a un médico de familia.
|
||||
*
|
||||
* Recibe como parametros el identificador del médico y el identificador del nuevo CAP a asginar.
|
||||
* Recibe como parametros el identificador del médico y el identificador del nuevo CAP a asginar.
|
||||
*
|
||||
* Si el identificador del médico no corresponde a ningún médico de familia registrado se lanza una excepción.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user