Compare commits

...

3 Commits

Author SHA1 Message Date
oscar 7ca0cb5a09 Merge origin/master 7 months ago
oscar 3325e070c6 Todo 7 months ago
oscar f8d7d8e1d1 Todo 7 months ago
  1. 42
      ProyectoInventario-ejb/src/java/xforce/bl/ProveedorBL.java
  2. 33
      ProyectoInventario-ejb/src/java/xforce/dao/ProveedorDAO.java
  3. 14
      ProyectoInventario-war/web/proveedorLista.xhtml
  4. 12
      ProyectoInventario-war/web/ubicacionLista.xhtml

42
ProyectoInventario-ejb/src/java/xforce/bl/ProveedorBL.java

@ -12,10 +12,12 @@ import javax.faces.context.FacesContext;
import xforce.dao.EstadosDAO; import xforce.dao.EstadosDAO;
import xforce.dao.MarcaDAO; import xforce.dao.MarcaDAO;
import xforce.dao.ProveedorDAO; import xforce.dao.ProveedorDAO;
import xforce.dao.UsuariosDAO;
import xforce.modelo.Estados; import xforce.modelo.Estados;
import xforce.modelo.Marca; import xforce.modelo.Marca;
import xforce.modelo.Producto; import xforce.modelo.Producto;
import xforce.modelo.Proveedor; import xforce.modelo.Proveedor;
import xforce.modelo.Usuarios;
import xforce.msg.Mensaje; import xforce.msg.Mensaje;
/** /**
@ -36,6 +38,7 @@ public class ProveedorBL implements ProveedorBLLocal {
Mensaje m; Mensaje m;
MarcaDAO marcaDAO = new MarcaDAO(); MarcaDAO marcaDAO = new MarcaDAO();
EstadosDAO estadosDao = new EstadosDAO(); EstadosDAO estadosDao = new EstadosDAO();
UsuariosDAO usuariosdao= new UsuariosDAO();
//Toda la logica //Toda la logica
Estados estados = estadosDao.buscarId(proveedor.getEstadosId()); Estados estados = estadosDao.buscarId(proveedor.getEstadosId());
@ -65,15 +68,46 @@ public class ProveedorBL implements ProveedorBLLocal {
} }
proveedor.setEstado(2); proveedor.setEstado(2);
Optional<Proveedor> pEncontradoOptional = pDAO.buscarproveedor(proveedor); Optional<Proveedor> pEncontradoOptional = pDAO.buscarproveedor(proveedor);
Optional<Proveedor> telEncontradoOptional = pDAO.buscarTelefono(proveedor); Optional<Usuarios> validarTel = usuariosdao.buscarTelefono(proveedor.getTelefono());
Optional<Proveedor> validarTelPro = pDAO.buscarTelefono(proveedor.getTelefono());
Optional<Usuarios> validarEmail = usuariosdao.buscarCorreo(proveedor.getEmail());
Optional<Proveedor> validarEmailpro = pDAO.buscarCorreo(proveedor.getEmail());
if (pEncontradoOptional.isPresent() && telEncontradoOptional.isPresent()) {
if (pEncontradoOptional.isPresent()) {
// Manejar el caso en el que se encontró al menos una marca // Manejar el caso en el que se encontró al menos una marca
System.out.println("Elemento duplicado"); System.out.println("Elemento duplicado");
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado");
m = Mensaje.ELEMENTO_DUPLICADO; m = Mensaje.ELEMENTO_DUPLICADO;
} else { }
//validar telefono en usuario
if (validarTel.isPresent()) {
validarTel.get();
System.out.println("Telefono duplicado");
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Telefono duplicado");
return Mensaje.ELEMENTO_DUPLICADO;
}
//validar telefono en proveedor
/*if (validarTelPro.isPresent()) {
validarTelPro.get();
System.out.println("Telefono duplicado en proveedor");
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Telefono duplicado en proveedor");
return Mensaje.ELEMENTO_DUPLICADO;
}*/
//validar email usuario
if (validarEmail.isPresent()) {
validarEmail.get();
System.out.println("Email duplicado");
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Email duplicado");
return Mensaje.ELEMENTO_DUPLICADO;
}
System.out.println("ASAASASA"); System.out.println("ASAASASA");
pDAO.agregar(proveedor); pDAO.agregar(proveedor);
@ -82,7 +116,7 @@ public class ProveedorBL implements ProveedorBLLocal {
System.out.println("Agregado con exito"); System.out.println("Agregado con exito");
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito"); addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito");
m = Mensaje.SIN_ERROR; m = Mensaje.SIN_ERROR;
}
return m; return m;
} }

33
ProyectoInventario-ejb/src/java/xforce/dao/ProveedorDAO.java

@ -72,29 +72,28 @@ public class ProveedorDAO {
q.setParameter("idProveedor", id); q.setParameter("idProveedor", id);
return q.getResultList(); return q.getResultList();
} }
public Optional<Proveedor> buscarTelefono(Proveedor p){ public Optional<Proveedor> buscarTelefono(String telefono) {
// Crear la consulta para buscar un usuario por su teléfono
Query q = em.createNamedQuery("Proveedor.findByTelefono"); Query q = em.createNamedQuery("Proveedor.findByTelefono");
q.setParameter("telefono", p.getTelefono()); q.setParameter("telefono", telefono);
List<Proveedor> resTel = q.getResultList();
if(!resTel.isEmpty()){
Proveedor proveedorEncontrada = resTel.stream()
// Obtener los resultados de la consulta
List<Proveedor> resultados = q.getResultList();
.filter(resTel::contains) // Si hay resultados, devolver el primer resultado, de lo contrario, devolver Optional.empty()
return resultados.isEmpty() ? Optional.empty() : Optional.of(resultados.get(0));
.findFirst() }
.orElse(null);
return Optional.ofNullable(proveedorEncontrada); public Optional<Proveedor> buscarCorreo(String email) {
// Crear la consulta para buscar un usuario por su teléfono
Query q = em.createNamedQuery("Proveedor.findByEmail");
q.setParameter("email", email);
} else{ // Obtener los resultados de la consulta
List<Proveedor> resultados = q.getResultList();
return Optional.empty(); // Si hay resultados, devolver el primer resultado, de lo contrario, devolver Optional.empty()
} return resultados.isEmpty() ? Optional.empty() : Optional.of(resultados.get(0));
} }

14
ProyectoInventario-war/web/proveedorLista.xhtml

@ -20,6 +20,11 @@
<ui:define name="content"> <ui:define name="content">
<f:view> <f:view>
<f:metadata>
<f:viewParam name="rol" value="#{demoBeanLogin.rol}" />
<f:event type="preRenderView" listener="#{demoBeanLogin.verificarAcceso('admin,almacenista')}" />
</f:metadata>
<div> <div>
<h:form> <h:form>
@ -114,7 +119,8 @@
update=":dialogForm" update=":dialogForm"
style="margin-top: 5px" style="margin-top: 5px"
value="Nuevo" value="Nuevo"
ajax="true"/> ajax="true"
disabled="#{demoBeanLogin.permisos}"/>
</div> </div>
<div style="flex: 1; text-align: center;"> <!-- Div para el texto centrado --> <div style="flex: 1; text-align: center;"> <!-- Div para el texto centrado -->
@ -205,7 +211,8 @@
oncomplete="PF('dialogproveedor').show()" oncomplete="PF('dialogproveedor').show()"
update=":dialogForm" update=":dialogForm"
icon="pi pi-pencil" icon="pi pi-pencil"
ajax="true"/> ajax="true"
disabled="#{demoBeanLogin.permisos}"/>
<p:commandButton actionListener="#{demoBeanProveedor.prepararEliminar(item)}" <p:commandButton actionListener="#{demoBeanProveedor.prepararEliminar(item)}"
icon="pi pi-trash" icon="pi pi-trash"
@ -213,7 +220,8 @@
update=":dialogForm1" update=":dialogForm1"
style="margin-left: 5px" style="margin-left: 5px"
styleClass="ui-button-danger" styleClass="ui-button-danger"
ajax="true"/> ajax="true"
disabled="#{demoBeanLogin.permisos}"/>
</div> </div>
</p:column> </p:column>
</p:dataTable> </p:dataTable>

12
ProyectoInventario-war/web/ubicacionLista.xhtml

@ -16,6 +16,11 @@
<ui:define name="content"> <ui:define name="content">
<f:view> <f:view>
<f:metadata>
<f:viewParam name="rol" value="#{demoBeanLogin.rol}" />
<f:event type="preRenderView" listener="#{demoBeanLogin.verificarAcceso('admin,almacenista')}" />
</f:metadata>
<div> <div>
<h:form> <h:form>
<p:menubar> <p:menubar>
@ -116,7 +121,8 @@
value="Nuevo" value="Nuevo"
update=":dialogForm" update=":dialogForm"
icon="pi pi-plus" icon="pi pi-plus"
ajax="true"/> ajax="true"
disabled="#{demoBeanLogin.permisos}"/>
</div> </div>
<div style="flex: 1; text-align: center;"> <!-- Div para el texto centrado --> <div style="flex: 1; text-align: center;"> <!-- Div para el texto centrado -->
<header style="display: flex; justify-content: center; font-size: 30px;"><strong>Ubicacion</strong></header> <header style="display: flex; justify-content: center; font-size: 30px;"><strong>Ubicacion</strong></header>
@ -161,6 +167,7 @@
update=":dialogForm" update=":dialogForm"
icon="pi pi-fw pi-pencil" icon="pi pi-fw pi-pencil"
styleClass="ui-button-secondary" ajax="true" styleClass="ui-button-secondary" ajax="true"
disabled="#{demoBeanLogin.permisos}"
/> />
<p:commandButton actionListener="#{demoBeanUbicacion.prepararEliminar(item)}" <p:commandButton actionListener="#{demoBeanUbicacion.prepararEliminar(item)}"
ajax="true" ajax="true"
@ -168,7 +175,8 @@
update=":dialogForm1" update=":dialogForm1"
icon="pi pi-trash" icon="pi pi-trash"
style="margin-left: 5px" style="margin-left: 5px"
styleClass="ui-button-danger"/> styleClass="ui-button-danger"
disabled="#{demoBeanLogin.permisos}"/>
</div> </div>
</p:column> </p:column>
</p:column> </p:column>

Loading…
Cancel
Save