Especialidades médicas editables
This commit is contained in:
@@ -11,17 +11,28 @@
|
|||||||
<p:panel id="PanelMS" header="Página Gestión de Especialidades">
|
<p:panel id="PanelMS" header="Página Gestión de Especialidades">
|
||||||
<div class="ui-g ui-fluid">
|
<div class="ui-g ui-fluid">
|
||||||
<div class="ui-g-2 ui-md-2">
|
<div class="ui-g-2 ui-md-2">
|
||||||
<p:autoComplete id="specialty" dropdown="true" required="true"
|
<p:outputLabel for="ms"/>
|
||||||
value="#{SystemAdmin.medicalSpecialty}" completeMethod="#{SystemAdmin.completeMedicalSpecialty}" var="ms"
|
<p:selectOneMenu id="ms" value="#{ManageSpecialities.medicalSpecialty}" converter="omnifaces.SelectItemsIndexConverter"
|
||||||
placeholder="----- Selecciona una especialidad -----" itemLabel="#{ms.name}" itemValue="#{ms.name}" forceSelection="true">
|
effect="fold" editable="true" filter="true" filterMatchMode="startsWith"
|
||||||
<o:converter converterId="omnifaces.ListConverter" list="#{RegisterUser.medicalSpecialtiesList}" />
|
placeholder="- Selecciona una especialidad -">
|
||||||
<p:column>
|
<f:selectItems value="#{ManageSpecialities.medicalSpecialtiesList}" var="ms" itemValue="#{ms}" itemLabel="#{ms.name}" />
|
||||||
<h:outputText value="#{ms.name}" />
|
<f:ajax render="name description" />
|
||||||
</p:column>
|
</p:selectOneMenu>
|
||||||
</p:autoComplete>
|
</div>
|
||||||
|
<div class="ui-g-1 ui-md-1" >
|
||||||
|
<p:outputLabel value="Editar nombre" for="name"/>
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-2 ui-md-2">
|
||||||
|
<p:inputText id="name" value="#{ManageSpecialities.medicalSpecialty.name}" readonly="false" required="true" requiredMessage="Es necesario un nombre" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-1 ui-md-1">
|
||||||
|
<p:outputLabel value="Editar descripción" for="description" />
|
||||||
</div>
|
</div>
|
||||||
<div class="ui-g-4 ui-md-4">
|
<div class="ui-g-4 ui-md-4">
|
||||||
<p:message for="specialty" />
|
<p:inputText id="description" value="#{ManageSpecialities.medicalSpecialty.description}" readonly="false" required="true" requiredMessage="Es necesaria una descripción" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-2 ui-md-2 ">
|
||||||
|
<p:commandButton validateClient="true" value="Guardar" update="frmManageSpecialties" action="#{ManageSpecialities.saveData}" icon="pi pi-check" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</p:panel>
|
</p:panel>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||||||
* @author Marcos García Núñez (mgarcianun@uoc.edu)
|
* @author Marcos García Núñez (mgarcianun@uoc.edu)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@XmlRootElement(name = "medicalspeciality")
|
@XmlRootElement(name = "medicalSpecialty")
|
||||||
public class MedicalSpecialtyTO implements Serializable {
|
public class MedicalSpecialtyTO implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import javax.persistence.PersistenceContext;
|
|||||||
|
|
||||||
import TO.FamilyDoctorTO;
|
import TO.FamilyDoctorTO;
|
||||||
import TO.LoggedUserTO;
|
import TO.LoggedUserTO;
|
||||||
|
import TO.MedicalSpecialtyTO;
|
||||||
import TO.PatientTO;
|
import TO.PatientTO;
|
||||||
import TO.SpecialistDoctorTO;
|
import TO.SpecialistDoctorTO;
|
||||||
import common.Constants;
|
import common.Constants;
|
||||||
@@ -14,6 +15,8 @@ import common.HashUtils;
|
|||||||
import common.UserType;
|
import common.UserType;
|
||||||
import ejb.common.CommonFacadeLocal;
|
import ejb.common.CommonFacadeLocal;
|
||||||
import jpa.AdministratorJPA;
|
import jpa.AdministratorJPA;
|
||||||
|
import jpa.MedicalSpecialtyJPA;
|
||||||
|
import jpa.PatientJPA;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -107,4 +110,20 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
|
|||||||
|
|
||||||
return usr;
|
return usr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MedicalSpecialtyTO updateSpecialtyData(int id, String name, String description) throws Exception {
|
||||||
|
MedicalSpecialtyJPA ms = entman.find(MedicalSpecialtyJPA.class, id);
|
||||||
|
|
||||||
|
if (ms == null) {
|
||||||
|
throw new Exception("No se pueden actualizar los datos de la especialidad porque no se encuentra en la base de datos ningún registro con id: " + String.valueOf(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
ms.setName(name);
|
||||||
|
ms.setDescription(description);
|
||||||
|
|
||||||
|
entman.persist(ms);
|
||||||
|
|
||||||
|
return this.commonServices.getPOJOforMedicalSpecialtyJPA(ms);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import javax.ejb.Remote;
|
|||||||
|
|
||||||
import TO.LoggedUserTO;
|
import TO.LoggedUserTO;
|
||||||
import TO.MedicalSpecialtyTO;
|
import TO.MedicalSpecialtyTO;
|
||||||
|
import TO.PatientTO;
|
||||||
import TO.PrimaryHealthCareCenterTO;
|
import TO.PrimaryHealthCareCenterTO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -19,6 +20,7 @@ public interface SystemAdminFacadeRemote {
|
|||||||
* Definimos la interfaz remota
|
* Definimos la interfaz remota
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
public LoggedUserTO login(String id, String pwd);
|
public LoggedUserTO login(String id, String pwd);
|
||||||
|
|
||||||
|
public MedicalSpecialtyTO updateSpecialtyData(int id, String name, String description) throws Exception;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
package managedbean.systemAdmin;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
import javax.faces.application.FacesMessage;
|
||||||
|
import javax.inject.Named;
|
||||||
|
|
||||||
|
import TO.LoggedUserTO;
|
||||||
|
import TO.MedicalSpecialtyTO;
|
||||||
|
import common.Constants;
|
||||||
|
import managedbean.common.ManagedBeanBase;
|
||||||
|
import managedbean.common.SessionUtils;
|
||||||
|
|
||||||
|
@Named("ManageSpecialities")
|
||||||
|
@RequestScoped
|
||||||
|
public class ManageSpecialitiesMBean extends ManagedBeanBase implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
private String name;
|
||||||
|
private String description;
|
||||||
|
private MedicalSpecialtyTO medicalSpecialty;
|
||||||
|
private List<MedicalSpecialtyTO> medicalSpecialitiesList;
|
||||||
|
|
||||||
|
public ManageSpecialitiesMBean() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
public void init() {
|
||||||
|
if (this.medicalSpecialty == null) {
|
||||||
|
this.medicalSpecialty = new MedicalSpecialtyTO();
|
||||||
|
}
|
||||||
|
// Recuperamos el usuario logeado actual
|
||||||
|
LoggedUserTO usr = null;
|
||||||
|
try {
|
||||||
|
usr = SessionUtils.getloggedOnUser();
|
||||||
|
|
||||||
|
if (usr == null)
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida",
|
||||||
|
"Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
|
||||||
|
else {
|
||||||
|
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
this.manageException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setSpecialtyData(MedicalSpecialtyTO ms) {
|
||||||
|
this.id = ms.getId();
|
||||||
|
this.name = ms.getName();
|
||||||
|
this.description = ms.getDescription();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MedicalSpecialtyTO> getMedicalSpecialtiesList() {
|
||||||
|
return medicalSpecialitiesList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MedicalSpecialtyTO getMedicalSpecialty() {
|
||||||
|
return medicalSpecialty;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMedicalSpecialty(MedicalSpecialtyTO value) {
|
||||||
|
this.medicalSpecialty = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void saveData() {
|
||||||
|
int error = 0;
|
||||||
|
|
||||||
|
if (this.medicalSpecialty.getName() == null) {
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Nombre no relleno", "Por favor, escriba un nombre de especialidad.");
|
||||||
|
error++;
|
||||||
|
}
|
||||||
|
if (this.medicalSpecialty.getDescription() == null) {
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Descripción no rellena", "Por favor, escriba una descripción.");
|
||||||
|
error++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (error == 0) {
|
||||||
|
try {
|
||||||
|
MedicalSpecialtyTO ms = this.getRemoteManagerSystemAdmin().updateSpecialtyData(this.medicalSpecialty.getId(), this.medicalSpecialty.getName(), this.medicalSpecialty.getDescription());
|
||||||
|
this.setSpecialtyData(ms);
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de la especialidad se han guardado correctamente.");
|
||||||
|
} catch (Exception e) {
|
||||||
|
this.manageException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
package managedbean.systemAdmin;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.enterprise.context.RequestScoped;
|
|
||||||
import javax.faces.application.FacesMessage;
|
|
||||||
import javax.inject.Named;
|
|
||||||
|
|
||||||
import TO.LoggedUserTO;
|
|
||||||
import TO.MedicalSpecialtyTO;
|
|
||||||
import common.Constants;
|
|
||||||
import common.UserType;
|
|
||||||
import managedbean.common.ManagedBeanBase;
|
|
||||||
import managedbean.common.SessionUtils;
|
|
||||||
|
|
||||||
@Named("SystemAdmin")
|
|
||||||
@RequestScoped
|
|
||||||
public class SystemAdminMBean extends ManagedBeanBase implements Serializable {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
private String lastUIQuery;
|
|
||||||
private MedicalSpecialtyTO medicalSpecialty;
|
|
||||||
private List<MedicalSpecialtyTO> medicalSpecialitiesList;
|
|
||||||
|
|
||||||
public SystemAdminMBean() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostConstruct
|
|
||||||
public void init() {
|
|
||||||
// Recuperamos el usuario logeado actual
|
|
||||||
LoggedUserTO usr = null;
|
|
||||||
this.lastUIQuery = "";
|
|
||||||
|
|
||||||
try {
|
|
||||||
usr = SessionUtils.getloggedOnUser();
|
|
||||||
|
|
||||||
if (usr == null)
|
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida",
|
|
||||||
"Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
|
|
||||||
else {
|
|
||||||
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
this.manageException(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<MedicalSpecialtyTO> getMedicalSpecialtiesList() {
|
|
||||||
return medicalSpecialitiesList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<MedicalSpecialtyTO> completeMedicalSpecialty(String query) {
|
|
||||||
if (query != null && query.equals(this.lastUIQuery) == false) {
|
|
||||||
this.lastUIQuery = query;
|
|
||||||
// Recuperamos las 200 primeras coincidencias
|
|
||||||
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesFiltered(query, 0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
|
|
||||||
}
|
|
||||||
return this.medicalSpecialitiesList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MedicalSpecialtyTO getMedicalSpecialty() {
|
|
||||||
return medicalSpecialty;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMedicalSpecialty(MedicalSpecialtyTO value) {
|
|
||||||
this.medicalSpecialty = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user