Merge branch 'master' into rorden
This commit is contained in:
@@ -161,114 +161,153 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
||||
|
||||
public MedicalSpecialtyTO getPOJOforMedicalSpecialtyJPA(MedicalSpecialtyJPA ms) {
|
||||
MedicalSpecialtyTO msTO = null;
|
||||
|
||||
|
||||
if (ms != null) {
|
||||
msTO = new MedicalSpecialtyTO(ms.getId(), ms.getName(), ms.getDescription());
|
||||
}
|
||||
|
||||
|
||||
return msTO;
|
||||
}
|
||||
|
||||
public PrimaryHealthCareCenterTO getPOJOforPrimaryHealthCareCenterJPA(PrimaryHealthCareCenterJPA phc) {
|
||||
PrimaryHealthCareCenterTO phcTO = null;
|
||||
|
||||
|
||||
if (phc != null) {
|
||||
phcTO = new PrimaryHealthCareCenterTO(phc.getId(), phc.getName(), phc.getLocation());
|
||||
}
|
||||
|
||||
|
||||
return phcTO;
|
||||
}
|
||||
|
||||
public SpecialistDoctorTO getPOJOforSpecialistDoctorJPA(SpecialistDoctorJPA sd, int nestedProps) {
|
||||
SpecialistDoctorTO sdTO = null;
|
||||
|
||||
|
||||
if (sd != null) {
|
||||
MedicalSpecialtyJPA ms = null;
|
||||
if (nestedProps > 0)
|
||||
ms = sd.getMedicalSpecialty();
|
||||
|
||||
nestedProps--;
|
||||
sdTO = new SpecialistDoctorTO(sd.getId(), sd.getProfessionalNumber(), sd.getNif(), sd.getName(), sd.getSurname(), sd.getPassword(), sd.getEmail(), this.getPOJOforMedicalSpecialtyJPA(ms));
|
||||
|
||||
nestedProps--;
|
||||
sdTO = new SpecialistDoctorTO(sd.getId(), sd.getProfessionalNumber(), sd.getNif(), sd.getName(), sd.getSurname(), sd.getPassword(), sd.getEmail(),
|
||||
this.getPOJOforMedicalSpecialtyJPA(ms));
|
||||
}
|
||||
|
||||
|
||||
return sdTO;
|
||||
}
|
||||
|
||||
|
||||
public FamilyDoctorTO getPOJOforFamilyDoctorJPA(FamilyDoctorJPA fd, int nestedProps) {
|
||||
FamilyDoctorTO fdTO = null;
|
||||
|
||||
|
||||
if (fd != null) {
|
||||
PrimaryHealthCareCenterJPA phc = null;
|
||||
if (nestedProps > 0)
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
public PatientTO getPOJOforPatientJPA(PatientJPA pat, int nestedProps) {
|
||||
PatientTO paTO = null;
|
||||
|
||||
|
||||
if (pat != null) {
|
||||
FamilyDoctorJPA fd = null;
|
||||
if (nestedProps > 0)
|
||||
fd = pat.getFamilyDoctor();
|
||||
|
||||
|
||||
nestedProps--;
|
||||
paTO = new PatientTO(pat.getId(), pat.getPersonalIdentificationCode(), pat.getNif(), pat.getName(), pat.getSurname(), pat.getPassword(), pat.getEmail(), this.getPOJOforFamilyDoctorJPA(fd, nestedProps));
|
||||
paTO = new PatientTO(pat.getId(), pat.getPersonalIdentificationCode(), pat.getNif(), pat.getName(), pat.getSurname(), pat.getPassword(), pat.getEmail(),
|
||||
this.getPOJOforFamilyDoctorJPA(fd, nestedProps));
|
||||
}
|
||||
|
||||
|
||||
return paTO;
|
||||
}
|
||||
|
||||
|
||||
public PatientTO findPatientById(int patientId) {
|
||||
// Recuperamos propiedades anidadas 1 nivel!
|
||||
return this.getPOJOforPatientJPA(entman.find(PatientJPA.class, patientId), 1);
|
||||
}
|
||||
|
||||
|
||||
public PatientJPA findPatientByCode(String code) {
|
||||
public PatientTO findPatientByCode(String code) {
|
||||
TypedQuery<PatientJPA> query = entman.createQuery("from PatientJPA pat where pat.personalIdentificationCode=:code", PatientJPA.class);
|
||||
|
||||
query.setMaxResults(1);
|
||||
query.setParameter("code", code);
|
||||
|
||||
|
||||
List<PatientJPA> results = query.getResultList();
|
||||
if (results.size() > 0)
|
||||
return results.get(0);
|
||||
return this.getPOJOforPatientJPA(results.get(0), 1);
|
||||
else
|
||||
return null; }
|
||||
return null;
|
||||
}
|
||||
|
||||
public PatientTO findPatientByNif(String searchValue) {
|
||||
TypedQuery<PatientJPA> query = entman.createQuery("from PatientJPA pat where pat.nif=:nif", PatientJPA.class);
|
||||
query.setMaxResults(1);
|
||||
query.setParameter("nif", searchValue);
|
||||
|
||||
List<PatientJPA> results = query.getResultList();
|
||||
if (results.size() > 0)
|
||||
return this.getPOJOforPatientJPA(results.get(0), 1);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public FamilyDoctorTO findFamilyDoctorById(int ProfessionalNumberId) {
|
||||
return this.getPOJOforFamilyDoctorJPA(entman.find(FamilyDoctorJPA.class, ProfessionalNumberId), 1);
|
||||
}
|
||||
|
||||
public FamilyDoctorJPA findFamilyDoctorByCode(String code) {
|
||||
public FamilyDoctorTO findFamilyDoctorByCode(String code) {
|
||||
TypedQuery<FamilyDoctorJPA> query = entman.createQuery("from FamilyDoctorJPA d where d.professionalNumber=:code", FamilyDoctorJPA.class);
|
||||
|
||||
|
||||
query.setParameter("code", code);
|
||||
|
||||
|
||||
List<FamilyDoctorJPA> results = query.getResultList();
|
||||
if (results.size() > 0)
|
||||
return results.get(0);
|
||||
return this.getPOJOforFamilyDoctorJPA(results.get(0), 1);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public FamilyDoctorTO findFamilyDoctorByNif(String searchValue) {
|
||||
TypedQuery<FamilyDoctorJPA> query = entman.createQuery("from FamilyDoctorJPA d where d.nif=:nif", FamilyDoctorJPA.class);
|
||||
query.setMaxResults(1);
|
||||
query.setParameter("nif", searchValue);
|
||||
|
||||
List<FamilyDoctorJPA> results = query.getResultList();
|
||||
if (results.size() > 0)
|
||||
return this.getPOJOforFamilyDoctorJPA(results.get(0), 1);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public SpecialistDoctorTO findSpecialistDoctorById(int ProfessionalNumberId) {
|
||||
return this.getPOJOforSpecialistDoctorJPA(entman.find(SpecialistDoctorJPA.class, ProfessionalNumberId), 1);
|
||||
}
|
||||
|
||||
public SpecialistDoctorJPA findSpecialistDoctorByCode(String code) {
|
||||
public SpecialistDoctorTO findSpecialistDoctorByCode(String code) {
|
||||
TypedQuery<SpecialistDoctorJPA> query = entman.createQuery("from SpecialistDoctorJPA d where d.professionalNumber=:code", SpecialistDoctorJPA.class);
|
||||
|
||||
|
||||
query.setParameter("code", code);
|
||||
|
||||
|
||||
List<SpecialistDoctorJPA> results = query.getResultList();
|
||||
if (results.size() > 0)
|
||||
return results.get(0);
|
||||
return this.getPOJOforSpecialistDoctorJPA(results.get(0), 1);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public SpecialistDoctorTO findSpecialistDoctorByNif(String searchValue) {
|
||||
TypedQuery<SpecialistDoctorJPA> query = entman.createQuery("from SpecialistDoctorJPA d where d.nif=:nif", SpecialistDoctorJPA.class);
|
||||
query.setMaxResults(1);
|
||||
query.setParameter("nif", searchValue);
|
||||
|
||||
List<SpecialistDoctorJPA> results = query.getResultList();
|
||||
if (results.size() > 0)
|
||||
return this.getPOJOforSpecialistDoctorJPA(results.get(0), 1);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -44,15 +44,21 @@ public interface CommonFacadeLocal {
|
||||
|
||||
public PatientTO findPatientById(int patientId);
|
||||
|
||||
public PatientJPA findPatientByCode(String code);
|
||||
public PatientTO findPatientByCode(String code);
|
||||
|
||||
public PatientTO findPatientByNif(String searchValue);
|
||||
|
||||
public FamilyDoctorTO findFamilyDoctorById(int ProfessionalNumberId);
|
||||
|
||||
public FamilyDoctorJPA findFamilyDoctorByCode(String code);
|
||||
public FamilyDoctorTO findFamilyDoctorByCode(String code);
|
||||
|
||||
public FamilyDoctorTO findFamilyDoctorByNif(String searchValue);
|
||||
|
||||
public SpecialistDoctorTO findSpecialistDoctorById(int ProfessionalNumberId);
|
||||
|
||||
public SpecialistDoctorJPA findSpecialistDoctorByCode(String code);
|
||||
public SpecialistDoctorTO findSpecialistDoctorByCode(String code);
|
||||
|
||||
public SpecialistDoctorTO findSpecialistDoctorByNif(String searchValue);
|
||||
|
||||
public MedicalSpecialtyTO getPOJOforMedicalSpecialtyJPA(MedicalSpecialtyJPA ms);
|
||||
|
||||
|
||||
@@ -42,14 +42,20 @@ public interface CommonFacadeRemote {
|
||||
|
||||
public PatientTO findPatientById(int patientId);
|
||||
|
||||
public PatientJPA findPatientByCode(String code);
|
||||
public PatientTO findPatientByCode(String code);
|
||||
|
||||
public PatientTO findPatientByNif(String searchValue);
|
||||
|
||||
public FamilyDoctorTO findFamilyDoctorById(int ProfessionalNumberId);
|
||||
|
||||
public FamilyDoctorJPA findFamilyDoctorByCode(String code);
|
||||
public FamilyDoctorTO findFamilyDoctorByCode(String code);
|
||||
|
||||
public FamilyDoctorTO findFamilyDoctorByNif(String searchValue);
|
||||
|
||||
public SpecialistDoctorTO findSpecialistDoctorById(int ProfessionalNumberId);
|
||||
|
||||
public SpecialistDoctorJPA findSpecialistDoctorByCode(String code);
|
||||
public SpecialistDoctorTO findSpecialistDoctorByCode(String code);
|
||||
|
||||
public SpecialistDoctorTO findSpecialistDoctorByNif(String searchValue);
|
||||
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ public class ProfileFacadeBean implements ProfileFacadeRemote {
|
||||
}
|
||||
|
||||
private String getNextPersonalIdentificationCode() {
|
||||
Query q = entman.createNativeQuery("select nextval('myhealth.profesionalnumber')");
|
||||
Query q = entman.createNativeQuery("select nextval('myhealth.codigoidentificacionpaciente')");
|
||||
return Constants.PERSONAL_IDENTIFICATION_CODE_PREFIX.concat(String.valueOf(q.getSingleResult()));
|
||||
}
|
||||
|
||||
|
||||
@@ -5,15 +5,15 @@ import javax.ejb.Stateless;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
|
||||
import TO.FamilyDoctorTO;
|
||||
import TO.LoggedUserTO;
|
||||
import TO.PatientTO;
|
||||
import TO.SpecialistDoctorTO;
|
||||
import common.Constants;
|
||||
import common.HashUtils;
|
||||
import common.UserType;
|
||||
import ejb.common.CommonFacadeLocal;
|
||||
import jpa.AdministratorJPA;
|
||||
import jpa.FamilyDoctorJPA;
|
||||
import jpa.PatientJPA;
|
||||
import jpa.SpecialistDoctorJPA;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -29,7 +29,7 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
|
||||
|
||||
@EJB
|
||||
CommonFacadeLocal commonServices;
|
||||
|
||||
|
||||
/**
|
||||
* Si la autenticación no es correcgta devuelve null, sino devuelve un POJO con
|
||||
* datos del usuario logeado.
|
||||
@@ -61,20 +61,20 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
|
||||
if (userCode.startsWith(Constants.PERSONAL_IDENTIFICATION_CODE_PREFIX)) {
|
||||
// Si el identificador de usuario es de tipo paciente, intentamos realizar el
|
||||
// login.
|
||||
PatientJPA pat = this.commonServices.findPatientByCode(userCode);
|
||||
PatientTO pat = this.commonServices.findPatientByCode(userCode);
|
||||
if (pat != null) {
|
||||
usr = new LoggedUserTO(String.valueOf(pat.getId()), pat.getName(), pat.getPassword(), UserType.PATIENT);
|
||||
}
|
||||
} else if (userCode.startsWith(Constants.PROFESSIONAL_NUMBER_PREFIX)) {
|
||||
// Si el identificador de usuario es de tipo profesional, intentamos realizar el
|
||||
// login, primero como médico de familia, después como especialista
|
||||
FamilyDoctorJPA fd = this.commonServices.findFamilyDoctorByCode(userCode);
|
||||
FamilyDoctorTO fd = this.commonServices.findFamilyDoctorByCode(userCode);
|
||||
|
||||
if (fd != null) {
|
||||
usr = new LoggedUserTO(String.valueOf(fd.getId()), fd.getName(), fd.getPassword(), UserType.FAMILY_DOCTOR);
|
||||
} else {
|
||||
// No era un código de médico de familia, intenamos logearlo como especialista
|
||||
SpecialistDoctorJPA sd = this.commonServices.findSpecialistDoctorByCode(userCode);
|
||||
SpecialistDoctorTO sd = this.commonServices.findSpecialistDoctorByCode(userCode);
|
||||
|
||||
if (sd != null) {
|
||||
usr = new LoggedUserTO(String.valueOf(sd.getId()), sd.getName(), sd.getPassword(), UserType.SPECIALIST_DOCTOR);
|
||||
|
||||
Reference in New Issue
Block a user