Mejora en visualización de especialistas por especialidad (Vista

páginada de datos).
This commit is contained in:
Marcos Garcia Nuñez
2019-12-27 13:38:28 +01:00
parent 553cc1550e
commit ac3d81fe07
4 changed files with 97 additions and 85 deletions

View File

@@ -3,15 +3,19 @@ package managedbean.medicalTest;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.faces.view.ViewScoped;
import javax.inject.Named;
import org.primefaces.event.SelectEvent;
import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortOrder;
import TO.MedicalSpecialtyTO;
import TO.SpecialistDoctorTO;
import TO.VisitTO;
import common.Constants;
import common.UserType;
import managedbean.common.ManagedBeanBase;
@@ -25,10 +29,10 @@ public class SearchSpecialistMBean extends ManagedBeanBase implements Serializab
private int userID;
private UserType userType;
private List<SpecialistDoctorTO> listDoctors;
private List<MedicalSpecialtyTO> medicalSpecialitiesList;
private MedicalSpecialtyTO medicalSpeciality;
private String lastUIQueryMS;
private LazyDataModel<SpecialistDoctorTO> lazyDataModelDoctorList;
public SearchSpecialistMBean() {
}
@@ -38,39 +42,45 @@ public class SearchSpecialistMBean extends ManagedBeanBase implements Serializab
// Inicialización de variables y propiedades van aquí.
this.userType = SessionUtils.getUserType();
this.userID = Integer.valueOf(SessionUtils.getUserId());
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0,
Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
this.medicalSpeciality = null;
this.lastUIQueryMS = "";
this.listDoctors = new ArrayList<SpecialistDoctorTO>();
this.lazyDataModelDoctorList = new LazyDataModel<SpecialistDoctorTO>() {
private static final long serialVersionUID = 1L;
@Override
public List<SpecialistDoctorTO> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
if (medicalSpeciality == null) {
this.setRowCount(0);
return null;
} else {
Long totalRowCount = getRemoteManagerMedicalTest().getSpecialistDoctorByMedicalSpecialityCount(medicalSpeciality.getId());
this.setRowCount(totalRowCount.intValue());
return getRemoteManagerMedicalTest().findSpecialistDoctorByMedicalSpeciality(medicalSpeciality.getId(), (first / pageSize), pageSize);
}
}
};
}
public LazyDataModel<SpecialistDoctorTO> getLazyDataModelDoctorList() {
return lazyDataModelDoctorList;
}
public void onSelect(SelectEvent event) {
System.out.println("onSelect");
this.medicalSpeciality = (MedicalSpecialtyTO) event.getObject();
System.out.println(this.medicalSpeciality);
this.listDoctors = getRemoteManagerMedicalTest()
.findSpecialistDoctorByMedicalSpeciality(this.medicalSpeciality);
}
public List<MedicalSpecialtyTO> completeMedicalSpeciality(String query) {
if (query != null && query.equals(this.lastUIQueryMS) == false) {
this.lastUIQueryMS = query;
// Recuperamos las 200 primeras coincidencias
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesFiltered(query, 0,
Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesFiltered(query, 0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
}
return this.medicalSpecialitiesList;
}
public List<TO.SpecialistDoctorTO> getListDoctors() {
return listDoctors;
}
public void setListDoctors(List<TO.SpecialistDoctorTO> listDoctors) {
this.listDoctors = listDoctors;
}
public List<MedicalSpecialtyTO> getMedicalSpecialitiesList() {
return medicalSpecialitiesList;
}