Browse Source

modificación de ProveedorDAO y backend de marca

master
nickdalyrendon 7 months ago
parent
commit
81d07cf0d1
  1. 42
      Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/bl/MarcaBL.java
  2. 5
      Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/bl/MarcaBLLocal.java
  3. 1
      Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/dao/MarcaDAO.java
  4. 39
      Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/dao/ProveedorDAO.java
  5. 124
      Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/vista/DemoBeanMarca.java
  6. 17
      Inventario-war/web/marcaLista.xhtml

42
Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/bl/MarcaBL.java

@ -25,10 +25,9 @@ public class MarcaBL implements MarcaBLLocal {
// Add business logic below. (Right-click in editor and choose // Add business logic below. (Right-click in editor and choose
// "Insert Code > Add Business Method") // "Insert Code > Add Business Method")
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { public void addMessage(FacesMessage.Severity severity, String summary, String detail) {
FacesContext.getCurrentInstance(). FacesContext.getCurrentInstance().
addMessage(null, new FacesMessage(severity, summary, detail)); addMessage("marcaMsj", new FacesMessage(severity, summary, detail));
} }
@ -39,21 +38,26 @@ public class MarcaBL implements MarcaBLLocal {
Mensaje m = null; Mensaje m = null;
//Toda la logica //Toda la logica
//Optional<Marca> me = marcaDAO.buscarMarca(marca); if (marca.getNombre().isEmpty() ) {
Optional<Marca> marcaEncontradoOptional = marcaDAO.buscarMarca(marca); m = Mensaje.CAMPOS_INCOMPLETOS;
Marca e = marcaDAO.buscarPorId(marca); System.out.println("CAMPOS INCOMPLETOS");
return m;
}
Optional<Marca> marcaEncontradoOptional = marcaDAO.buscarMarca(marca);
if (marcaEncontradoOptional.isPresent()) { if (marcaEncontradoOptional.isPresent()) {
marcaEncontradoOptional.get(); marcaEncontradoOptional.get();
m = Mensaje.ELEMENTO_DUPLICADO; m = Mensaje.ELEMENTO_DUPLICADO;
System.out.println("NO SE PUEDE AGREGAR, YA EXISTE"); System.out.println("NO SE PUEDE AGREGAR, LA MARCA YA EXISTE");
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "La marca ya existe"); addMessage(FacesMessage.SEVERITY_ERROR, "", "¡Error! El elemento ya existe");
} else { } else {
marcaDAO.agregar(marca); marcaDAO.agregar(marca);
m = Mensaje.SIN_ERROR; m = Mensaje.SIN_ERROR;
System.out.println("AGREGADO CON EXITO"); System.out.println("AGREGADO CON EXITO");
addMessage(FacesMessage.SEVERITY_INFO, "", "Se agrego la marca"); addMessage(FacesMessage.SEVERITY_INFO, "", "¡Elemento agregado con éxito!");
} }
return m; return m;
} }
@ -69,11 +73,11 @@ public class MarcaBL implements MarcaBLLocal {
if (c == null) { if (c == null) {
m = Mensaje.ELEMENTO_NO_ENCONTRADO; m = Mensaje.ELEMENTO_NO_ENCONTRADO;
System.out.println("NO EXISTE EL PROVEEDOR"); System.out.println("NO EXISTE LA MARCA");
return c; return c;
} else { } else {
m = Mensaje.SIN_ERROR; m = Mensaje.SIN_ERROR;
System.out.println("CATEGORIA ENCONTRADO CON EXITO: " + c.getId()); System.out.println("MARCA ENCONTRADA CON EXITO: " + c.getId());
return c; return c;
} }
} }
@ -106,7 +110,7 @@ public class MarcaBL implements MarcaBLLocal {
} }
@Override @Override
public void eliminarId(Marca marca) { public Mensaje eliminarId(Marca marca) {
MarcaDAO a = new MarcaDAO(); MarcaDAO a = new MarcaDAO();
Mensaje m = null; Mensaje m = null;
@ -119,10 +123,11 @@ public class MarcaBL implements MarcaBLLocal {
System.out.println("NO SE PUDO ELIMINAR"); System.out.println("NO SE PUDO ELIMINAR");
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "No se pudo eliminar"); addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "No se pudo eliminar");
} }
return m;
} }
@Override @Override
public void editar(Marca marca) { public Mensaje editar(Marca marca) {
MarcaDAO ed = new MarcaDAO(); MarcaDAO ed = new MarcaDAO();
Mensaje m = null; Mensaje m = null;
@ -131,13 +136,20 @@ public class MarcaBL implements MarcaBLLocal {
if (marcaEncontradoOptional.isPresent()) { if (marcaEncontradoOptional.isPresent()) {
marcaEncontradoOptional.get(); marcaEncontradoOptional.get();
m = Mensaje.ELEMENTO_DUPLICADO; m = Mensaje.ELEMENTO_DUPLICADO;
System.out.println("NO SE PUEDE AGREGAR, YA EXISTE"); System.out.println("NO SE PUEDE EDITAR, LA MARCA YA EXISTE");
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "La marca ya existe"); addMessage(FacesMessage.SEVERITY_ERROR, "", "¡Error al editar! El elemento ya existe");
} else { } else {
ed.editar(marca); ed.editar(marca);
m = Mensaje.SIN_ERROR; m = Mensaje.SIN_ERROR;
System.out.println("AGREGADO CON EXITO"); System.out.println("AGREGADO CON EXITO");
addMessage(FacesMessage.SEVERITY_INFO, "", "Marca editada correctamente"); addMessage(FacesMessage.SEVERITY_INFO, "", "¡Elemento editado correctamente!");
}
return m;
} }
public List<Marca> getAll() {
MarcaDAO p = new MarcaDAO();
return p.buscarStatus(true);
} }
} }

5
Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/bl/MarcaBLLocal.java

@ -16,6 +16,7 @@ import mx.edu.tjs.chapala.sistemas.msg.Mensaje;
*/ */
@Local @Local
public interface MarcaBLLocal { public interface MarcaBLLocal {
Mensaje agregar(Marca marca); Mensaje agregar(Marca marca);
Marca buscarId(Marca marca); Marca buscarId(Marca marca);
@ -25,7 +26,7 @@ public interface MarcaBLLocal {
List<Marca> buscarStatus(boolean b); List<Marca> buscarStatus(boolean b);
void eliminarId(Marca marca); Mensaje eliminarId(Marca marca);
public void editar(Marca p); Mensaje editar(Marca p);
} }

1
Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/dao/MarcaDAO.java

@ -30,6 +30,7 @@ private EntityManager em; //Manejador de entidades (entidad=bean del modelo)
public void agregar(Marca p) { public void agregar(Marca p) {
em.getTransaction().begin(); em.getTransaction().begin();
p.setStatus(1);
em.persist(p); //Almacenar en la BD em.persist(p); //Almacenar en la BD
em.getTransaction().commit(); em.getTransaction().commit();
} }

39
Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/dao/ProveedorDAO.java

@ -77,16 +77,51 @@ public class ProveedorDAO {
Query q3 = em.createNamedQuery("Proveedor.findByTelefono"); Query q3 = em.createNamedQuery("Proveedor.findByTelefono");
q3.setParameter("telefono", p.getTelefono()); q3.setParameter("telefono", p.getTelefono());
Query q4 = em.createNamedQuery("Proveedor.findByMunicipio");
q4.setParameter("municipio", p.getMunicipio());
Query q5 = em.createNamedQuery("Proveedor.findByPais");
q5.setParameter("pais", p.getPais());
Query q6 = em.createNamedQuery("Proveedor.findByEstado");
q6.setParameter("estado", p.getEstado());
Query q7 = em.createNamedQuery("Proveedor.findByCp");
q7.setParameter("cp", p.getCp());
Query q8 = em.createNamedQuery("Proveedor.findByCalle");
q8.setParameter("calle", p.getCalle());
Query q9 = em.createNamedQuery("Proveedor.findByNumero");
q9.setParameter("numero", p.getNumero());
List<Proveedor> resultadoNombre = q1.getResultList(); List<Proveedor> resultadoNombre = q1.getResultList();
List<Proveedor> resultadoCorreo = q2.getResultList(); List<Proveedor> resultadoCorreo = q2.getResultList();
List<Proveedor> resultadoTelefono = q3.getResultList(); List<Proveedor> resultadoTelefono = q3.getResultList();
List<Proveedor> resultadoMunicipio = q4.getResultList();
List<Proveedor> resultadoPais = q5.getResultList();
List<Proveedor> resultadoEstado = q6.getResultList();
List<Proveedor> resultadoCp = q7.getResultList();
List<Proveedor> resultadoCalle = q8.getResultList();
List<Proveedor> resultadoNumero = q9.getResultList();
// Verifica si hay resultados para todos los campos // Verifica si hay resultados para todos los campos
if (!resultadoNombre.isEmpty() && !resultadoCorreo.isEmpty() && !resultadoTelefono.isEmpty()) { if (!resultadoNombre.isEmpty() && !resultadoCorreo.isEmpty() && !resultadoTelefono.isEmpty()
// Compara si el mismo autor está en los tres resultados && !resultadoMunicipio.isEmpty() && !resultadoPais.isEmpty() && !resultadoEstado.isEmpty()
&& !resultadoCp.isEmpty() && !resultadoCalle.isEmpty() && !resultadoNumero.isEmpty()) {
// Compara si el mismo autor está en los resultados
Proveedor autorEncontrado = resultadoNombre.stream() Proveedor autorEncontrado = resultadoNombre.stream()
.filter(resultadoCorreo::contains) .filter(resultadoCorreo::contains)
.filter(resultadoTelefono::contains) .filter(resultadoTelefono::contains)
.filter(resultadoMunicipio::contains)
.filter(resultadoPais::contains)
.filter(resultadoEstado::contains)
.filter(resultadoCp::contains)
.filter(resultadoCalle::contains)
.filter(resultadoNumero::contains)
.findFirst() .findFirst()
.orElse(null); .orElse(null);

124
Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/vista/DemoBeanMarca.java

@ -14,6 +14,9 @@ import mx.edu.tjs.chapala.sistemas.bl.CategoriaBLLocal;
import mx.edu.tjs.chapala.sistemas.bl.MarcaBLLocal; import mx.edu.tjs.chapala.sistemas.bl.MarcaBLLocal;
import mx.edu.tjs.chapala.sistemas.modelo.Categoria; import mx.edu.tjs.chapala.sistemas.modelo.Categoria;
import mx.edu.tjs.chapala.sistemas.modelo.Marca; import mx.edu.tjs.chapala.sistemas.modelo.Marca;
import mx.edu.tjs.chapala.sistemas.msg.Mensaje;
import static mx.edu.tjs.chapala.sistemas.msg.Mensaje.ELEMENTO_DUPLICADO;
import static mx.edu.tjs.chapala.sistemas.msg.Mensaje.SIN_ERROR;
import org.primefaces.PrimeFaces; import org.primefaces.PrimeFaces;
import org.primefaces.util.LangUtils; import org.primefaces.util.LangUtils;
@ -35,57 +38,46 @@ public class DemoBeanMarca implements Serializable {
public DemoBeanMarca() { public DemoBeanMarca() {
} }
public String agregar() {
Marca p = new Marca();
p.setNombre("LG");
p.setStatus(1);
marcaBL.agregar(p);
return "index.xhtml";
}
//////////////////////////////////////////////////////////
public String agregarMarca() { public String agregarMarca() {
marca.setStatus(1); Mensaje mensaje = marcaBL.agregar(marca);
marcaBL.agregar(marca);
marca = new Marca(); //refresca el campo
PrimeFaces.current().executeScript("PF('dlg'.hide()");
return "marcaLista.xhtml";
}
/////////////////////////////////////////////////////////
switch (mensaje) {
case SIN_ERROR:
marca = new Marca(); //limpiar
PrimeFaces.current().executeScript("PF('dlg').hide()");
PrimeFaces.current().ajax().update("formtabla:growl");
return "marcaLista.xhtml";
case ELEMENTO_DUPLICADO:
return null;
default:
return null;
}
}
public String editarmarca() {
Mensaje mensaje = marcaBL.editar(marca);
public String editar() { switch (mensaje) {
Marca p = new Marca(); case SIN_ERROR:
p.setId(1); marca = new Marca();
p.setNombre("Samsung"); PrimeFaces.current().executeScript("PF('dlg').hide()");
PrimeFaces.current().ajax().update("formtabla:growl");
return "marcaLista.xhtml";
p.setStatus(0); case ELEMENTO_DUPLICADO:
return null;
marcaBL.editar(p); default:
return "index.xhtml"; return null;
} }
public String buscarID() {
Marca p = new Marca();
p.setId(1);
marcaBL.buscarId(p);
return "index.xhtml";
} }
public String buscarNombre() { public void eliminarmarca() {
Marca p = new Marca(); marcaBL.eliminarId(marca);
p.setNombre("LG");
marcaBL.buscarNombre(p);
return "index.xhtml";
} }
public String buscarActivos() { public String buscarActivos() {
@ -127,40 +119,33 @@ public class DemoBeanMarca implements Serializable {
return titulo; return titulo;
} }
public boolean isNuevo() {
return nuevo;
}
public void preparareditar(Marca marca) { public void preparareditar(Marca marca) {
nuevo = false; nuevo = false;
titulo="Editar Marca"; titulo = "E D I T A R";
this.marca = marca; this.marca = marca;
} }
public void prepararnuevo() { public void prepararnuevo() {
nuevo = true; nuevo = true;
titulo="Agregar marca"; titulo = "A G R E G A R";
marca = new Marca(); marca = new Marca();
} }
public boolean isNuevo() {
return nuevo;
}
public void editarmarca(){
nuevo= false;
marcaBL.editar(marca);
PrimeFaces.current().executeScript("PF('dlg'.hide()");
}
public void preparareliminar(Marca marca) { public void preparareliminar(Marca marca) {
this.marca = marca; this.marca = marca;
} }
public void eliminarmarca(){
marcaBL.eliminarId(marca);
}
public boolean globalFilterFunction(Object value, Object filter, Locale locale) { public boolean globalFilterFunction(Object value, Object filter, Locale locale) {
String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase(); String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase();
if (LangUtils.isBlank(filterText)) { if (LangUtils.isBlank(filterText)) {
return true; return true;
} }
Marca customer = (Marca) value; Marca customer = (Marca) value;
return customer.getNombre().toLowerCase().contains(filterText) return customer.getNombre().toLowerCase().contains(filterText)
|| customer.getNombre().toLowerCase().contains(filterText); || customer.getNombre().toLowerCase().contains(filterText);
@ -178,4 +163,37 @@ public class DemoBeanMarca implements Serializable {
public String editar() {
Marca p = new Marca();
p.setId(1);
p.setNombre("Samsung");
p.setStatus(0);
marcaBL.editar(p);
return "index.xhtml";
}
public String buscarID() {
Marca p = new Marca();
p.setId(1);
marcaBL.buscarId(p);
return "index.xhtml";
}
public String buscarNombre() {
Marca p = new Marca();
p.setNombre("LG");
marcaBL.buscarNombre(p);
return "index.xhtml";
}
} }

17
Inventario-war/web/marcaLista.xhtml

@ -29,27 +29,13 @@
<p:menuitem action="usuariosLista.xhtml" value="Usuarios" ajax="false" icon="pi pi-users" iconPos="left" style="background-color: white" styleClass="botonMenu" /> <p:menuitem action="usuariosLista.xhtml" value="Usuarios" ajax="false" icon="pi pi-users" iconPos="left" style="background-color: white" styleClass="botonMenu" />
</p:menu> </p:menu>
</h:form> </h:form>
</ui:define> </ui:define>
<ui:define name="content" > <ui:define name="content" >
<f:view> <f:view>
<h:form id="formtabla"> <h:form id="formtabla">
<p:growl id="growl" showDetail="true" /> <p:growl id="growl" showDetail="true" />
<p:dataTable id="tabla" value="#{demoBeanMarca.marcas}" var="item" <p:dataTable id="tabla" value="#{demoBeanMarca.marcas}" var="item"
widgetVar="marcas" emptyMessage="No se han encontrado marcas" widgetVar="marcas" emptyMessage="No se han encontrado marcas"
filteredValue="#{demoBeanMarca.filteredCustomers3}" filteredValue="#{demoBeanMarca.filteredCustomers3}"
@ -59,7 +45,8 @@
<f:facet name="header"> <f:facet name="header">
<div class="flex justify-content-end" style="height: 30px;" > <div class="flex justify-content-end" style="height: 30px;" >
<div> <div>
<p:commandButton ajax="true" oncomplete="PF('dlg').show();" actionListener="#{demoBeanMarca.prepararnuevo()}" update=":dialog" value="Nuevo" icon="pi pi-plus" /> <p:commandButton ajax="true" oncomplete="PF('dlg').show();" actionListener="#{demoBeanMarca.prepararnuevo()}"
update=":dialog" value="Nuevo" icon="pi pi-plus" />
<i class="pi pi-search" style="margin-left: 765px; margin-top: 10px;"></i> <i class="pi pi-search" style="margin-left: 765px; margin-top: 10px;"></i>
<p:inputText id="globalFilter" onkeyup="PF('marcas').filter()" style="width:300px; margin-left: 10px; margin-top: -40px; float: right;" <p:inputText id="globalFilter" onkeyup="PF('marcas').filter()" style="width:300px; margin-left: 10px; margin-top: -40px; float: right;"

Loading…
Cancel
Save