Cambio de mensajes en vistas y verificación de fecha de visita

This commit is contained in:
Alejandro Linares Amado
2019-12-29 18:57:42 +01:00
parent d889bdbd6c
commit d1ac1fe6ba
4 changed files with 76 additions and 31 deletions

View File

@@ -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() {

View File

@@ -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() {