getAll en BaseRepository
This commit is contained in:
@@ -30,6 +30,7 @@ import xyz.danielcortes.controllers.cliente.telefono.ClienteTelefonoCreateContro
|
|||||||
import xyz.danielcortes.controllers.cliente.telefono.ClienteTelefonoSearchController;
|
import xyz.danielcortes.controllers.cliente.telefono.ClienteTelefonoSearchController;
|
||||||
import xyz.danielcortes.controllers.cliente.telefono.ClienteTelefonoUpdateController;
|
import xyz.danielcortes.controllers.cliente.telefono.ClienteTelefonoUpdateController;
|
||||||
import xyz.danielcortes.controllers.cliente.telefono.ClienteTelefonoViewController;
|
import xyz.danielcortes.controllers.cliente.telefono.ClienteTelefonoViewController;
|
||||||
|
import xyz.danielcortes.controllers.comprar.ComprarSearchController;
|
||||||
import xyz.danielcortes.controllers.distribuidor.DistribuidorCreateController;
|
import xyz.danielcortes.controllers.distribuidor.DistribuidorCreateController;
|
||||||
import xyz.danielcortes.controllers.distribuidor.DistribuidorSearchController;
|
import xyz.danielcortes.controllers.distribuidor.DistribuidorSearchController;
|
||||||
import xyz.danielcortes.controllers.distribuidor.DistribuidorUpdateController;
|
import xyz.danielcortes.controllers.distribuidor.DistribuidorUpdateController;
|
||||||
@@ -97,6 +98,7 @@ import xyz.danielcortes.views.cliente.ClienteCreatePanel;
|
|||||||
import xyz.danielcortes.views.cliente.ClienteSearchPanel;
|
import xyz.danielcortes.views.cliente.ClienteSearchPanel;
|
||||||
import xyz.danielcortes.views.cliente.ClienteUpdatePanel;
|
import xyz.danielcortes.views.cliente.ClienteUpdatePanel;
|
||||||
import xyz.danielcortes.views.cliente.ClienteViewPanel;
|
import xyz.danielcortes.views.cliente.ClienteViewPanel;
|
||||||
|
import xyz.danielcortes.views.comprar.ComprarSearchPanel;
|
||||||
import xyz.danielcortes.views.correo.CorreoCreatePanel;
|
import xyz.danielcortes.views.correo.CorreoCreatePanel;
|
||||||
import xyz.danielcortes.views.correo.CorreoSearchPanel;
|
import xyz.danielcortes.views.correo.CorreoSearchPanel;
|
||||||
import xyz.danielcortes.views.correo.CorreoUpdatePanel;
|
import xyz.danielcortes.views.correo.CorreoUpdatePanel;
|
||||||
@@ -286,6 +288,8 @@ public class LaunchController {
|
|||||||
this.controllers.put(PanelName.DISTRIBUIDOR_DIRECCION_CREATE, new DistribuidorDireccionCreateController(new DireccionCreatePanel(), this));
|
this.controllers.put(PanelName.DISTRIBUIDOR_DIRECCION_CREATE, new DistribuidorDireccionCreateController(new DireccionCreatePanel(), this));
|
||||||
this.controllers.put(PanelName.DISTRIBUIDOR_DIRECCION_UPDATE, new DistribuidorDireccionUpdateController(new DireccionUpdatePanel(), this));
|
this.controllers.put(PanelName.DISTRIBUIDOR_DIRECCION_UPDATE, new DistribuidorDireccionUpdateController(new DireccionUpdatePanel(), this));
|
||||||
|
|
||||||
|
this.controllers.put(PanelName.COMPRAR_SEARCH, new ComprarSearchController(new ComprarSearchPanel(), this));
|
||||||
|
|
||||||
for (Entry<PanelName, BaseController> entry : this.controllers.entrySet()) {
|
for (Entry<PanelName, BaseController> entry : this.controllers.entrySet()) {
|
||||||
this.frame.addCard(entry.getValue().getView().getContentPane(), entry.getKey());
|
this.frame.addCard(entry.getValue().getView().getContentPane(), entry.getKey());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,92 @@
|
|||||||
package xyz.danielcortes.controllers.comprar;
|
package xyz.danielcortes.controllers.comprar;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import xyz.danielcortes.controllers.LaunchController;
|
||||||
|
import xyz.danielcortes.framework.BaseController;
|
||||||
|
import xyz.danielcortes.framework.BasePanel;
|
||||||
|
import xyz.danielcortes.framework.BaseTableModel;
|
||||||
|
import xyz.danielcortes.framework.PanelName;
|
||||||
|
import xyz.danielcortes.models.Compra;
|
||||||
import xyz.danielcortes.repository.CompraRepository;
|
import xyz.danielcortes.repository.CompraRepository;
|
||||||
|
import xyz.danielcortes.validator.CompraValidator;
|
||||||
import xyz.danielcortes.views.comprar.ComprarSearchPanel;
|
import xyz.danielcortes.views.comprar.ComprarSearchPanel;
|
||||||
|
|
||||||
public class ComprarSearchController {
|
public class ComprarSearchController extends BaseController {
|
||||||
|
|
||||||
private ComprarSearchPanel view;
|
private ComprarSearchPanel view;
|
||||||
private CompraRepository repository;
|
private CompraRepository repository;
|
||||||
|
private CompraValidator validator;
|
||||||
|
|
||||||
|
public ComprarSearchController(ComprarSearchPanel view, LaunchController parent) {
|
||||||
|
super(parent);
|
||||||
|
this.view = view;
|
||||||
|
this.repository = new CompraRepository();
|
||||||
|
this.validator = new CompraValidator(this.repository);
|
||||||
|
this.setupListeners();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupListeners() {
|
||||||
|
this.view.getComprarButton().addActionListener(e -> this.getParentController().showCard(PanelName.COMPRAR_COMPRAR));
|
||||||
|
this.view.getBuscarButton().addActionListener(e -> this.search());
|
||||||
|
this.view.getSearchField().addActionListener(e -> this.search());
|
||||||
|
this.view.getVerButton().addActionListener(e -> this.view());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void search() {
|
||||||
|
String term = this.view.getSearchField().getText();
|
||||||
|
List<Compra> compras = this.repository.search(term);
|
||||||
|
this.loadComprarTable(compras);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void view() {
|
||||||
|
Compra compra = this.getSelectedCompra();
|
||||||
|
if (compra != null) {
|
||||||
|
// CompraViewController controller = (CompraViewController) this.getParentController().getCard(PanelName.COMPRAR_VIEW);
|
||||||
|
// controller.setCompra(compra);
|
||||||
|
// this.getParentController().showCard(PanelName.COMPRAR_VIEW);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadComprarTable(List<Compra> compras) {
|
||||||
|
BaseTableModel<Compra> model = this.view.getModel();
|
||||||
|
model.setRows(compras);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Compra getSelectedCompra() {
|
||||||
|
int selectedRow = this.view.getTable().getSelectedRow();
|
||||||
|
if (selectedRow == -1) {
|
||||||
|
JOptionPane.showMessageDialog(
|
||||||
|
null,
|
||||||
|
"No hay copra seleccionada",
|
||||||
|
"Error",
|
||||||
|
JOptionPane.ERROR_MESSAGE
|
||||||
|
);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.view.getModel().getRow(selectedRow);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void show() {
|
||||||
|
this.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void reload() {
|
||||||
|
this.loadComprarTable();
|
||||||
|
this.view.getSearchField().requestFocus();
|
||||||
|
this.view.getTable().setRowSelectionInterval(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadComprarTable() {
|
||||||
|
List<Compra> compra = this.repository.getAll();
|
||||||
|
this.loadComprarTable(compra);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BasePanel getView() {
|
||||||
|
return this.view;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,25 @@
|
|||||||
package xyz.danielcortes.framework;
|
package xyz.danielcortes.framework;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
import javax.persistence.EntityManager;
|
import javax.persistence.EntityManager;
|
||||||
import javax.persistence.PersistenceException;
|
import javax.persistence.PersistenceException;
|
||||||
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
|
|
||||||
public abstract class BaseRepository<E> {
|
public abstract class BaseRepository<E> {
|
||||||
|
|
||||||
protected EntityManager em;
|
protected EntityManager em;
|
||||||
|
private Class<E> entityClass;
|
||||||
|
|
||||||
public BaseRepository() {
|
public BaseRepository(Class<E> entityClass) {
|
||||||
this.em = PersistenceManager.getEntityManager();
|
this.em = PersistenceManager.getEntityManager();
|
||||||
|
this.entityClass = entityClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<E> getAll() {
|
||||||
|
CriteriaQuery<E> criteriaQuery = this.em.getCriteriaBuilder().createQuery(this.entityClass);
|
||||||
|
criteriaQuery.select(criteriaQuery.from(this.entityClass));
|
||||||
|
return this.em.createQuery(criteriaQuery).getResultList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void save(E entity) {
|
public void save(E entity) {
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ public enum PanelName {
|
|||||||
CLIENTE_DIRECCION_UPDATE,
|
CLIENTE_DIRECCION_UPDATE,
|
||||||
|
|
||||||
COMPRAR_SEARCH,
|
COMPRAR_SEARCH,
|
||||||
|
COMPRAR_VIEW,
|
||||||
COMPRAR_COMPRAR,
|
COMPRAR_COMPRAR,
|
||||||
|
|
||||||
VENDER_SEARCH,
|
VENDER_SEARCH,
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package xyz.danielcortes.repository;
|
package xyz.danielcortes.repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import javax.persistence.criteria.CriteriaBuilder;
|
import javax.persistence.criteria.CriteriaBuilder;
|
||||||
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
import javax.persistence.criteria.Root;
|
import javax.persistence.criteria.Root;
|
||||||
@@ -10,13 +9,12 @@ import xyz.danielcortes.models.Autor;
|
|||||||
|
|
||||||
public class AutorRepository extends BaseRepository<Autor> {
|
public class AutorRepository extends BaseRepository<Autor> {
|
||||||
|
|
||||||
public List<Autor> getAll() {
|
public AutorRepository() {
|
||||||
TypedQuery<Autor> query = em.createQuery("SELECT a FROM Autor a", Autor.class);
|
super(Autor.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Autor> search(String term) {
|
public List<Autor> search(String term) {
|
||||||
CriteriaBuilder cb = em.getCriteriaBuilder();
|
CriteriaBuilder cb = this.em.getCriteriaBuilder();
|
||||||
CriteriaQuery<Autor> query = cb.createQuery(Autor.class);
|
CriteriaQuery<Autor> query = cb.createQuery(Autor.class);
|
||||||
Root<Autor> r = query.from(Autor.class);
|
Root<Autor> r = query.from(Autor.class);
|
||||||
query.where(
|
query.where(
|
||||||
@@ -26,6 +24,6 @@ public class AutorRepository extends BaseRepository<Autor> {
|
|||||||
cb.like(cb.lower(r.get("apellidoMaterno")), "%" + term.toLowerCase() + "%")
|
cb.like(cb.lower(r.get("apellidoMaterno")), "%" + term.toLowerCase() + "%")
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
return em.createQuery(query).getResultList();
|
return this.em.createQuery(query).getResultList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package xyz.danielcortes.repository;
|
package xyz.danielcortes.repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import javax.persistence.criteria.CriteriaBuilder;
|
import javax.persistence.criteria.CriteriaBuilder;
|
||||||
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
import javax.persistence.criteria.Root;
|
import javax.persistence.criteria.Root;
|
||||||
@@ -10,18 +9,17 @@ import xyz.danielcortes.models.Categoria;
|
|||||||
|
|
||||||
public class CategoriaRepository extends BaseRepository<Categoria> {
|
public class CategoriaRepository extends BaseRepository<Categoria> {
|
||||||
|
|
||||||
public List<Categoria> getAll() {
|
public CategoriaRepository() {
|
||||||
TypedQuery<Categoria> query = em.createQuery("SELECT c from Categoria c", Categoria.class);
|
super(Categoria.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Categoria> search(String term) {
|
public List<Categoria> search(String term) {
|
||||||
CriteriaBuilder cb = em.getCriteriaBuilder();
|
CriteriaBuilder cb = this.em.getCriteriaBuilder();
|
||||||
CriteriaQuery<Categoria> query = cb.createQuery(Categoria.class);
|
CriteriaQuery<Categoria> query = cb.createQuery(Categoria.class);
|
||||||
Root<Categoria> r = query.from(Categoria.class);
|
Root<Categoria> r = query.from(Categoria.class);
|
||||||
query.where(
|
query.where(
|
||||||
cb.like(cb.lower(r.get("nombre")), "%" + term.toLowerCase() + "%")
|
cb.like(cb.lower(r.get("nombre")), "%" + term.toLowerCase() + "%")
|
||||||
);
|
);
|
||||||
return em.createQuery(query).getResultList();
|
return this.em.createQuery(query).getResultList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,9 +7,8 @@ import xyz.danielcortes.models.Cliente;
|
|||||||
|
|
||||||
public class ClienteRespository extends BaseRepository<Cliente> {
|
public class ClienteRespository extends BaseRepository<Cliente> {
|
||||||
|
|
||||||
public List<Cliente> getAll() {
|
public ClienteRespository() {
|
||||||
TypedQuery<Cliente> query = this.em.createQuery("SELECT c FROM Cliente c", Cliente.class);
|
super(Cliente.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Cliente> search(String term) {
|
public List<Cliente> search(String term) {
|
||||||
|
|||||||
@@ -1,26 +1,26 @@
|
|||||||
package xyz.danielcortes.repository;
|
package xyz.danielcortes.repository;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.TypedQuery;
|
import javax.persistence.Query;
|
||||||
import xyz.danielcortes.framework.BaseRepository;
|
import xyz.danielcortes.framework.BaseRepository;
|
||||||
import xyz.danielcortes.models.Compra;
|
import xyz.danielcortes.models.Compra;
|
||||||
|
|
||||||
public class CompraRepository extends BaseRepository<Compra> {
|
public class CompraRepository extends BaseRepository<Compra> {
|
||||||
|
|
||||||
public List<Compra> getAll() {
|
public CompraRepository() {
|
||||||
TypedQuery<Compra> query = this.em.createQuery("SELECT a FROM Compra a", Compra.class);
|
super(Compra.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Compra> search(String term) {
|
public List<Compra> search(String term) {
|
||||||
// Query query = this.em.createQuery("SELECT c FROM Compra c WHERE "
|
Query query = this.em.createQuery("SELECT c FROM Compra c WHERE "
|
||||||
// + "LOWER(c.factura.folio) LIKE :term OR "
|
+ "LOWER(c.factura.folio) LIKE :term OR "
|
||||||
// + "c.factura.precioNeto LIKE :term OR "
|
+ "CONCAT(c.factura.precioNeto, '') LIKE :term OR "
|
||||||
// + "c.factura.precioNeto + c.factura.precioIVA LIKE :term OR "
|
+ "CONCAT(c.factura.precioNeto + c.factura.precioIVA, '') LIKE :term OR "
|
||||||
// + "LOWER(c.distribuidor.rut) LIKE :term OR "
|
+ "LOWER(c.distribuidor.rut) LIKE :term OR "
|
||||||
// + "COUNT(c.ejemplares.size) LIKE :term"
|
+ "CONCAT(COUNT(c.ejemplares.size), '') LIKE :term"
|
||||||
// );
|
);
|
||||||
return new ArrayList<>();
|
|
||||||
|
query.setParameter("term", term);
|
||||||
|
return query.getResultList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package xyz.danielcortes.repository;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.Query;
|
import javax.persistence.Query;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import xyz.danielcortes.framework.BaseRepository;
|
import xyz.danielcortes.framework.BaseRepository;
|
||||||
import xyz.danielcortes.models.Cliente;
|
import xyz.danielcortes.models.Cliente;
|
||||||
import xyz.danielcortes.models.Correo;
|
import xyz.danielcortes.models.Correo;
|
||||||
@@ -11,9 +10,8 @@ import xyz.danielcortes.models.Trabajador;
|
|||||||
|
|
||||||
public class CorreoRepository extends BaseRepository<Correo> {
|
public class CorreoRepository extends BaseRepository<Correo> {
|
||||||
|
|
||||||
public List<Correo> getAll() {
|
public CorreoRepository() {
|
||||||
TypedQuery<Correo> query = this.em.createQuery("SELECT c FROM Correo c", Correo.class);
|
super(Correo.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Correo> search(String term) {
|
public List<Correo> search(String term) {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package xyz.danielcortes.repository;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.Query;
|
import javax.persistence.Query;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import xyz.danielcortes.framework.BaseRepository;
|
import xyz.danielcortes.framework.BaseRepository;
|
||||||
import xyz.danielcortes.models.Cliente;
|
import xyz.danielcortes.models.Cliente;
|
||||||
import xyz.danielcortes.models.Direccion;
|
import xyz.danielcortes.models.Direccion;
|
||||||
@@ -11,9 +10,8 @@ import xyz.danielcortes.models.Trabajador;
|
|||||||
|
|
||||||
public class DireccionRepository extends BaseRepository<Direccion> {
|
public class DireccionRepository extends BaseRepository<Direccion> {
|
||||||
|
|
||||||
public List<Direccion> getAll() {
|
public DireccionRepository() {
|
||||||
TypedQuery<Direccion> query = this.em.createQuery("SELECT t FROM Direccion t", Direccion.class);
|
super(Direccion.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Direccion> search(String term) {
|
public List<Direccion> search(String term) {
|
||||||
|
|||||||
@@ -2,15 +2,13 @@ package xyz.danielcortes.repository;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.Query;
|
import javax.persistence.Query;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import xyz.danielcortes.framework.BaseRepository;
|
import xyz.danielcortes.framework.BaseRepository;
|
||||||
import xyz.danielcortes.models.Distribuidor;
|
import xyz.danielcortes.models.Distribuidor;
|
||||||
|
|
||||||
public class DistribuidorRepository extends BaseRepository<Distribuidor> {
|
public class DistribuidorRepository extends BaseRepository<Distribuidor> {
|
||||||
|
|
||||||
public List<Distribuidor> getAll() {
|
public DistribuidorRepository() {
|
||||||
TypedQuery<Distribuidor> query = this.em.createQuery("SELECT d FROM Distribuidor d", Distribuidor.class);
|
super(Distribuidor.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Distribuidor> search(String term) {
|
public List<Distribuidor> search(String term) {
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package xyz.danielcortes.repository;
|
package xyz.danielcortes.repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import javax.persistence.criteria.CriteriaBuilder;
|
import javax.persistence.criteria.CriteriaBuilder;
|
||||||
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
import javax.persistence.criteria.Root;
|
import javax.persistence.criteria.Root;
|
||||||
@@ -10,18 +9,17 @@ import xyz.danielcortes.models.Editorial;
|
|||||||
|
|
||||||
public class EditorialRepository extends BaseRepository<Editorial> {
|
public class EditorialRepository extends BaseRepository<Editorial> {
|
||||||
|
|
||||||
public List<Editorial> getAll() {
|
public EditorialRepository() {
|
||||||
TypedQuery<Editorial> query = em.createQuery("SELECT e FROM Editorial e", Editorial.class);
|
super(Editorial.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Editorial> search(String term) {
|
public List<Editorial> search(String term) {
|
||||||
CriteriaBuilder cb = em.getCriteriaBuilder();
|
CriteriaBuilder cb = this.em.getCriteriaBuilder();
|
||||||
CriteriaQuery<Editorial> query = cb.createQuery(Editorial.class);
|
CriteriaQuery<Editorial> query = cb.createQuery(Editorial.class);
|
||||||
Root<Editorial> r = query.from(Editorial.class);
|
Root<Editorial> r = query.from(Editorial.class);
|
||||||
query.where(
|
query.where(
|
||||||
cb.like(cb.lower(r.get("nombre")), "%" + term.toLowerCase() + "%")
|
cb.like(cb.lower(r.get("nombre")), "%" + term.toLowerCase() + "%")
|
||||||
);
|
);
|
||||||
return em.createQuery(query).getResultList();
|
return this.em.createQuery(query).getResultList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package xyz.danielcortes.repository;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.Query;
|
import javax.persistence.Query;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import javax.persistence.criteria.CriteriaBuilder;
|
import javax.persistence.criteria.CriteriaBuilder;
|
||||||
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
import javax.persistence.criteria.Root;
|
import javax.persistence.criteria.Root;
|
||||||
@@ -11,9 +10,8 @@ import xyz.danielcortes.models.Ejemplar;
|
|||||||
|
|
||||||
public class EjemplarRepository extends BaseRepository<Ejemplar> {
|
public class EjemplarRepository extends BaseRepository<Ejemplar> {
|
||||||
|
|
||||||
public List<Ejemplar> getAll() {
|
public EjemplarRepository() {
|
||||||
TypedQuery<Ejemplar> query = this.em.createQuery("SELECT e FROM Ejemplar e", Ejemplar.class);
|
super(Ejemplar.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Ejemplar> search(String term) {
|
public List<Ejemplar> search(String term) {
|
||||||
|
|||||||
@@ -2,15 +2,13 @@ package xyz.danielcortes.repository;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.Query;
|
import javax.persistence.Query;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import xyz.danielcortes.framework.BaseRepository;
|
import xyz.danielcortes.framework.BaseRepository;
|
||||||
import xyz.danielcortes.models.Empresa;
|
import xyz.danielcortes.models.Empresa;
|
||||||
|
|
||||||
public class EmpresaRepository extends BaseRepository<Empresa> {
|
public class EmpresaRepository extends BaseRepository<Empresa> {
|
||||||
|
|
||||||
public List<Empresa> getAll() {
|
public EmpresaRepository() {
|
||||||
TypedQuery<Empresa> query = this.em.createQuery("SELECT e FROM Empresa e", Empresa.class);
|
super(Empresa.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Empresa> search(String term) {
|
public List<Empresa> search(String term) {
|
||||||
|
|||||||
@@ -1,19 +1,17 @@
|
|||||||
package xyz.danielcortes.repository;
|
package xyz.danielcortes.repository;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import javax.persistence.TypedQuery;
|
import javax.persistence.TypedQuery;
|
||||||
import xyz.danielcortes.framework.BaseRepository;
|
import xyz.danielcortes.framework.BaseRepository;
|
||||||
import xyz.danielcortes.models.Estado;
|
import xyz.danielcortes.models.Estado;
|
||||||
|
|
||||||
public class EstadoRepository extends BaseRepository<Estado> {
|
public class EstadoRepository extends BaseRepository<Estado> {
|
||||||
|
|
||||||
public List<Estado> getAll() {
|
public EstadoRepository() {
|
||||||
TypedQuery<Estado> query = em.createQuery("SELECT e FROM Estado e", Estado.class);
|
super(Estado.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Estado getByNombre(String nombre) {
|
public Estado getByNombre(String nombre) {
|
||||||
TypedQuery<Estado> query = em.createQuery("SELECT e FROM Estado e WHERE nombre = :nombre", Estado.class);
|
TypedQuery<Estado> query = this.em.createQuery("SELECT e FROM Estado e WHERE nombre = :nombre", Estado.class);
|
||||||
query.setParameter("nombre", nombre);
|
query.setParameter("nombre", nombre);
|
||||||
return query.getSingleResult();
|
return query.getSingleResult();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package xyz.danielcortes.repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import javax.persistence.Query;
|
||||||
|
import xyz.danielcortes.framework.BaseRepository;
|
||||||
|
import xyz.danielcortes.models.Factura;
|
||||||
|
|
||||||
|
public class FacturaRepository extends BaseRepository<Factura> {
|
||||||
|
|
||||||
|
public FacturaRepository() {
|
||||||
|
super(Factura.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Factura> search(String term) {
|
||||||
|
Query query = this.em.createQuery("SELECT f FROM Factura f WHERE "
|
||||||
|
+ "LOWER(f.folio) LIKE :term OR "
|
||||||
|
+ "CONCAT(f.precioNeto,'') LIKE :term OR "
|
||||||
|
+ "CONCAT(f.precioIVA,'') LIKE :term OR "
|
||||||
|
+ "LOWER(f.fechaVenta) LIKE :term");
|
||||||
|
query.setParameter("term", "%" + term.toLowerCase() + "%");
|
||||||
|
return query.getResultList();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
package xyz.danielcortes.repository;
|
package xyz.danielcortes.repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import javax.persistence.criteria.CriteriaBuilder;
|
import javax.persistence.criteria.CriteriaBuilder;
|
||||||
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
import javax.persistence.criteria.Root;
|
import javax.persistence.criteria.Root;
|
||||||
@@ -10,10 +9,8 @@ import xyz.danielcortes.models.Idioma;
|
|||||||
|
|
||||||
public class IdiomaRepository extends BaseRepository<Idioma> {
|
public class IdiomaRepository extends BaseRepository<Idioma> {
|
||||||
|
|
||||||
public List<Idioma> getAll() {
|
public IdiomaRepository() {
|
||||||
TypedQuery<Idioma> query = this.em.createQuery("SELECT i FROM Idioma i", Idioma.class);
|
super(Idioma.class);
|
||||||
|
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Idioma> search(String term) {
|
public List<Idioma> search(String term) {
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package xyz.danielcortes.repository;
|
package xyz.danielcortes.repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import javax.persistence.criteria.CriteriaBuilder;
|
import javax.persistence.criteria.CriteriaBuilder;
|
||||||
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
import javax.persistence.criteria.Root;
|
import javax.persistence.criteria.Root;
|
||||||
@@ -10,13 +9,13 @@ import xyz.danielcortes.models.Libro;
|
|||||||
|
|
||||||
public class LibroRepository extends BaseRepository<Libro> {
|
public class LibroRepository extends BaseRepository<Libro> {
|
||||||
|
|
||||||
public List<Libro> getAll() {
|
public LibroRepository() {
|
||||||
TypedQuery<Libro> query = em.createQuery("SELECT l FROM Libro l", Libro.class);
|
super(Libro.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<Libro> search(String term) {
|
public List<Libro> search(String term) {
|
||||||
CriteriaBuilder cb = em.getCriteriaBuilder();
|
CriteriaBuilder cb = this.em.getCriteriaBuilder();
|
||||||
CriteriaQuery<Libro> query = cb.createQuery(Libro.class);
|
CriteriaQuery<Libro> query = cb.createQuery(Libro.class);
|
||||||
Root<Libro> r = query.from(Libro.class);
|
Root<Libro> r = query.from(Libro.class);
|
||||||
query.where(
|
query.where(
|
||||||
@@ -26,6 +25,6 @@ public class LibroRepository extends BaseRepository<Libro> {
|
|||||||
cb.like(r.get("precioReferencia").as(String.class), "%" + term.toLowerCase() + "%")
|
cb.like(r.get("precioReferencia").as(String.class), "%" + term.toLowerCase() + "%")
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
return em.createQuery(query).getResultList();
|
return this.em.createQuery(query).getResultList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package xyz.danielcortes.repository;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.Query;
|
import javax.persistence.Query;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import xyz.danielcortes.framework.BaseRepository;
|
import xyz.danielcortes.framework.BaseRepository;
|
||||||
import xyz.danielcortes.models.Cliente;
|
import xyz.danielcortes.models.Cliente;
|
||||||
import xyz.danielcortes.models.Distribuidor;
|
import xyz.danielcortes.models.Distribuidor;
|
||||||
@@ -11,9 +10,8 @@ import xyz.danielcortes.models.Trabajador;
|
|||||||
|
|
||||||
public class TelefonoRepository extends BaseRepository<Telefono> {
|
public class TelefonoRepository extends BaseRepository<Telefono> {
|
||||||
|
|
||||||
public List<Telefono> getAll() {
|
public TelefonoRepository() {
|
||||||
TypedQuery<Telefono> query = this.em.createQuery("SELECT t FROM Telefono t", Telefono.class);
|
super(Telefono.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Telefono> search(String term) {
|
public List<Telefono> search(String term) {
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package xyz.danielcortes.repository;
|
package xyz.danielcortes.repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.persistence.TypedQuery;
|
|
||||||
import javax.persistence.criteria.CriteriaBuilder;
|
import javax.persistence.criteria.CriteriaBuilder;
|
||||||
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
import javax.persistence.criteria.Root;
|
import javax.persistence.criteria.Root;
|
||||||
@@ -10,13 +9,12 @@ import xyz.danielcortes.models.Trabajador;
|
|||||||
|
|
||||||
public class TrabajadorRespository extends BaseRepository<Trabajador> {
|
public class TrabajadorRespository extends BaseRepository<Trabajador> {
|
||||||
|
|
||||||
public List<Trabajador> getAll() {
|
public TrabajadorRespository() {
|
||||||
TypedQuery<Trabajador> query = em.createQuery("SELECT t FROM Trabajador t", Trabajador.class);
|
super(Trabajador.class);
|
||||||
return query.getResultList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Trabajador> search(String term) {
|
public List<Trabajador> search(String term) {
|
||||||
CriteriaBuilder cb = em.getCriteriaBuilder();
|
CriteriaBuilder cb = this.em.getCriteriaBuilder();
|
||||||
CriteriaQuery<Trabajador> query = cb.createQuery(Trabajador.class);
|
CriteriaQuery<Trabajador> query = cb.createQuery(Trabajador.class);
|
||||||
Root<Trabajador> r = query.from(Trabajador.class);
|
Root<Trabajador> r = query.from(Trabajador.class);
|
||||||
query.where(
|
query.where(
|
||||||
@@ -28,7 +26,7 @@ public class TrabajadorRespository extends BaseRepository<Trabajador> {
|
|||||||
cb.like(r.get("fechaContrato"), "%" + term.toLowerCase() + "%")
|
cb.like(r.get("fechaContrato"), "%" + term.toLowerCase() + "%")
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
return em.createQuery(query).getResultList();
|
return this.em.createQuery(query).getResultList();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ import xyz.danielcortes.models.Usuario;
|
|||||||
|
|
||||||
public class UsuarioRepository extends BaseRepository<Usuario> {
|
public class UsuarioRepository extends BaseRepository<Usuario> {
|
||||||
|
|
||||||
|
public UsuarioRepository() {
|
||||||
|
super(Usuario.class);
|
||||||
|
}
|
||||||
|
|
||||||
public Optional<Usuario> getByName(String name) {
|
public Optional<Usuario> getByName(String name) {
|
||||||
TypedQuery<Usuario> query = this.em.createQuery("SELECT u FROM Usuario u WHERE nombre = :nombre", Usuario.class);
|
TypedQuery<Usuario> query = this.em.createQuery("SELECT u FROM Usuario u WHERE nombre = :nombre", Usuario.class);
|
||||||
query.setParameter("nombre", name);
|
query.setParameter("nombre", name);
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package xyz.danielcortes.validator;
|
||||||
|
|
||||||
|
import xyz.danielcortes.framework.ValidationResult;
|
||||||
|
import xyz.danielcortes.models.Compra;
|
||||||
|
import xyz.danielcortes.models.Distribuidor;
|
||||||
|
import xyz.danielcortes.models.Factura;
|
||||||
|
import xyz.danielcortes.repository.CompraRepository;
|
||||||
|
|
||||||
|
public class CompraValidator {
|
||||||
|
|
||||||
|
private CompraRepository compraRepository;
|
||||||
|
|
||||||
|
public CompraValidator(CompraRepository compraRepository) {
|
||||||
|
this.compraRepository = compraRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ValidationResult validateFactura(Factura factura) {
|
||||||
|
if (factura == null) {
|
||||||
|
return new ValidationResult("No hay factura");
|
||||||
|
}
|
||||||
|
return ValidationResult.NON_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ValidationResult validateDistribuidor(Distribuidor distribuidor) {
|
||||||
|
if (distribuidor == null) {
|
||||||
|
return new ValidationResult("No hay distribuidor");
|
||||||
|
}
|
||||||
|
return ValidationResult.NON_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ValidationResult validateOriginal(Compra original) {
|
||||||
|
if (original == null) {
|
||||||
|
return new ValidationResult("No hay compra seleccionda");
|
||||||
|
}
|
||||||
|
return ValidationResult.NON_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,10 +1,13 @@
|
|||||||
package xyz.danielcortes.views.comprar;
|
package xyz.danielcortes.views.comprar;
|
||||||
|
|
||||||
|
import com.intellij.uiDesigner.core.GridConstraints;
|
||||||
import com.intellij.uiDesigner.core.GridLayoutManager;
|
import com.intellij.uiDesigner.core.GridLayoutManager;
|
||||||
|
import java.awt.Dimension;
|
||||||
import java.awt.Insets;
|
import java.awt.Insets;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import javax.swing.ListSelectionModel;
|
import javax.swing.ListSelectionModel;
|
||||||
@@ -55,7 +58,7 @@ public class ComprarSearchPanel extends BasePanel {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JPanel getContentPane() {
|
public JPanel getContentPane() {
|
||||||
return null;
|
return this.contentPane;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -64,15 +67,43 @@ public class ComprarSearchPanel extends BasePanel {
|
|||||||
* @noinspection ALL
|
* @noinspection ALL
|
||||||
*/
|
*/
|
||||||
private void $$$setupUI$$$() {
|
private void $$$setupUI$$$() {
|
||||||
|
createUIComponents();
|
||||||
contentPane = new JPanel();
|
contentPane = new JPanel();
|
||||||
contentPane.setLayout(new GridLayoutManager(1, 1, new Insets(20, 20, 20, 20), -1, -1));
|
contentPane.setLayout(new GridLayoutManager(3, 1, new Insets(20, 20, 20, 20), -1, -1));
|
||||||
}
|
final JScrollPane scrollPane1 = new JScrollPane();
|
||||||
|
contentPane.add(scrollPane1, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
|
||||||
/**
|
GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW,
|
||||||
* @noinspection ALL
|
GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
|
||||||
*/
|
scrollPane1.setViewportView(table);
|
||||||
public JComponent $$$getRootComponent$$$() {
|
final JPanel panel1 = new JPanel();
|
||||||
return contentPane;
|
panel1.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1));
|
||||||
|
contentPane.add(panel1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
|
||||||
|
GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
|
||||||
|
GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
|
||||||
|
searchField = new JTextField();
|
||||||
|
panel1.add(searchField,
|
||||||
|
new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW,
|
||||||
|
GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
|
||||||
|
buscarButton = new JButton();
|
||||||
|
buscarButton.setText("Buscar");
|
||||||
|
panel1.add(buscarButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE,
|
||||||
|
GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1),
|
||||||
|
null, 0, false));
|
||||||
|
final JPanel panel2 = new JPanel();
|
||||||
|
panel2.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1));
|
||||||
|
contentPane.add(panel2, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
|
||||||
|
GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
|
||||||
|
GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
|
||||||
|
comprarButton = new JButton();
|
||||||
|
comprarButton.setText("Comprar");
|
||||||
|
panel2.add(comprarButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE,
|
||||||
|
GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1),
|
||||||
|
null, 0, false));
|
||||||
|
verButton = new JButton();
|
||||||
|
verButton.setText("Ver Orden de Compra");
|
||||||
|
panel2.add(verButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE,
|
||||||
|
GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1),
|
||||||
|
null, 0, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createUIComponents() {
|
private void createUIComponents() {
|
||||||
@@ -101,4 +132,11 @@ public class ComprarSearchPanel extends BasePanel {
|
|||||||
this.table = new JTable(this.model);
|
this.table = new JTable(this.model);
|
||||||
this.table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
this.table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @noinspection ALL
|
||||||
|
*/
|
||||||
|
public JComponent $$$getRootComponent$$$() {
|
||||||
|
return contentPane;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user