From d1ac1fe6baee6c0b0153e34ba837817884dd6e2d Mon Sep 17 00:00:00 2001 From: Alejandro Linares Amado Date: Sun, 29 Dec 2019 18:57:42 +0100 Subject: [PATCH] =?UTF-8?q?Cambio=20de=20mensajes=20en=20vistas=20y=20veri?= =?UTF-8?q?ficaci=C3=B3n=20de=20fecha=20de=20visita?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docroot/visit/PatientVisitList.xhtml | 4 +- .../MyHealth/docroot/visit/VisitList.xhtml | 4 +- .../src/managedbean/visit/AddVisitMBean.java | 32 +++++++-- .../managedbean/visit/UpdateVisitMBean.java | 67 +++++++++++++------ 4 files changed, 76 insertions(+), 31 deletions(-) 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() {