From 244bb76eec3a9d4131d6e5edce7fb67b0ba0c9d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garcia=20Nu=C3=B1ez?= Date: Tue, 24 Dec 2019 17:51:43 +0100 Subject: [PATCH] Esqueleto de nueva vista para visualizar las visitas programadas de un paciente. --- .../docroot/visit/PatientVisitList.xhtml | 86 ++++++++++++++ .../visit/PatientVisitListMBean.java | 106 ++++++++++++++++++ 2 files changed, 192 insertions(+) create mode 100644 1.sources/MyHealth/docroot/visit/PatientVisitList.xhtml create mode 100644 1.sources/MyHealth/src/managedbean/visit/PatientVisitListMBean.java diff --git a/1.sources/MyHealth/docroot/visit/PatientVisitList.xhtml b/1.sources/MyHealth/docroot/visit/PatientVisitList.xhtml new file mode 100644 index 0000000..064c4fe --- /dev/null +++ b/1.sources/MyHealth/docroot/visit/PatientVisitList.xhtml @@ -0,0 +1,86 @@ + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+
+
+ +
+
+ Paciente: +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+ +
+
+
+
+ + + + + diff --git a/1.sources/MyHealth/src/managedbean/visit/PatientVisitListMBean.java b/1.sources/MyHealth/src/managedbean/visit/PatientVisitListMBean.java new file mode 100644 index 0000000..26d3144 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/visit/PatientVisitListMBean.java @@ -0,0 +1,106 @@ +package managedbean.visit; + +import java.io.IOException; +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.annotation.PostConstruct; +import javax.faces.application.FacesMessage; +import javax.faces.context.FacesContext; +import javax.faces.view.ViewScoped; +import javax.inject.Named; + +import org.primefaces.model.LazyDataModel; +import org.primefaces.model.SortOrder; + +import TO.FamilyDoctorTO; +import TO.PatientTO; +import TO.VisitTO; +import common.UserType; +import managedbean.common.ManagedBeanBase; +import managedbean.common.SessionUtils; + +@Named("PatientVisitList") +@ViewScoped +public class PatientVisitListMBean extends ManagedBeanBase implements Serializable { + + private static final long serialVersionUID = 1L; + + private PatientTO patient; + + private Integer patientId; + private LazyDataModel lazyDataModelVisitList; + private Date selectedDate; + + public PatientVisitListMBean() { + } + + @PostConstruct + public void init() { + // Si el usuario es un paciente listamos las visitas de ese paciente, si es admnistrador listamos todas. + switch (SessionUtils.getUserType()) + { + case ADMINISTRATOR: + this.patientId = null; + this.setPatient(null); + this.selectedDate = new Date(); + break; + case PATIENT: + this.patientId = Integer.valueOf(SessionUtils.getUserId()); + this.setPatient(this.getRemoteManagerCommon().findPatientById(patientId)); + this.selectedDate = null; + break; + case FAMILY_DOCTOR: + case SPECIALIST_DOCTOR: + this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Acesso denegado", "Su perfil de usuario no está autorizado acceder a esta página."); + return; + } + + this.lazyDataModelVisitList = new LazyDataModel() { + private static final long serialVersionUID = 1L; + + @Override + public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + Long totalRowCount = getRemoteManagerVisit().getVisitsCount(patientId, selectedDate); + this.setRowCount(totalRowCount.intValue()); + + return getRemoteManagerVisit().listVisitsPaged(patientId, selectedDate, (first / pageSize), pageSize); + } + }; + } + + public void removeVisit(Integer visitId) throws IOException { + // TODO: Eliminar visita de la BBDD + this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Visita eliminada", String.format("La visita con Id: %d se ha eliminado correctamente", visitId)); + } + + public void editVisit(Integer visitId) throws IOException { + FacesContext.getCurrentInstance().getExternalContext().redirect("VisitView.xhtml?id=" + visitId.toString()); + } + + public LazyDataModel getLazyDataModelVisitList() { + return lazyDataModelVisitList; + } + + public void showData() { + } + + public Date getSelectedDate() { + return selectedDate; + } + + public void setSelectedDate(Date selectedDate) { + this.selectedDate = selectedDate; + } + + public PatientTO getPatient() { + return patient; + } + + public void setPatient(PatientTO patient) { + this.patient = patient; + } + +}