You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
5.2 KiB
153 lines
5.2 KiB
/*
|
|
* 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 xforce.bl;
|
|
|
|
import java.util.List;
|
|
import java.util.Optional;
|
|
import javax.ejb.Stateless;
|
|
import javax.faces.application.FacesMessage;
|
|
import javax.faces.context.FacesContext;
|
|
import xforce.dao.EstadosDAO;
|
|
import xforce.modelo.Estados;
|
|
import xforce.modelo.Proveedor;
|
|
import xforce.modelo.Usuarios;
|
|
import xforce.msg.Mensaje;
|
|
|
|
/**
|
|
*
|
|
* @author Samuel Gamez
|
|
*/
|
|
@Stateless
|
|
public class EstadosBL implements EstadosBLLocal {
|
|
|
|
// Add business logic below. (Right-click in editor and choose
|
|
// "Insert Code > Add Business Method")
|
|
@Override
|
|
public Mensaje agregar(Estados estados) {
|
|
System.out.println("Llegaste al metodo de agregar paises");
|
|
EstadosDAO estadosDAO = new EstadosDAO();
|
|
Mensaje m;
|
|
//Toda la logica
|
|
|
|
if (estados.getNombre().isEmpty()) {
|
|
|
|
System.out.println("Campos incompletos");
|
|
return Mensaje.CAMPOS_INCOMPLETOS;
|
|
}
|
|
|
|
estados.setEstado(2);
|
|
|
|
Optional<Estados> paisEncontradoOptional = estadosDAO.buscarEstado(estados);
|
|
|
|
if (paisEncontradoOptional.isPresent()) {
|
|
// Manejar el caso en el que se encontró al menos un pais
|
|
paisEncontradoOptional.get();
|
|
System.out.println("Elemento duplicado");
|
|
|
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado");
|
|
|
|
m = Mensaje.ELEMENTO_DUPLICADO;
|
|
} else {
|
|
estadosDAO.agregar(estados);
|
|
System.out.println("Agregado con exito");
|
|
|
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito");
|
|
|
|
m = Mensaje.SIN_ERROR;
|
|
}
|
|
return m;
|
|
}
|
|
|
|
@Override
|
|
public Estados buscarId(Estados estados) {
|
|
EstadosDAO estadosDAO = new EstadosDAO();
|
|
if (estadosDAO.buscarId(estados) == null) {
|
|
System.out.println("No existe el pais");
|
|
return estadosDAO.buscarId(estados);
|
|
} else {
|
|
System.out.println("Se encontro el pais");
|
|
return estadosDAO.buscarId(estados);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Mensaje eliminar(Estados estados) {
|
|
Mensaje m = null;
|
|
EstadosDAO estadosDAO = new EstadosDAO();
|
|
|
|
Estados estadoEnUso = estadosDAO.buscarId(estados);
|
|
|
|
if (estadoEnUso != null) {
|
|
// Verificar si existen productos asociados a esta pais
|
|
|
|
List<Usuarios> referenciaUsuarios = estadosDAO.buscarPaisesReferenciadosUsuarios(estadoEnUso);
|
|
|
|
List<Proveedor> referenciaProveedor = estadosDAO.buscarPaisesReferenciadosProveedor(estadoEnUso);
|
|
|
|
if (!referenciaProveedor.isEmpty()
|
|
|| !referenciaUsuarios.isEmpty()) {
|
|
|
|
System.out.println(referenciaProveedor.toString());
|
|
System.out.println(referenciaUsuarios.toString());
|
|
// Hay estados asociados a esta pais, no se puede eliminar
|
|
System.out.println("No se puede eliminar el estado porque esta en uso");
|
|
addMessage(FacesMessage.SEVERITY_WARN, "ATENCION", "El estado esta en uso");
|
|
m = Mensaje.ERROR_PRODUCTOS_ASOCIADOS;
|
|
|
|
} else {
|
|
if (estadoEnUso.getEstado() == 2) {
|
|
estadoEnUso.setEstado(1);
|
|
|
|
if (estadosDAO.eliminar(estadoEnUso)) {
|
|
System.out.println("Pais eliminado");
|
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Eliminado Correctamente");
|
|
m = Mensaje.SIN_ERROR;
|
|
} else {
|
|
System.out.println("Error al eliminar pais");
|
|
m = Mensaje.DATOS_INCORRECTOS;
|
|
}
|
|
} else {
|
|
System.out.println("Pais se acaba de eliminar");
|
|
m = Mensaje.NO_EXISTE;
|
|
}
|
|
}
|
|
|
|
} else {
|
|
System.out.println("Pais inexistente");
|
|
m = Mensaje.NO_EXISTE;
|
|
}
|
|
|
|
return m;
|
|
|
|
}
|
|
|
|
@Override
|
|
public List<Estados> buscarValidos(boolean estado) {
|
|
EstadosDAO estadosDAO = new EstadosDAO();
|
|
System.out.println("pais existente");
|
|
List l = estadosDAO.buscarValidos(estado);
|
|
System.out.println(l);
|
|
|
|
return l;
|
|
}
|
|
|
|
@Override
|
|
public Estados buscarNombre(Estados estados) {
|
|
EstadosDAO estadosDAO = new EstadosDAO();
|
|
if (estadosDAO.buscarPorNombre(estados) == null) {
|
|
System.out.println("no existe el pais");
|
|
return estadosDAO.buscarId(estados);
|
|
} else {
|
|
System.out.println("se encontro un pais");
|
|
return estadosDAO.buscarId(estados);
|
|
}
|
|
|
|
}
|
|
|
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) {
|
|
FacesContext.getCurrentInstance().
|
|
addMessage("mensajePaises", new FacesMessage(severity, summary, detail));
|
|
}
|
|
}
|
|
|