Renombrado método para actualizar especialidades.

Dialogo de confirmación al eliminar especialidades.
Limpieza de formulario en interfaz tras realizar la operación CRUD.
This commit is contained in:
Marcos Garcia Nuñez
2019-12-27 02:44:24 +01:00
parent ec3b1dc1cd
commit 3d5be6849c
4 changed files with 68 additions and 42 deletions

View File

@@ -7,38 +7,47 @@
<ui:composition template="../header.xhtml"> <ui:composition template="../header.xhtml">
<ui:define name="content"> <ui:define name="content">
<h:form id="frmEditSpecialties"> <h:form id="frmEditSpecialties">
<p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
<p:commandButton value="Sí" type="button" styleClass="ui-confirmdialog-yes" icon="pi pi-check" />
<p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="pi pi-times" />
</p:confirmDialog>
<p:growl id="mesgsEdit" showDetail="true" closable="true" autoupdate="true" /> <p:growl id="mesgsEdit" showDetail="true" closable="true" autoupdate="true" />
<p:panel id="PanelMS" style="margin-bottom: 10px;" header="Modificación y borrado de especialidades"> <p:panel id="PanelMS" style="margin-bottom: 10px;" header="Modificación y borrado 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:outputLabel for="ms"/> <p:outputLabel for="ms" />
<p:selectOneMenu id="ms" value="#{ManageSpecialities.medicalSpecialty}" converter="omnifaces.SelectItemsIndexConverter" <p:selectOneMenu id="ms" value="#{ManageSpecialities.medicalSpecialty}" converter="omnifaces.SelectItemsIndexConverter" effect="fold" editable="true" filter="true"
effect="fold" editable="true" filter="true" filterMatchMode="startsWith" filterMatchMode="startsWith" placeholder="- Selecciona una especialidad -">
placeholder="- Selecciona una especialidad -"> <f:selectItems value="#{ManageSpecialities.medicalSpecialtiesList}" var="ms" itemValue="#{ms}" itemLabel="#{ms.name}" />
<f:selectItems value="#{ManageSpecialities.medicalSpecialtiesList}" var="ms" itemValue="#{ms}" itemLabel="#{ms.name}" /> <f:ajax render="name description" />
<f:ajax render="name description" /> </p:selectOneMenu>
</p:selectOneMenu>
</div> </div>
<div class="ui-g-1 ui-md-1" > <div class="ui-g-1 ui-md-1">
<p:outputLabel value="Nombre: " for="name"/> <p:outputLabel value="Nombre: " for="name" />
</div> </div>
<div class="ui-g-2 ui-md-2"> <div class="ui-g-2 ui-md-2">
<p:inputText id="name" value="#{ManageSpecialities.medicalSpecialty.name}" converter="omnifaces.TrimConverter" readonly="false" required="true" requiredMessage="Es necesario un nombre" /> <p:inputText id="name" value="#{ManageSpecialities.medicalSpecialty.name}" converter="omnifaces.TrimConverter" readonly="false" required="true"
requiredMessage="Es necesario un nombre" />
</div> </div>
<div class="ui-g-1 ui-md-1"> <div class="ui-g-1 ui-md-1">
<p:outputLabel value="Descripción: " for="description" /> <p:outputLabel value="Descripción: " for="description" />
</div> </div>
<div class="ui-g-4 ui-md-4"> <div class="ui-g-4 ui-md-4">
<p:inputText id="description" value="#{ManageSpecialities.medicalSpecialty.description}" converter="omnifaces.TrimConverter" readonly="false" required="true" requiredMessage="Es necesaria una descripción" /> <p:inputText id="description" value="#{ManageSpecialities.medicalSpecialty.description}" converter="omnifaces.TrimConverter" readonly="false" required="true"
requiredMessage="Es necesaria una descripción" />
</div> </div>
<div class="ui-g-1 ui-md-1 "> <div class="ui-g-1 ui-md-1 ">
<p:commandButton validateClient="true" value="Guardar" update="mesgsEdit frmEditSpecialties" action="#{ManageSpecialities.saveData}" icon="pi pi-save" /> <p:commandButton validateClient="true" value="Guardar" update="frmEditSpecialties" action="#{ManageSpecialities.saveData}" icon="pi pi-save" />
</div> </div>
<div class="ui-g-1 ui-md-1 "> <div class="ui-g-1 ui-md-1 ">
<p:commandButton validateClient="true" value="Borrar" update="mesgsEdit frmEditSpecialties" action="#{ManageSpecialities.deleteData}" icon="fa fa-remove" /> <p:commandButton validateClient="true" value="Borrar" update="frmEditSpecialties" action="#{ManageSpecialities.deleteData}" icon="fa fa-remove">
<p:confirm header="Confirme la eliminación" message="¿Esta seguro de que desea eliminar la especialidad?" icon="pi pi-exclamation-triangle" />
</p:commandButton>
</div> </div>
</div> </div>
</p:panel> </p:panel>
</h:form> </h:form>
<h:form id="frmAddSpecialties"> <h:form id="frmAddSpecialties">

View File

@@ -108,7 +108,7 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
} }
@Override @Override
public MedicalSpecialtyTO getSpecialty(int id, String name, String description) throws Exception { public MedicalSpecialtyTO updateSpecialty(int id, String name, String description) throws Exception {
MedicalSpecialtyJPA ms = entman.find(MedicalSpecialtyJPA.class, id); MedicalSpecialtyJPA ms = entman.find(MedicalSpecialtyJPA.class, id);
if (ms == null) { if (ms == null) {
@@ -136,7 +136,7 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
} }
@Override @Override
public void deleteSpecialty(int id, String name, String description) throws Exception { public void deleteSpecialty(int id) throws Exception {
MedicalSpecialtyJPA ms = entman.find(MedicalSpecialtyJPA.class, id); MedicalSpecialtyJPA ms = entman.find(MedicalSpecialtyJPA.class, id);
if (ms == null) { if (ms == null) {

View File

@@ -19,11 +19,11 @@ public interface SystemAdminFacadeRemote {
public LoggedUserTO login(String id, String pwd); public LoggedUserTO login(String id, String pwd);
public MedicalSpecialtyTO getSpecialty(int id, String name, String description) throws Exception; public MedicalSpecialtyTO updateSpecialty(int id, String name, String description) throws Exception;
public MedicalSpecialtyTO findSpecialtyByName(String name); public MedicalSpecialtyTO findSpecialtyByName(String name);
public void deleteSpecialty(int id, String name, String description) throws Exception; public void deleteSpecialty(int id) throws Exception;
public MedicalSpecialtyTO insertSpecialty(String name, String description) throws Exception; public MedicalSpecialtyTO insertSpecialty(String name, String description) throws Exception;
} }

View File

@@ -7,14 +7,12 @@ import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped; import javax.enterprise.context.RequestScoped;
import javax.faces.application.FacesMessage; import javax.faces.application.FacesMessage;
import javax.inject.Named; import javax.inject.Named;
import javax.persistence.PersistenceException;
import TO.LoggedUserTO; import TO.LoggedUserTO;
import TO.MedicalSpecialtyTO; import TO.MedicalSpecialtyTO;
import common.Constants; import common.Constants;
import managedbean.common.ManagedBeanBase; import managedbean.common.ManagedBeanBase;
import managedbean.common.SessionUtils; import managedbean.common.SessionUtils;
import managedbean.common.ValidationUtils;
@Named("ManageSpecialities") @Named("ManageSpecialities")
@RequestScoped @RequestScoped
@@ -45,13 +43,17 @@ public class ManageSpecialitiesMBean extends ManagedBeanBase implements Serializ
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida", 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."); "Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
else { else {
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH); this.refreshFormData();
} }
} catch (Exception e) { } catch (Exception e) {
this.manageException(e); this.manageException(e);
} }
} }
private void refreshFormData() {
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
}
public Integer getId() { public Integer getId() {
return id; return id;
} }
@@ -76,10 +78,18 @@ public class ManageSpecialitiesMBean extends ManagedBeanBase implements Serializ
this.description = description; this.description = description;
} }
private void setSpecialtyData(MedicalSpecialtyTO ms) { private void showSpecialtyData(MedicalSpecialtyTO ms) {
this.id = ms.getId(); this.medicalSpecialty = ms;
this.name = ms.getName();
this.description = ms.getDescription(); if (ms == null) {
this.id = null;
this.name = "";
this.description = "";
} else {
this.id = ms.getId();
this.name = ms.getName();
this.description = ms.getDescription();
}
} }
public List<MedicalSpecialtyTO> getMedicalSpecialtiesList() { public List<MedicalSpecialtyTO> getMedicalSpecialtiesList() {
@@ -108,10 +118,13 @@ public class ManageSpecialitiesMBean extends ManagedBeanBase implements Serializ
if (error == 0) { if (error == 0) {
try { try {
MedicalSpecialtyTO ms = this.getRemoteManagerSystemAdmin().getSpecialty(this.medicalSpecialty.getId(), this.medicalSpecialty.getName(), this.medicalSpecialty.getDescription()); MedicalSpecialtyTO ms = this.getRemoteManagerSystemAdmin().updateSpecialty(this.medicalSpecialty.getId(), this.medicalSpecialty.getName(),
this.setSpecialtyData(ms); this.medicalSpecialty.getDescription());
this.showSpecialtyData(null);
this.refreshFormData();
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de la especialidad se han guardado correctamente."); this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de la especialidad se han guardado correctamente.");
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
} catch (Exception e) { } catch (Exception e) {
this.manageException(e); this.manageException(e);
} }
@@ -132,9 +145,11 @@ public class ManageSpecialitiesMBean extends ManagedBeanBase implements Serializ
if (error == 0) { if (error == 0) {
try { try {
this.getRemoteManagerSystemAdmin().deleteSpecialty(this.medicalSpecialty.getId(), this.medicalSpecialty.getName(), this.medicalSpecialty.getDescription()); this.getRemoteManagerSystemAdmin().deleteSpecialty(this.medicalSpecialty.getId());
this.showSpecialtyData(null);
this.refreshFormData();
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los especialidad se ha borrado", "Los datos de la especialidad se han borrado correctamente."); this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los especialidad se ha borrado", "Los datos de la especialidad se han borrado correctamente.");
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
} catch (Exception e) { } catch (Exception e) {
this.manageException(e); this.manageException(e);
} }
@@ -161,9 +176,11 @@ public class ManageSpecialitiesMBean extends ManagedBeanBase implements Serializ
if (error == 0) { if (error == 0) {
try { try {
MedicalSpecialtyTO ms = this.getRemoteManagerSystemAdmin().insertSpecialty(name, description); MedicalSpecialtyTO ms = this.getRemoteManagerSystemAdmin().insertSpecialty(name, description);
this.setSpecialtyData(ms);
this.showSpecialtyData(null);
this.refreshFormData();
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de la especialidad se han guardado correctamente."); this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de la especialidad se han guardado correctamente.");
this.medicalSpecialitiesList = this.getRemoteManagerCommon().listMedicalSpecialitiesPaged(0, Constants.MAX_ITEMS_AUTOCOMPLETE_SEARCH);
} catch (Exception e) { } catch (Exception e) {
this.manageException(e); this.manageException(e);
} }