From 2855f01bdbf00339a7e0bc46867a2fcc64461848 Mon Sep 17 00:00:00 2001 From: DANIEL IVAN ESTRADA MORANDO Date: Mon, 27 May 2024 19:29:23 -0600 Subject: [PATCH] Servicios Producto --- .../chapala/sistemas/jin/bl/CategoriaBL.java | 17 +++- .../sistemas/jin/bl/CategoriaBLLocal.java | 2 + .../tsj/chapala/sistemas/jin/bl/MarcaBL.java | 12 +++ .../chapala/sistemas/jin/bl/MarcaBLLocal.java | 2 + .../chapala/sistemas/jin/bl/ProductoBL.java | 11 +++ .../sistemas/jin/bl/ProductoBLLocal.java | 2 + .../chapala/sistemas/jin/bl/ProveedorBL.java | 11 +++ .../sistemas/jin/bl/ProveedorBLLocal.java | 2 + .../chapala/sistemas/jin/bl/UbicacionBL.java | 12 +++ .../sistemas/jin/bl/UbicacionBLLocal.java | 2 + .../sistemas/jin/dao/CategoriaDAO.java | 17 ++++ .../chapala/sistemas/jin/dao/MarcaDAO.java | 25 +++-- .../sistemas/jin/dao/ProductosDAO.java | 13 +++ .../sistemas/jin/dao/ProveedoresDAO.java | 16 +++ .../sistemas/jin/dao/UbicacionDAO.java | 18 ++++ .../jin/servicios/ProductosServlet.java | 98 +++++++++++++++++-- 16 files changed, 238 insertions(+), 22 deletions(-) diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/CategoriaBL.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/CategoriaBL.java index d517ae4..bb38fd3 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/CategoriaBL.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/CategoriaBL.java @@ -73,11 +73,18 @@ public class CategoriaBL implements CategoriaBLLocal { }else{ return categoriaDAO.buscarPorId(categoria); } - - - - - + + } + + @Override + public Categoria buscarIdInt(int id) { + CategoriaDAO categoriaDAO = new CategoriaDAO(); + if(categoriaDAO==null){ + return null; + }else{ + return categoriaDAO.buscarIdInt(id); + } + } @Override diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/CategoriaBLLocal.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/CategoriaBLLocal.java index 21f3bd7..0ea8313 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/CategoriaBLLocal.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/CategoriaBLLocal.java @@ -26,6 +26,8 @@ public interface CategoriaBLLocal { List getTodos(); + public Categoria buscarIdInt(int id); + } diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/MarcaBL.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/MarcaBL.java index a906b33..576851b 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/MarcaBL.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/MarcaBL.java @@ -84,6 +84,18 @@ public class MarcaBL implements MarcaBLLocal { return marcaDAO.getTodos(true); } + + @Override + public Marca buscarIdInt(int id) { + MarcaDAO marcaDAO = new MarcaDAO(); + if(marcaDAO==null){ + return null; + }else{ + return marcaDAO.buscarIdInt(id); + } + } + + diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/MarcaBLLocal.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/MarcaBLLocal.java index 732e062..7ca6f7c 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/MarcaBLLocal.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/MarcaBLLocal.java @@ -26,6 +26,8 @@ public interface MarcaBLLocal { List getAll(); + Marca buscarIdInt(int id); + } diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProductoBL.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProductoBL.java index 8652bb4..6d9cba8 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProductoBL.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProductoBL.java @@ -40,6 +40,7 @@ public class ProductoBL implements ProductoBLLocal { return pd.buscarPorId(producto); } } + @Override public Mensajes eliminar(Producto producto) { @@ -73,6 +74,16 @@ public class ProductoBL implements ProductoBLLocal { ProductosDAO pd = new ProductosDAO(); return pd.getAll(true); } + + @Override + public Producto buscarPorIdInt(int Id) { + ProductosDAO pd = new ProductosDAO(); + if(pd == null){ + return null; + }else{ + return pd.buscarPorIdInt(Id); + } + } diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProductoBLLocal.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProductoBLLocal.java index 8a7fe9b..8e7634f 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProductoBLLocal.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProductoBLLocal.java @@ -25,6 +25,8 @@ public interface ProductoBLLocal { Mensajes editar(Producto producto); List getAll(); + + Producto buscarPorIdInt(int Id); diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProveedorBL.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProveedorBL.java index 1e3877b..43f2d20 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProveedorBL.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProveedorBL.java @@ -82,6 +82,17 @@ public class ProveedorBL implements ProveedorBLLocal { return proovedorDAO.buscarPorId(proovedor); } } + + public Proovedor buscarIdInt(int id) { + ProveedoresDAO proovedorDAO = new ProveedoresDAO(); + if(proovedorDAO==null){ + return null; + }else{ + return proovedorDAO.buscarIdInt(id); + } + } + + public List getAll (){ ProveedoresDAO proovedorDAO = new ProveedoresDAO(); return proovedorDAO.getTodos(true); diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProveedorBLLocal.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProveedorBLLocal.java index 835d15c..ea20913 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProveedorBLLocal.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/ProveedorBLLocal.java @@ -24,6 +24,8 @@ public interface ProveedorBLLocal { Proovedor buscarId(Proovedor proovedor); List getAll(); + + public Proovedor buscarIdInt(int id); diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/UbicacionBL.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/UbicacionBL.java index 592cd05..02c348b 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/UbicacionBL.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/UbicacionBL.java @@ -65,6 +65,7 @@ public class UbicacionBL implements UbicacionBLLocal { return ubicacionDAO.buscarPorId(ubicacion); } } + public List getAll (boolean status){ UbicacionDAO ubicacionDAO = new UbicacionDAO(); return ubicacionDAO.getUbicaciones(status); @@ -110,6 +111,17 @@ public Mensajes agregarUbic(Ubicacion ubicacion) { return Mensajes.SIN_ERROR; } + + + @Override + public Ubicacion buscarIdInt(int id) { + UbicacionDAO ubicacionDAO = new UbicacionDAO(); + if(ubicacionDAO==null){ + return null; + }else{ + return ubicacionDAO.buscarIdInt(id); + } + } diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/UbicacionBLLocal.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/UbicacionBLLocal.java index b8be780..0d3cba5 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/UbicacionBLLocal.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/bl/UbicacionBLLocal.java @@ -27,5 +27,7 @@ public interface UbicacionBLLocal { public Mensajes agregarUbic(Ubicacion ubicacion); List getTodos(); + + public Ubicacion buscarIdInt(int id); } diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/CategoriaDAO.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/CategoriaDAO.java index 4d61d21..6eeeb38 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/CategoriaDAO.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/CategoriaDAO.java @@ -68,6 +68,23 @@ public class CategoriaDAO { } + + public Categoria buscarIdInt(int id){ + if (id == 0) { + return null; + } + Query q = em.createNamedQuery("Categoria.findByIdCategoria"); + q.setParameter("idCategoria", id); + if(q.getResultList().isEmpty()){ + return null; + } else { + return (Categoria) q.getResultList().get(0); + } + + + + } + public List getTodos(boolean status){ Query q = em.createNamedQuery("Categoria.findByStatus"); diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/MarcaDAO.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/MarcaDAO.java index d58b921..a503e11 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/MarcaDAO.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/MarcaDAO.java @@ -64,20 +64,31 @@ public class MarcaDAO { } else { return (Marca) q.getResultList().get(0); } - - - + } + + public Marca buscarIdInt(int id){ + if (id == 0 ) { + return null; + } + Query q = em.createNamedQuery("Marca.findByIdMarca"); + q.setParameter("idMarca", id); + if(q.getResultList().isEmpty()){ + return null; + } else { + return (Marca) q.getResultList().get(0); + } + + } + + public List getTodos(boolean status){ Query q = em.createNamedQuery("Marca.findByStatus"); int s = status?1:0; q.setParameter("status", s); return q.getResultList(); - - - - + } diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/ProductosDAO.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/ProductosDAO.java index e783a09..4fcb28a 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/ProductosDAO.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/ProductosDAO.java @@ -96,6 +96,19 @@ public class ProductosDAO { } } + public Producto buscarPorIdInt(int id){ + if(id == 0){ + return null; + } + Query q = em.createNamedQuery("Producto.findByIdProducto"); + q.setParameter("idProducto", id); + if(q.getResultList().isEmpty()){ + return null; + } else { + return (Producto) q.getResultList().get(0); + } + } + public List getAll(boolean status){ Query q = em.createNamedQuery("Producto.findByStatus"); int s = status?1:0; diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/ProveedoresDAO.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/ProveedoresDAO.java index b3ac5fc..fd7aa21 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/ProveedoresDAO.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/ProveedoresDAO.java @@ -69,6 +69,22 @@ public class ProveedoresDAO { return (Proovedor) q.getResultList().get(0); } } + + public Proovedor buscarIdInt(int id){ + if (id == 0) { + return null; + } + Query q = em.createNamedQuery("Proovedor.findByIdProovedor"); + q.setParameter("idProovedor", id); + if(q.getResultList().isEmpty()){ + return null; + } else { + return (Proovedor) q.getResultList().get(0); + } +} + + + public List getTodos(boolean status){ Query q = em.createNamedQuery("Proovedor.findByStatus"); diff --git a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/UbicacionDAO.java b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/UbicacionDAO.java index ee44d9d..3268809 100644 --- a/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/UbicacionDAO.java +++ b/InventarioJakartaJIN-ejb/src/java/mx/edu/tsj/chapala/sistemas/jin/dao/UbicacionDAO.java @@ -47,6 +47,8 @@ public class UbicacionDAO { return (Ubicacion) q.getResultList().get(0); } } + + public void agregar(Ubicacion u) { em.getTransaction().begin(); @@ -122,4 +124,20 @@ public class UbicacionDAO { q.setParameter("status", s); return q.getResultList(); } + + public Ubicacion buscarIdInt(int id) { + if (id == 0) { + return null; + } + Query q = em.createNamedQuery("Ubicacion.findByIdUbicacion"); + q.setParameter("idUbicacion", id); + if (q.getResultList().isEmpty()) { + return null; + } else { + return (Ubicacion) q.getResultList().get(0); + } + } + + + } diff --git a/InventarioJakartaJIN-war/src/java/mx/edu/tsj/chapala/sistemas/jin/servicios/ProductosServlet.java b/InventarioJakartaJIN-war/src/java/mx/edu/tsj/chapala/sistemas/jin/servicios/ProductosServlet.java index 825f713..3b91ce4 100644 --- a/InventarioJakartaJIN-war/src/java/mx/edu/tsj/chapala/sistemas/jin/servicios/ProductosServlet.java +++ b/InventarioJakartaJIN-war/src/java/mx/edu/tsj/chapala/sistemas/jin/servicios/ProductosServlet.java @@ -6,19 +6,48 @@ package mx.edu.tsj.chapala.sistemas.jin.servicios; import java.io.IOException; import java.io.PrintWriter; +import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import mx.edu.tsj.chapala.sistemas.jin.bl.CategoriaBLLocal; +import mx.edu.tsj.chapala.sistemas.jin.bl.MarcaBLLocal; +import mx.edu.tsj.chapala.sistemas.jin.bl.ProductoBLLocal; +import mx.edu.tsj.chapala.sistemas.jin.bl.ProveedorBLLocal; +import mx.edu.tsj.chapala.sistemas.jin.bl.UbicacionBLLocal; +import mx.edu.tsj.chapala.sistemas.jin.modelo.Categoria; +import mx.edu.tsj.chapala.sistemas.jin.modelo.Marca; +import mx.edu.tsj.chapala.sistemas.jin.modelo.Producto; +import mx.edu.tsj.chapala.sistemas.jin.modelo.Proovedor; +import mx.edu.tsj.chapala.sistemas.jin.modelo.Ubicacion; /** * * @author estra */ + + @WebServlet(name = "ProductosServlet", urlPatterns = {"/ProductosServlet"}) public class ProductosServlet extends HttpServlet { + @EJB + private UbicacionBLLocal ubicacionBL; + + @EJB + private ProveedorBLLocal proveedorBL; + + @EJB + private MarcaBLLocal marcaBL; + + @EJB + private CategoriaBLLocal categoriaBL; + + @EJB + private ProductoBLLocal productoBL; + + /** * Processes requests for both HTTP GET and POST * methods. @@ -33,15 +62,63 @@ public class ProductosServlet extends HttpServlet { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { /* TODO output your page here. You may use following sample code. */ - out.println(""); - out.println(""); - out.println(""); - out.println("Servlet ProductosServlet"); - out.println(""); - out.println(""); - out.println("

Servlet ProductosServlet at " + request.getContextPath() + "

"); - out.println(""); - out.println(""); + String opcion = request.getParameter("Opc"); + + + switch(opcion){ + case "1": + Producto p = productoBL.buscarPorIdInt(Integer.parseInt(request.getParameter("id"))); + if(p.getStatus() == 0){ + out.print("No existe ese producto"); + }else{ + out.print("

"+p.getNombre()+"

"); + } + + break; + + case "2": + Producto pE = productoBL.buscarPorIdInt(Integer.parseInt(request.getParameter("id"))); + if(pE.getStatus() == 0){ + out.print("No existe ese elemento"); + }else{ + productoBL.eliminar(pE); + out.print("Eliminado con éxito"); + } + break; + + case "3": + Producto nuevo = new Producto(); + Marca m = marcaBL.buscarIdInt(Integer.parseInt(request.getParameter("idMarca"))); + Ubicacion u = ubicacionBL.buscarIdInt(Integer.parseInt(request.getParameter("idUbi"))); + Categoria c = categoriaBL.buscarIdInt(Integer.parseInt(request.getParameter("idCat"))); + Proovedor prov = proveedorBL.buscarIdInt(Integer.parseInt(request.getParameter("idProv"))); + + if (m == null || u == null || c == null || prov == null) { + out.print("Ocurrió un error con éxito"); + } else { + nuevo.setMarcaidMarca(m); + nuevo.setCategoriaidCategoria(c); + nuevo.setUbicacionidUbicacion(u); + nuevo.setProovedoridProovedor(prov); + nuevo.setCodigo(request.getParameter("codigo")); + nuevo.setDescripcion(request.getParameter("descrip")); + nuevo.setPrecio(Double.parseDouble(request.getParameter("precio"))); + nuevo.setCantidadTotal(Integer.parseInt(request.getParameter("cant"))); + nuevo.setStatus((short) 1); + nuevo.setNombre(request.getParameter("nombre")); + + productoBL.agregar(nuevo); + out.print("Agregado con éxito"); + } + break; + + default: + out.print("

No existe esa opcion

"); + break; + + } + + } } @@ -57,7 +134,8 @@ public class ProductosServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - processRequest(request, response); + + processRequest(request, response); } /**