Compare commits
2 Commits
9075a64286
...
d8cafa82d9
Author | SHA1 | Date |
---|---|---|
chore | d8cafa82d9 | 6 months ago |
chore | cbde9352ad | 6 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