diff --git a/1.sources/MyHealth/docroot/visit/PatientVisitList.xhtml b/1.sources/MyHealth/docroot/visit/PatientVisitList.xhtml
index 7888a8c..7c7899f 100644
--- a/1.sources/MyHealth/docroot/visit/PatientVisitList.xhtml
+++ b/1.sources/MyHealth/docroot/visit/PatientVisitList.xhtml
@@ -76,8 +76,8 @@
-
-
+
+
diff --git a/1.sources/MyHealth/docroot/visit/VisitList.xhtml b/1.sources/MyHealth/docroot/visit/VisitList.xhtml
index c6395d7..4a8654c 100644
--- a/1.sources/MyHealth/docroot/visit/VisitList.xhtml
+++ b/1.sources/MyHealth/docroot/visit/VisitList.xhtml
@@ -61,8 +61,8 @@
-
-
+
+
diff --git a/1.sources/MyHealth/src/managedbean/visit/AddVisitMBean.java b/1.sources/MyHealth/src/managedbean/visit/AddVisitMBean.java
index c833a1f..a58cdc7 100644
--- a/1.sources/MyHealth/src/managedbean/visit/AddVisitMBean.java
+++ b/1.sources/MyHealth/src/managedbean/visit/AddVisitMBean.java
@@ -37,17 +37,37 @@ public class AddVisitMBean extends ManagedBeanBase implements Serializable {
@PostConstruct
public void init() {
// El usuario actual es un medico de familia, recuperamos su Id de la sessión actual
- Integer patientId = Integer.valueOf(SessionUtils.getUserId());
+ try {
+ Integer patientId = Integer.valueOf(SessionUtils.getUserId());
- this.patient = this.getRemoteManagerCommon().findPatientById(patientId);
- this.familyDoctor = this.patient.getFamilyDoctor();
+ this.patient = this.getRemoteManagerCommon().findPatientById(patientId);
+ this.familyDoctor = this.patient.getFamilyDoctor();
- this.date = new Date();
+ this.date = new Date();
+ }catch (Exception e) {
+ this.manageException(e);
+ }
+
}
public void saveData() {
- this.getRemoteManagerVisit().addVisit(this.patient.getId(), this.date, this.time, this.observations);
- this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Visita creada", "La nueva visita se ha registrado correctamente en el sistema.");
+ //Comprobamos que la fecha fijada para la visita no sea anterior a la actual
+ int error = 0;
+ if (this.date.before( new Date())) {
+ this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Fecha incorrecta",
+ "La fecha fijada es anterior a la actual");
+ error++;
+ }
+ if (error==0) {
+ try {
+ this.getRemoteManagerVisit().addVisit(this.patient.getId(), this.date, this.time, this.observations);
+ this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Visita creada", "La nueva visita se ha registrado correctamente en el sistema.");
+ }catch (Exception e) {
+ this.manageException(e);
+ }
+ }
+
+
}
public Date getDate() {
diff --git a/1.sources/MyHealth/src/managedbean/visit/UpdateVisitMBean.java b/1.sources/MyHealth/src/managedbean/visit/UpdateVisitMBean.java
index a10cdee..74f8025 100644
--- a/1.sources/MyHealth/src/managedbean/visit/UpdateVisitMBean.java
+++ b/1.sources/MyHealth/src/managedbean/visit/UpdateVisitMBean.java
@@ -67,11 +67,13 @@ public class UpdateVisitMBean extends ManagedBeanBase implements Serializable {
"No se ha podido recuperar el identificador de visita especificado. Por favor, vuelva a intentarlo seleccionando de nuevo la visita.");
}
- // Si el usuario es un paciente listamos las visitas de ese paciente, si es admnistrador listamos todas.
+ // Si el usuario es un paciente listamos las visitas de ese paciente, si es
+ // admnistrador listamos todas.
switch (SessionUtils.getUserType()) {
case ADMINISTRATOR:
case PATIENT:
- // Administrador y paciente pueden actualizar cualquier dato de la visita (excepto esl resultado)
+ // Administrador y paciente pueden actualizar cualquier dato de la visita
+ // (excepto esl resultado)
this.onlyResult = false;
break;
case FAMILY_DOCTOR:
@@ -79,31 +81,54 @@ public class UpdateVisitMBean extends ManagedBeanBase implements Serializable {
this.onlyResult = true;
break;
case SPECIALIST_DOCTOR:
- this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Acesso denegado", "Su perfil de usuario no está autorizado acceder a esta página.");
+ this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Acesso denegado",
+ "Su perfil de usuario no está autorizado acceder a esta página.");
return;
}
}
public void saveData() {
- // Si el usuario es un paciente listamos las visitas de ese paciente, si es admnistrador listamos todas.
- switch (SessionUtils.getUserType()) {
- case ADMINISTRATOR:
- case PATIENT:
- // Administrador y paciente pueden actualizar la fecha y hora de la visita (excepto esl resultado)
- // TODO: Implementar método en EJB
- this.getRemoteManagerVisit().updateVisit(this.id, this.date, this.time);
- this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Visita actualizada", "La fecha y hora de la visita se ha actualizado correctamente.");
- break;
- case FAMILY_DOCTOR:
- // El médico de familia solo puede actualizar el resultado.
- // TODO: implementar método EJB para actualizar el resultado.
- this.getRemoteManagerVisit().addResultToVisit(this.id, this.result);
- this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Resultado actualizado", "El resultado de la visita se ha actualizado correctamente.");
- break;
- case SPECIALIST_DOCTOR:
- this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Acesso denegado", "Su perfil de usuario no está autorizado acceder a esta página.");
- return;
+ //Comprobamos que la fecha fijada para la visita no sea anterior a la actual
+ int error = 0;
+ if (this.date.before( new Date())) {
+ this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Fecha incorrecta",
+ "La fecha fijada es anterior a la actual");
+ error++;
}
+ // Si el usuario es un paciente listamos las visitas de ese paciente, si es
+ // admnistrador listamos todas.
+ if(error==0) {
+ try {
+ switch (SessionUtils.getUserType()) {
+ case ADMINISTRATOR:
+ case PATIENT:
+ // Administrador y paciente pueden actualizar la fecha y hora de la visita
+ // (excepto esl resultado)
+ // TODO: Implementar método en EJB
+
+ this.getRemoteManagerVisit().updateVisit(this.id, this.date, this.time);
+ this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Visita actualizada",
+ "La fecha y hora de la visita se ha actualizado correctamente.");
+ break;
+ case FAMILY_DOCTOR:
+ // El médico de familia solo puede actualizar el resultado.
+ // TODO: implementar método EJB para actualizar el resultado.
+ this.getRemoteManagerVisit().addResultToVisit(this.id, this.result);
+ this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Resultado actualizado",
+ "El resultado de la visita se ha actualizado correctamente.");
+ break;
+ case SPECIALIST_DOCTOR:
+ this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Acesso denegado",
+ "Su perfil de usuario no está autorizado acceder a esta página.");
+ return;
+
+ }
+
+ }catch(Exception e){
+ this.manageException(e);
+ }
+ }
+
}
public Date getDate() {