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

@@ -76,8 +76,8 @@
<p:commandButton value="Anular" action="#{PatientVisitList.removeVisit(v.id)}" update="frmPatientVisitList" icon="pi pi-calendar-times" styleClass="red-button" /> <p:commandButton value="Anular" action="#{PatientVisitList.removeVisit(v.id)}" update="frmPatientVisitList" icon="pi pi-calendar-times" styleClass="red-button" />
</p:column> </p:column>
<p:column headerText="Editar" width="90"> <p:column headerText="Modificar" width="100">
<p:commandButton value="Editar" action="#{PatientVisitList.editVisit(v.id)}" update="frmPatientVisitList" icon="pi pi-pencil" /> <p:commandButton value="Modificar" action="#{PatientVisitList.editVisit(v.id)}" update="frmPatientVisitList" icon="pi pi-pencil" />
</p:column> </p:column>
<f:facet name="paginatorBottomLeft"> <f:facet name="paginatorBottomLeft">

View File

@@ -61,8 +61,8 @@
<p:commandButton value="Ver" action="#{VisitList.showVisit(v.id)}" icon="pi pi-check" /> <p:commandButton value="Ver" action="#{VisitList.showVisit(v.id)}" icon="pi pi-check" />
</p:column> </p:column>
<p:column headerText="Editar" width="80px;"> <p:column headerText="Modificar" width="100px;">
<p:commandButton value="Editar" action="#{VisitList.editVisit(v.id)}" icon="pi pi-check" /> <p:commandButton value="Modificar" action="#{VisitList.editVisit(v.id)}" icon="pi pi-check" />
</p:column> </p:column>
<f:facet name="paginatorBottomLeft"> <f:facet name="paginatorBottomLeft">

View File

@@ -37,17 +37,37 @@ public class AddVisitMBean extends ManagedBeanBase implements Serializable {
@PostConstruct @PostConstruct
public void init() { public void init() {
// El usuario actual es un medico de familia, recuperamos su Id de la sessión actual // 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.patient = this.getRemoteManagerCommon().findPatientById(patientId);
this.familyDoctor = this.patient.getFamilyDoctor(); this.familyDoctor = this.patient.getFamilyDoctor();
this.date = new Date(); this.date = new Date();
}catch (Exception e) {
this.manageException(e);
}
} }
public void saveData() { public void saveData() {
this.getRemoteManagerVisit().addVisit(this.patient.getId(), this.date, this.time, this.observations); //Comprobamos que la fecha fijada para la visita no sea anterior a la actual
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Visita creada", "La nueva visita se ha registrado correctamente en el sistema."); 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() { 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."); "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()) { switch (SessionUtils.getUserType()) {
case ADMINISTRATOR: case ADMINISTRATOR:
case PATIENT: 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; this.onlyResult = false;
break; break;
case FAMILY_DOCTOR: case FAMILY_DOCTOR:
@@ -79,31 +81,54 @@ public class UpdateVisitMBean extends ManagedBeanBase implements Serializable {
this.onlyResult = true; this.onlyResult = true;
break; break;
case SPECIALIST_DOCTOR: 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; return;
} }
} }
public void saveData() { public void saveData() {
// Si el usuario es un paciente listamos las visitas de ese paciente, si es admnistrador listamos todas. //Comprobamos que la fecha fijada para la visita no sea anterior a la actual
switch (SessionUtils.getUserType()) { int error = 0;
case ADMINISTRATOR: if (this.date.before( new Date())) {
case PATIENT: this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Fecha incorrecta",
// Administrador y paciente pueden actualizar la fecha y hora de la visita (excepto esl resultado) "La fecha fijada es anterior a la actual");
// TODO: Implementar método en EJB error++;
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;
} }
// 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() { public Date getDate() {