Compare commits

...

3 Commits

Author SHA1 Message Date
oscar 7ca0cb5a09 Merge origin/master 4 months ago
oscar 3325e070c6 Todo 4 months ago
oscar f8d7d8e1d1 Todo 4 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.MarcaDAO;
import xforce.dao.ProveedorDAO;
import xforce.dao.UsuariosDAO;
import xforce.modelo.Estados;
import xforce.modelo.Marca;
import xforce.modelo.Producto;
import xforce.modelo.Proveedor;
import xforce.modelo.Usuarios;
import xforce.msg.Mensaje;
/**
@ -36,6 +38,7 @@ public class ProveedorBL implements ProveedorBLLocal {
Mensaje m;
MarcaDAO marcaDAO = new MarcaDAO();
EstadosDAO estadosDao = new EstadosDAO();
UsuariosDAO usuariosdao= new UsuariosDAO();
//Toda la logica
Estados estados = estadosDao.buscarId(proveedor.getEstadosId());
@ -65,15 +68,46 @@ public class ProveedorBL implements ProveedorBLLocal {
}
proveedor.setEstado(2);
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
System.out.println("Elemento duplicado");
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "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");
pDAO.agregar(proveedor);
@ -82,7 +116,7 @@ public class ProveedorBL implements ProveedorBLLocal {
System.out.println("Agregado con exito");
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito");
m = Mensaje.SIN_ERROR;
}
return m;
}

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

@ -72,29 +72,28 @@ public class ProveedorDAO {
q.setParameter("idProveedor", id);
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");
q.setParameter("telefono", p.getTelefono());
List<Proveedor> resTel = q.getResultList();
if(!resTel.isEmpty()){
Proveedor proveedorEncontrada = resTel.stream()
q.setParameter("telefono", telefono);
// Obtener los resultados de la consulta
List<Proveedor> resultados = q.getResultList();
.filter(resTel::contains)
.findFirst()
.orElse(null);
// Si hay resultados, devolver el primer resultado, de lo contrario, devolver Optional.empty()
return resultados.isEmpty() ? Optional.empty() : Optional.of(resultados.get(0));
}
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">
<f:view>
<f:metadata>
<f:viewParam name="rol" value="#{demoBeanLogin.rol}" />
<f:event type="preRenderView" listener="#{demoBeanLogin.verificarAcceso('admin,almacenista')}" />
</f:metadata>
<div>
<h:form>
@ -114,7 +119,8 @@
update=":dialogForm"
style="margin-top: 5px"
value="Nuevo"
ajax="true"/>
ajax="true"
disabled="#{demoBeanLogin.permisos}"/>
</div>
<div style="flex: 1; text-align: center;"> <!-- Div para el texto centrado -->
@ -205,7 +211,8 @@
oncomplete="PF('dialogproveedor').show()"
update=":dialogForm"
icon="pi pi-pencil"
ajax="true"/>
ajax="true"
disabled="#{demoBeanLogin.permisos}"/>
<p:commandButton actionListener="#{demoBeanProveedor.prepararEliminar(item)}"
icon="pi pi-trash"
@ -213,7 +220,8 @@
update=":dialogForm1"
style="margin-left: 5px"
styleClass="ui-button-danger"
ajax="true"/>
ajax="true"
disabled="#{demoBeanLogin.permisos}"/>
</div>
</p:column>
</p:dataTable>

12
ProyectoInventario-war/web/ubicacionLista.xhtml

@ -16,6 +16,11 @@
<ui:define name="content">
<f:view>
<f:metadata>
<f:viewParam name="rol" value="#{demoBeanLogin.rol}" />
<f:event type="preRenderView" listener="#{demoBeanLogin.verificarAcceso('admin,almacenista')}" />
</f:metadata>
<div>
<h:form>
<p:menubar>
@ -116,7 +121,8 @@
value="Nuevo"
update=":dialogForm"
icon="pi pi-plus"
ajax="true"/>
ajax="true"
disabled="#{demoBeanLogin.permisos}"/>
</div>
<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>
@ -161,6 +167,7 @@
update=":dialogForm"
icon="pi pi-fw pi-pencil"
styleClass="ui-button-secondary" ajax="true"
disabled="#{demoBeanLogin.permisos}"
/>
<p:commandButton actionListener="#{demoBeanUbicacion.prepararEliminar(item)}"
ajax="true"
@ -168,7 +175,8 @@
update=":dialogForm1"
icon="pi pi-trash"
style="margin-left: 5px"
styleClass="ui-button-danger"/>
styleClass="ui-button-danger"
disabled="#{demoBeanLogin.permisos}"/>
</div>
</p:column>
</p:column>

Loading…
Cancel
Save