Compare commits
2 Commits
9075a64286
...
d8cafa82d9
Author | SHA1 | Date |
---|---|---|
chore | d8cafa82d9 | 7 months ago |
chore | cbde9352ad | 7 months ago |
12 changed files with 599 additions and 3 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,133 @@ |
|||
/* |
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
|||
*/ |
|||
package hola.BL; |
|||
|
|||
import hola.dao.EstadoDAO; |
|||
import hola.modelo.Estado; |
|||
import hola.msg.Mensaje; |
|||
import java.util.List; |
|||
import java.util.Optional; |
|||
import javax.ejb.Stateless; |
|||
import javax.faces.application.FacesMessage; |
|||
import javax.faces.context.FacesContext; |
|||
|
|||
/** |
|||
* |
|||
* @author chore |
|||
*/ |
|||
@Stateless |
|||
public class EstadoBL implements EstadoBLLocal { |
|||
|
|||
// Add business logic below. (Right-click in editor and choose
|
|||
// "Insert Code > Add Business Method")
|
|||
@Override |
|||
public Mensaje agregar(Estado estado) { |
|||
// Comentario de lógica: Método para agregar un proveedor
|
|||
//, Registro registro//
|
|||
System.out.println("Llegaste al metodo de agregar Usuario"); |
|||
EstadoDAO estadoDAO = new EstadoDAO(); |
|||
Mensaje m = null; |
|||
|
|||
// Validar que los campos requeridos no estén vacíos
|
|||
if (estado.getNombre().isEmpty()) { |
|||
System.out.println(Mensaje.CAMPOS_INCOMPLETOS); |
|||
// Enviar mensaje de error si algún campo está incompleto
|
|||
return Mensaje.CAMPOS_INCOMPLETOS; |
|||
} |
|||
|
|||
// Buscar si el proveedor ya existe en la base de datos
|
|||
Optional<Estado> usuarioEncontradoOptional = estadoDAO.buscarEstado(estado); |
|||
|
|||
if (usuarioEncontradoOptional.isPresent()) { |
|||
// Manejar el caso en el que se encontró al menos un proveedor duplicado
|
|||
usuarioEncontradoOptional.get(); |
|||
addMessage(FacesMessage.SEVERITY_ERROR, "Error", "Elemento duplicado"); |
|||
m = Mensaje.ELEMENTO_DUPLICADO; |
|||
} else { |
|||
// Agregar el proveedor a la base de datos si no está duplicado
|
|||
estadoDAO.agregar(estado); |
|||
//registroDAO.agregar(registro);
|
|||
m = Mensaje.SIN_ERROR; |
|||
} |
|||
|
|||
return m; |
|||
} |
|||
|
|||
@Override |
|||
public Estado buscarId(Estado estado) { |
|||
// Comentario de lógica: Método para buscar un proveedor por ID
|
|||
EstadoDAO edao = new EstadoDAO(); |
|||
return edao.buscarPorId(estado); |
|||
} |
|||
|
|||
@Override |
|||
public void eliminarId(Estado estado) { |
|||
// Comentario de lógica: Método para eliminar un proveedor por ID
|
|||
EstadoDAO edao = new EstadoDAO(); |
|||
if (edao.eliminar(estado)) { |
|||
System.out.println(Mensaje.SIN_ERROR); |
|||
} else { |
|||
System.out.println(Mensaje.NO_EXISTE); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public Mensaje editar(Estado estado) { |
|||
// Comentario de lógica: Método para editar un proveedor
|
|||
Mensaje m; |
|||
EstadoDAO estadoDAO = new EstadoDAO(); |
|||
|
|||
// Validar que los campos requeridos no estén vacíos
|
|||
if (estado.getNombre().isEmpty() |
|||
|| estado.getStatus() == null) { |
|||
|
|||
// Enviar mensaje de error si algún campo está incompleto
|
|||
m = Mensaje.CAMPOS_INCOMPLETOS; |
|||
System.out.println(Mensaje.CAMPOS_INCOMPLETOS); |
|||
return m; |
|||
} |
|||
|
|||
try { |
|||
// Editar el proveedor solo si todas las validaciones son exitosas
|
|||
Optional<Estado> user = estadoDAO.buscarEstado(estado); |
|||
if (user.isPresent()) { |
|||
|
|||
addMessage(FacesMessage.SEVERITY_ERROR, "Error", "Elemento duplicado"); |
|||
m = Mensaje.ELEMENTO_DUPLICADO; |
|||
} else { |
|||
|
|||
if (estadoDAO.editar(estado) == true) { |
|||
m = Mensaje.SIN_ERROR; |
|||
System.out.println(Mensaje.SIN_ERROR); |
|||
return m; |
|||
} else { |
|||
m = Mensaje.N0_EXISTE; |
|||
System.out.println(Mensaje.NO_EXISTE); |
|||
return m; |
|||
} |
|||
} |
|||
} catch (Exception e) { |
|||
// Capturar cualquier excepción que ocurra durante la edición del proveedor
|
|||
m = Mensaje.DATOS_INCORRECTOS; |
|||
System.out.println(Mensaje.DATOS_INCORRECTOS); |
|||
e.printStackTrace(); |
|||
} |
|||
return m; |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public List<Estado> buscarValidos(boolean estado) { |
|||
EstadoDAO estadoDAO = new EstadoDAO(); |
|||
List l = estadoDAO.buscarValidos(estado); |
|||
// Llama al método buscarValidos de ProductoDAO y devuelve la lista resultante
|
|||
System.out.println(l); |
|||
return l; |
|||
} |
|||
|
|||
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
|||
FacesContext.getCurrentInstance().addMessage("MensajeUsuario", new FacesMessage(severity, summary, detail)); |
|||
} |
|||
} |
@ -0,0 +1,28 @@ |
|||
/* |
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
|||
*/ |
|||
package hola.BL; |
|||
|
|||
import hola.modelo.Estado; |
|||
import hola.msg.Mensaje; |
|||
import java.util.List; |
|||
import javax.ejb.Local; |
|||
|
|||
/** |
|||
* |
|||
* @author chore |
|||
*/ |
|||
@Local |
|||
public interface EstadoBLLocal { |
|||
|
|||
public Mensaje agregar(Estado estado); |
|||
|
|||
public Estado buscarId(Estado estado); |
|||
|
|||
public void eliminarId(Estado estado); |
|||
|
|||
public Mensaje editar(Estado estado); |
|||
|
|||
public List<Estado> buscarValidos(boolean estado); |
|||
} |
@ -0,0 +1,128 @@ |
|||
/* |
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
|||
*/ |
|||
package hola.dao; |
|||
|
|||
import hola.modelo.Estado; |
|||
import java.util.List; |
|||
import java.util.Optional; |
|||
import javax.persistence.EntityManager; |
|||
import javax.persistence.EntityManagerFactory; |
|||
import javax.persistence.Persistence; |
|||
import javax.persistence.Query; |
|||
|
|||
/** |
|||
* |
|||
* @author chore |
|||
*/ |
|||
public class EstadoDAO { |
|||
|
|||
private EntityManager em; |
|||
public EstadoDAO() { |
|||
EntityManagerFactory emf = Persistence.createEntityManagerFactory("si-ejbPU"); |
|||
em = emf.createEntityManager(); |
|||
|
|||
} |
|||
public void agregar(Estado estado) { |
|||
em.getTransaction().begin(); |
|||
estado.setStatus(1); |
|||
em.persist(estado);//Almacenar en DB
|
|||
em.getTransaction().commit(); |
|||
|
|||
} |
|||
|
|||
public boolean editar(Estado estado) { |
|||
if (buscarPorId(estado) == null) { |
|||
return false; |
|||
} else { |
|||
em.getTransaction().begin(); |
|||
em.merge(estado);//edita en la base de datos
|
|||
em.getTransaction().commit(); |
|||
return true; |
|||
} |
|||
|
|||
} |
|||
|
|||
public boolean eliminar(Estado estado) { |
|||
if (buscarPorId(estado) == null) { |
|||
return false; |
|||
} else { |
|||
|
|||
// Iniciar transacción
|
|||
em.getTransaction().begin(); |
|||
|
|||
// Obtener proveedor actualizado desde la base de datos
|
|||
Estado u = em.find(Estado.class, estado.getId()); |
|||
|
|||
// Conservar datos existentes
|
|||
estado.setNombre(u.getNombre()); |
|||
|
|||
|
|||
|
|||
// Modificar solo el estado
|
|||
estado.setStatus(0); |
|||
em.merge(estado); |
|||
em.getTransaction().commit(); |
|||
return true; |
|||
} |
|||
|
|||
} |
|||
|
|||
public Estado buscarPorId(Estado estado) { |
|||
Query q = em.createNamedQuery("Estado.findById"); |
|||
q.setParameter("id", estado.getId()); |
|||
if (q.getResultList().isEmpty()) { |
|||
return null; |
|||
} else { |
|||
return (Estado) q.getResultList().get(0); |
|||
} |
|||
|
|||
} |
|||
|
|||
public List<Estado> buscarValidos(boolean status) { |
|||
Query q = em.createNamedQuery("Estado.findByStatus"); |
|||
int s = status ? 1 : 0; |
|||
q.setParameter("status", s); |
|||
if (s == 1) { |
|||
System.out.println("Activos"); |
|||
} else { |
|||
System.out.println("Inactivos"); |
|||
} |
|||
return q.getResultList(); |
|||
} |
|||
|
|||
public Estado buscarPorNombre(Estado estado) { |
|||
Query q = em.createNamedQuery("Estado.findByNombre"); |
|||
q.setParameter("nombre", estado.getNombre()); |
|||
if (q.getResultList().isEmpty()) { |
|||
return null; |
|||
} else { |
|||
return (Estado) q.getResultList().get(0); |
|||
} |
|||
} |
|||
|
|||
public Optional<Estado> buscarEstado(Estado estado) { |
|||
|
|||
Query q1 = em.createNamedQuery("Estado.findByNombre"); |
|||
q1.setParameter("nombre", estado.getNombre()); |
|||
|
|||
|
|||
|
|||
List<Estado> resultadoNombre = q1.getResultList(); |
|||
|
|||
|
|||
// Verifica si hay resultados para todos los campos
|
|||
if (!resultadoNombre.isEmpty()) { |
|||
// Compara si la misma editorial está en los tres resultados
|
|||
Estado usuarioEncontrado = resultadoNombre.stream() |
|||
.findFirst() |
|||
.orElse(null); |
|||
|
|||
return Optional.ofNullable(usuarioEncontrado); |
|||
} else { |
|||
// Devuelve Optional vacío para indicar ausencia de resultados
|
|||
return Optional.empty(); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,138 @@ |
|||
/* |
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
|||
*/ |
|||
package hola.modelo; |
|||
|
|||
import java.io.Serializable; |
|||
import javax.persistence.Basic; |
|||
import javax.persistence.Column; |
|||
import javax.persistence.Entity; |
|||
import javax.persistence.GeneratedValue; |
|||
import javax.persistence.GenerationType; |
|||
import javax.persistence.Id; |
|||
import javax.persistence.NamedQueries; |
|||
import javax.persistence.NamedQuery; |
|||
import javax.persistence.Table; |
|||
import javax.validation.constraints.Size; |
|||
import javax.xml.bind.annotation.XmlRootElement; |
|||
|
|||
/** |
|||
* |
|||
* @author chore |
|||
*/ |
|||
@Entity |
|||
@Table(name = "registro", catalog = "sistemadeinventario", schema = "") |
|||
@XmlRootElement |
|||
@NamedQueries({ |
|||
@NamedQuery(name = "Registro.findAll", query = "SELECT r FROM Registro r"), |
|||
@NamedQuery(name = "Registro.findById", query = "SELECT r FROM Registro r WHERE r.id = :id"), |
|||
@NamedQuery(name = "Registro.findByEntrada", query = "SELECT r FROM Registro r WHERE r.entrada = :entrada"), |
|||
@NamedQuery(name = "Registro.findBySalida", query = "SELECT r FROM Registro r WHERE r.salida = :salida"), |
|||
@NamedQuery(name = "Registro.findByAlta", query = "SELECT r FROM Registro r WHERE r.alta = :alta"), |
|||
@NamedQuery(name = "Registro.findByBaja", query = "SELECT r FROM Registro r WHERE r.baja = :baja"), |
|||
@NamedQuery(name = "Registro.findByStatus", query = "SELECT r FROM Registro r WHERE r.status = :status")}) |
|||
public class Registro implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Basic(optional = false) |
|||
@Column(name = "id") |
|||
private Integer id; |
|||
@Size(max = 10) |
|||
@Column(name = "Entrada") |
|||
private String entrada; |
|||
@Size(max = 10) |
|||
@Column(name = "salida") |
|||
private String salida; |
|||
@Size(max = 45) |
|||
@Column(name = "Alta") |
|||
private String alta; |
|||
@Size(max = 45) |
|||
@Column(name = "baja") |
|||
private String baja; |
|||
@Column(name = "status") |
|||
private Integer status; |
|||
|
|||
public Registro() { |
|||
} |
|||
|
|||
public Registro(Integer id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
public Integer getId() { |
|||
return id; |
|||
} |
|||
|
|||
public void setId(Integer id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
public String getEntrada() { |
|||
return entrada; |
|||
} |
|||
|
|||
public void setEntrada(String entrada) { |
|||
this.entrada = entrada; |
|||
} |
|||
|
|||
public String getSalida() { |
|||
return salida; |
|||
} |
|||
|
|||
public void setSalida(String salida) { |
|||
this.salida = salida; |
|||
} |
|||
|
|||
public String getAlta() { |
|||
return alta; |
|||
} |
|||
|
|||
public void setAlta(String alta) { |
|||
this.alta = alta; |
|||
} |
|||
|
|||
public String getBaja() { |
|||
return baja; |
|||
} |
|||
|
|||
public void setBaja(String baja) { |
|||
this.baja = baja; |
|||
} |
|||
|
|||
public Integer getStatus() { |
|||
return status; |
|||
} |
|||
|
|||
public void setStatus(Integer status) { |
|||
this.status = status; |
|||
} |
|||
|
|||
@Override |
|||
public int hashCode() { |
|||
int hash = 0; |
|||
hash += (id != null ? id.hashCode() : 0); |
|||
return hash; |
|||
} |
|||
|
|||
@Override |
|||
public boolean equals(Object object) { |
|||
// TODO: Warning - this method won't work in the case the id fields are not set
|
|||
if (!(object instanceof Registro)) { |
|||
return false; |
|||
} |
|||
Registro other = (Registro) object; |
|||
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
|||
return false; |
|||
} |
|||
return true; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return "hola.modelo.Registro[ id=" + id + " ]"; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,125 @@ |
|||
/* |
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
|||
*/ |
|||
package hola.vista; |
|||
|
|||
import hola.BL.EstadoBLLocal; |
|||
import hola.modelo.Estado; |
|||
import hola.msg.Mensaje; |
|||
import javax.inject.Named; |
|||
import javax.enterprise.context.SessionScoped; |
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
import java.util.Locale; |
|||
import javax.ejb.EJB; |
|||
import org.primefaces.util.LangUtils; |
|||
|
|||
/** |
|||
* |
|||
* @author chore |
|||
*/ |
|||
@Named(value = "demoBeanEstado") |
|||
@SessionScoped |
|||
public class DemoBeanEstado implements Serializable { |
|||
|
|||
@EJB |
|||
private EstadoBLLocal estadodBL; |
|||
/** |
|||
* Creates a new instance of DemoBeanEstado |
|||
*/ |
|||
public DemoBeanEstado() { |
|||
} |
|||
private Estado estado = new Estado(); |
|||
private String titulo; |
|||
private boolean nuevo; |
|||
|
|||
private List<Estado> filteredCustomers3; |
|||
|
|||
public List<Estado> getFilteredCustomers3() { |
|||
return filteredCustomers3; |
|||
} |
|||
|
|||
public void setFilteredCustomers3(List<Estado> filteredCustomers3) { |
|||
this.filteredCustomers3 = filteredCustomers3; |
|||
} |
|||
|
|||
public boolean globalFilterFunction(Object value, Object filter, Locale locale) { |
|||
String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase(); |
|||
if (LangUtils.isBlank(filterText)) { |
|||
return true; |
|||
} |
|||
//BUSCADOR DE CADA CAMPO
|
|||
Estado customer = (Estado) value; |
|||
return customer.getNombre().toLowerCase().contains(filterText); |
|||
} |
|||
|
|||
public String agregarUsuario() { |
|||
|
|||
estado.setStatus(1); |
|||
// limpiarFormulario();
|
|||
Mensaje mensaje = estadodBL.agregar(estado); |
|||
|
|||
switch (mensaje) { |
|||
case SIN_ERROR: |
|||
estado = new Estado(); |
|||
return "Estado.xhtml";//"productoLista?faces-redirect=true"; // Redirecciona a la lista de productos
|
|||
case ELEMENTO_DUPLICADO: |
|||
return null; |
|||
case CAMPOS_INCOMPLETOS: |
|||
return null; |
|||
case DATOS_INCORRECTOS: |
|||
return null; |
|||
default: |
|||
return null; |
|||
} |
|||
|
|||
} |
|||
|
|||
public List<Estado> getEstados() { |
|||
return estadodBL.buscarValidos(true); |
|||
} |
|||
|
|||
public Estado getTEstado() { |
|||
return estado; |
|||
} |
|||
|
|||
public void setEstado(Estado estado) { |
|||
this.estado = estado; |
|||
} |
|||
|
|||
public void prepararEditar(Estado estado) { |
|||
nuevo = false; |
|||
titulo = "Editar usuario"; |
|||
this.estado = estado; |
|||
|
|||
} |
|||
|
|||
public String getTitulo() { |
|||
return titulo; |
|||
} |
|||
|
|||
public boolean isNuevo() { |
|||
return nuevo; |
|||
} |
|||
|
|||
public void preparar() { |
|||
nuevo = true; |
|||
titulo = "Agregar Estado"; |
|||
estado = new Estado(); |
|||
} |
|||
|
|||
public void editarEstado() { |
|||
|
|||
estadodBL.editar(estado); |
|||
|
|||
} |
|||
|
|||
public void prepararEliminar(Estado estado) { |
|||
this.estado = estado; |
|||
} |
|||
|
|||
public void eliminaEstado() { |
|||
estadodBL.eliminarId(estado); |
|||
} |
|||
} |
Loading…
Reference in new issue