|
|
|
|
@@ -10,6 +10,7 @@ import javax.persistence.TypedQuery;
|
|
|
|
|
|
|
|
|
|
import TO.FamilyDoctorTO;
|
|
|
|
|
import TO.MedicalSpecialtyTO;
|
|
|
|
|
import TO.MedicalTestTO;
|
|
|
|
|
import TO.PatientTO;
|
|
|
|
|
import TO.PrimaryHealthCareCenterTO;
|
|
|
|
|
import TO.QuestionTO;
|
|
|
|
|
@@ -18,6 +19,7 @@ import TO.VisitTO;
|
|
|
|
|
import common.Utils;
|
|
|
|
|
import jpa.FamilyDoctorJPA;
|
|
|
|
|
import jpa.MedicalSpecialtyJPA;
|
|
|
|
|
import jpa.MedicalTestJPA;
|
|
|
|
|
import jpa.PatientJPA;
|
|
|
|
|
import jpa.PrimaryHealthCareCenterJPA;
|
|
|
|
|
import jpa.QuestionJPA;
|
|
|
|
|
@@ -36,7 +38,8 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
private EntityManager entman;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Metodo que devuelve todas las especialidades medicas registradas en el sistema
|
|
|
|
|
* Metodo que devuelve todas las especialidades medicas registradas en el
|
|
|
|
|
* sistema
|
|
|
|
|
*
|
|
|
|
|
* @return Devuelve una Lista de MedicalSpecialtyTO (Transfer Objects).
|
|
|
|
|
*/
|
|
|
|
|
@@ -47,9 +50,11 @@ 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).
|
|
|
|
|
* si pageSize == 0, entonces se devuelven todas las especialidades registradas
|
|
|
|
|
* (Se ignora el parámetro).
|
|
|
|
|
*
|
|
|
|
|
* @return Devuelve una Lista de MedicalSpecialtyTO (Transfer Objects).
|
|
|
|
|
*/
|
|
|
|
|
@@ -58,12 +63,15 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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.
|
|
|
|
|
* 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.
|
|
|
|
|
* 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.
|
|
|
|
|
* 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).
|
|
|
|
|
*/
|
|
|
|
|
@@ -79,7 +87,8 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
strFilter = "WHERE lower(ms.name) LIKE :searchTerm OR lower(ms.description) LIKE :searchTerm";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TypedQuery<MedicalSpecialtyJPA> query = entman.createQuery(String.format(strQuery, strFilter), MedicalSpecialtyJPA.class);
|
|
|
|
|
TypedQuery<MedicalSpecialtyJPA> query = entman.createQuery(String.format(strQuery, strFilter),
|
|
|
|
|
MedicalSpecialtyJPA.class);
|
|
|
|
|
|
|
|
|
|
if (searchTerm.length() > 0)
|
|
|
|
|
query.setParameter("searchTerm", "%" + searchTerm + "%");
|
|
|
|
|
@@ -109,9 +118,11 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que devuelve una lista de CAPs (Centros de Atención Primarios) de forma paginada
|
|
|
|
|
* 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.
|
|
|
|
|
* Si pageSize == 0 no se realiza paginación y se devuelven todos los
|
|
|
|
|
* resultados.
|
|
|
|
|
*
|
|
|
|
|
* @return Devuelve una Lista de MedicalSpecialtyTO (Transfer Objects).
|
|
|
|
|
*/
|
|
|
|
|
@@ -120,12 +131,15 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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.
|
|
|
|
|
* 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.
|
|
|
|
|
* 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.
|
|
|
|
|
* 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).
|
|
|
|
|
*/
|
|
|
|
|
@@ -141,7 +155,8 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
strFilter = "WHERE lower(phc.name) LIKE :searchTerm OR lower(phc.location) LIKE :searchTerm";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TypedQuery<PrimaryHealthCareCenterJPA> query = entman.createQuery(String.format(strQuery, strFilter), PrimaryHealthCareCenterJPA.class);
|
|
|
|
|
TypedQuery<PrimaryHealthCareCenterJPA> query = entman.createQuery(String.format(strQuery, strFilter),
|
|
|
|
|
PrimaryHealthCareCenterJPA.class);
|
|
|
|
|
|
|
|
|
|
if (searchTerm.length() > 0)
|
|
|
|
|
query.setParameter("searchTerm", "%" + searchTerm + "%");
|
|
|
|
|
@@ -162,7 +177,8 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que devuelve una lista con todos los médicos de familia registrados en el sistema.
|
|
|
|
|
* 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).
|
|
|
|
|
*/
|
|
|
|
|
@@ -171,9 +187,11 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que devuelve una lista con todos los médicos de familia registrados en el sistema de forma paginada.
|
|
|
|
|
* 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.
|
|
|
|
|
* Si pageSize == 0 no se realiza paginación y se devuelven todos los
|
|
|
|
|
* resultados.
|
|
|
|
|
*
|
|
|
|
|
* @return Devuelve una Lista de FamilyDoctorTO (Transfer Objects).
|
|
|
|
|
*/
|
|
|
|
|
@@ -182,11 +200,15 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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.
|
|
|
|
|
* 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.
|
|
|
|
|
* 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.
|
|
|
|
|
* 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).
|
|
|
|
|
*/
|
|
|
|
|
@@ -202,7 +224,8 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
strFilter = "WHERE lower(fd.name) LIKE :searchTerm OR lower(fd.surname) LIKE :searchTerm";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TypedQuery<FamilyDoctorJPA> query = entman.createQuery(String.format(strQuery, strFilter), FamilyDoctorJPA.class);
|
|
|
|
|
TypedQuery<FamilyDoctorJPA> query = entman.createQuery(String.format(strQuery, strFilter),
|
|
|
|
|
FamilyDoctorJPA.class);
|
|
|
|
|
|
|
|
|
|
if (searchTerm.length() > 0)
|
|
|
|
|
query.setParameter("searchTerm", "%" + searchTerm + "%");
|
|
|
|
|
@@ -221,11 +244,11 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
|
|
|
|
|
return allFDTOs;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<PatientTO> listPatientsPaged(int pageNumber, int pageSize) {
|
|
|
|
|
return this.listPatientsFiltered(null, pageNumber, pageSize);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<PatientTO> listPatientsFiltered(String searchTerm, int pageNumber, int pageSize) {
|
|
|
|
|
String strQuery = "SELECT p FROM PatientJPA p %s order by p.name, p.surname";
|
|
|
|
|
String strFilter = "";
|
|
|
|
|
@@ -259,7 +282,8 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que convierte un objecto de tipo MedicalSpecialtyJPA (JPA) a su equivalente MedicalSpecialtyTO (Tranfer Object)
|
|
|
|
|
* 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)
|
|
|
|
|
*/
|
|
|
|
|
@@ -274,7 +298,8 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que convierte un objecto de tipo PrimaryHealthCareCenterJPA (JPA) a su equivalente PrimaryHealthCareCenterTO (Tranfer Object)
|
|
|
|
|
* Método que convierte un objecto de tipo PrimaryHealthCareCenterJPA (JPA) a su
|
|
|
|
|
* equivalente PrimaryHealthCareCenterTO (Tranfer Object)
|
|
|
|
|
*
|
|
|
|
|
* @return PrimaryHealthCareCenterTO (Transfer Object de un CAP)
|
|
|
|
|
*/
|
|
|
|
|
@@ -289,10 +314,14 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que convierte un objecto de tipo SpecialistDoctorJPA (JPA) a su equivalente SpecialistDoctorTO (Tranfer Object)
|
|
|
|
|
* 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).
|
|
|
|
|
* 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)
|
|
|
|
|
*/
|
|
|
|
|
@@ -305,18 +334,22 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
ms = sd.getMedicalSpecialty();
|
|
|
|
|
|
|
|
|
|
nestedProps--;
|
|
|
|
|
sdTO = new SpecialistDoctorTO(sd.getId(), sd.getProfessionalNumber(), sd.getNif(), sd.getName(), sd.getSurname(), sd.getPassword(), sd.getEmail(),
|
|
|
|
|
this.getPOJOforMedicalSpecialtyJPA(ms));
|
|
|
|
|
sdTO = new SpecialistDoctorTO(sd.getId(), sd.getProfessionalNumber(), sd.getNif(), sd.getName(),
|
|
|
|
|
sd.getSurname(), sd.getPassword(), sd.getEmail(), this.getPOJOforMedicalSpecialtyJPA(ms));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return sdTO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que convierte un objecto de tipo FamilyDoctorJPA (JPA) a su equivalente FamilyDoctorTO (Tranfer Object)
|
|
|
|
|
* 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).
|
|
|
|
|
* 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)
|
|
|
|
|
*/
|
|
|
|
|
@@ -329,18 +362,22 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
phc = fd.getPrimaryHealthCareCenter();
|
|
|
|
|
|
|
|
|
|
nestedProps--;
|
|
|
|
|
fdTO = new FamilyDoctorTO(fd.getId(), fd.getProfessionalNumber(), fd.getNif(), fd.getName(), fd.getSurname(), fd.getPassword(), fd.getEmail(),
|
|
|
|
|
this.getPOJOforPrimaryHealthCareCenterJPA(phc));
|
|
|
|
|
fdTO = new FamilyDoctorTO(fd.getId(), fd.getProfessionalNumber(), fd.getNif(), fd.getName(),
|
|
|
|
|
fd.getSurname(), fd.getPassword(), fd.getEmail(), this.getPOJOforPrimaryHealthCareCenterJPA(phc));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return fdTO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que convierte un objecto de tipo PatientJPA (JPA) a su equivalente PatientTO (Tranfer Object)
|
|
|
|
|
* 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).
|
|
|
|
|
* 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)
|
|
|
|
|
*/
|
|
|
|
|
@@ -353,7 +390,8 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
fd = pat.getFamilyDoctor();
|
|
|
|
|
|
|
|
|
|
nestedProps--;
|
|
|
|
|
paTO = new PatientTO(pat.getId(), pat.getPersonalIdentificationCode(), pat.getNif(), pat.getName(), pat.getSurname(), pat.getPassword(), pat.getEmail(),
|
|
|
|
|
paTO = new PatientTO(pat.getId(), pat.getPersonalIdentificationCode(), pat.getNif(), pat.getName(),
|
|
|
|
|
pat.getSurname(), pat.getPassword(), pat.getEmail(),
|
|
|
|
|
this.getPOJOforFamilyDoctorJPA(fd, nestedProps));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -361,9 +399,11 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que recupera un paciente a partir de su Identificador (Id) de base de datos.
|
|
|
|
|
* 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
|
|
|
|
|
* @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!
|
|
|
|
|
@@ -371,12 +411,15 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que recupera un paciente a partir de su CIP (Código de Identificación de Paciente)
|
|
|
|
|
* 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
|
|
|
|
|
* @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);
|
|
|
|
|
TypedQuery<PatientJPA> query = entman
|
|
|
|
|
.createQuery("from PatientJPA pat where pat.personalIdentificationCode=:code", PatientJPA.class);
|
|
|
|
|
query.setMaxResults(1);
|
|
|
|
|
query.setParameter("code", code);
|
|
|
|
|
|
|
|
|
|
@@ -390,7 +433,8 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
/**
|
|
|
|
|
* 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
|
|
|
|
|
* @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);
|
|
|
|
|
@@ -405,21 +449,26 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que recupera un médico de familia a partir de su Identificador (Id) de base de datos.
|
|
|
|
|
* 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
|
|
|
|
|
* @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)
|
|
|
|
|
* 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
|
|
|
|
|
* @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);
|
|
|
|
|
TypedQuery<FamilyDoctorJPA> query = entman
|
|
|
|
|
.createQuery("from FamilyDoctorJPA d where d.professionalNumber=:code", FamilyDoctorJPA.class);
|
|
|
|
|
|
|
|
|
|
query.setParameter("code", code);
|
|
|
|
|
|
|
|
|
|
@@ -433,10 +482,12 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
/**
|
|
|
|
|
* 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
|
|
|
|
|
* @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);
|
|
|
|
|
TypedQuery<FamilyDoctorJPA> query = entman.createQuery("from FamilyDoctorJPA d where d.nif=:nif",
|
|
|
|
|
FamilyDoctorJPA.class);
|
|
|
|
|
query.setMaxResults(1);
|
|
|
|
|
query.setParameter("nif", searchedNIF);
|
|
|
|
|
|
|
|
|
|
@@ -448,21 +499,26 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que recupera un médico especialista a partir de su Identificador (Id) de base de datos.
|
|
|
|
|
* 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
|
|
|
|
|
* @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)
|
|
|
|
|
* 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
|
|
|
|
|
* @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);
|
|
|
|
|
TypedQuery<SpecialistDoctorJPA> query = entman
|
|
|
|
|
.createQuery("from SpecialistDoctorJPA d where d.professionalNumber=:code", SpecialistDoctorJPA.class);
|
|
|
|
|
|
|
|
|
|
query.setParameter("code", code);
|
|
|
|
|
|
|
|
|
|
@@ -476,10 +532,12 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
/**
|
|
|
|
|
* 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
|
|
|
|
|
* @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);
|
|
|
|
|
TypedQuery<SpecialistDoctorJPA> query = entman.createQuery("from SpecialistDoctorJPA d where d.nif=:nif",
|
|
|
|
|
SpecialistDoctorJPA.class);
|
|
|
|
|
query.setMaxResults(1);
|
|
|
|
|
query.setParameter("nif", searchedNIF);
|
|
|
|
|
|
|
|
|
|
@@ -491,12 +549,17 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Método que convierte un objecto de tipo QuestionJPA (JPA) a su equivalente QuestionTO (Tranfer Object)
|
|
|
|
|
* 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).
|
|
|
|
|
* 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
|
|
|
|
|
* @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;
|
|
|
|
|
@@ -510,8 +573,9 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nestedProps--;
|
|
|
|
|
qsTO = new QuestionTO(qs.getId(), qs.getTitle(), qs.getMessage(), qs.getStatus(), this.getPOJOforPatientJPA(pat, nestedProps),
|
|
|
|
|
this.getPOJOforFamilyDoctorJPA(fd, nestedProps), qs.getResponse());
|
|
|
|
|
qsTO = new QuestionTO(qs.getId(), qs.getTitle(), qs.getMessage(), qs.getStatus(),
|
|
|
|
|
this.getPOJOforPatientJPA(pat, nestedProps), this.getPOJOforFamilyDoctorJPA(fd, nestedProps),
|
|
|
|
|
qs.getResponse());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return qsTO;
|
|
|
|
|
@@ -529,8 +593,27 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nestedProps--;
|
|
|
|
|
qsTO = new VisitTO(vi.getId(), vi.getDate(), vi.getTime(), vi.getObservations(), vi.getResult(), this.getPOJOforFamilyDoctorJPA(fd, nestedProps),
|
|
|
|
|
this.getPOJOforPatientJPA(pat, nestedProps));
|
|
|
|
|
qsTO = new VisitTO(vi.getId(), vi.getDate(), vi.getTime(), vi.getObservations(), vi.getResult(),
|
|
|
|
|
this.getPOJOforFamilyDoctorJPA(fd, nestedProps), this.getPOJOforPatientJPA(pat, nestedProps));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return qsTO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public MedicalTestTO getPOJOforMedicalTestJPA(MedicalTestJPA vi, int nestedProps) {
|
|
|
|
|
MedicalTestTO qsTO = null;
|
|
|
|
|
|
|
|
|
|
if (vi != null) {
|
|
|
|
|
SpecialistDoctorJPA fd = null;
|
|
|
|
|
PatientJPA pat = null;
|
|
|
|
|
if (nestedProps > 0) {
|
|
|
|
|
fd = vi.getSpecialistDoctor();
|
|
|
|
|
pat = vi.getPatient();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nestedProps--;
|
|
|
|
|
qsTO = new MedicalTestTO(vi.getId(), vi.getDate(), vi.getTime(), vi.getObservations(), vi.getHighresimage(), vi.getType(),
|
|
|
|
|
this.getPOJOforPatientJPA(pat, nestedProps), this.getPOJOforSpecialistDoctorJPA(fd, nestedProps));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return qsTO;
|
|
|
|
|
|