From 95f77b8392122b033b31e535e15aa2be4519a78c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Cort=C3=A9s?= Date: Thu, 13 Jun 2019 21:55:33 -0400 Subject: [PATCH] Correos para clientes y distribuidores <3 --- create.sql | 12 +-- data.sql | 10 +- info.md | 2 +- .../controllers/LaunchController.java | 34 +++++-- .../cliente/ClienteViewController.java | 15 +-- .../correo/ClienteCorreoCreateController.java | 51 ++++++++++ .../correo/ClienteCorreoSearchController.java | 97 +++++++++++++++++++ .../correo/ClienteCorreoUpdateController.java | 28 ++++++ .../correo/ClienteCorreoViewController.java | 28 ++++++ .../DistribuidorViewController.java | 20 ++-- .../DistribuidorCorreoCreateController.java | 51 ++++++++++ .../DistribuidorCorreoSearchController.java | 97 +++++++++++++++++++ .../DistribuidorCorreoUpdateController.java | 28 ++++++ .../DistribuidorCorreoViewController.java | 29 ++++++ .../trabajador/TrabajadorViewController.java | 7 +- ... => TrabajadorCorreoCreateController.java} | 9 +- ... => TrabajadorCorreoSearchController.java} | 19 ++-- ... => TrabajadorCorreoUpdateController.java} | 9 +- ...va => TrabajadorCorreoViewController.java} | 9 +- .../xyz/danielcortes/framework/PanelName.java | 18 +++- .../java/xyz/danielcortes/models/Correo.java | 8 +- .../xyz/danielcortes/models/Distribuidor.java | 24 +++++ .../xyz/danielcortes/models/Telefono.java | 8 +- .../repository/CorreoRepository.java | 16 +++ .../distribuidor/DistribuidorCreatePanel.form | 2 +- .../distribuidor/DistribuidorSearchPanel.form | 2 +- .../distribuidor/DistribuidorUpdatePanel.form | 2 +- .../distribuidor/DistribuidorViewPanel.form | 2 +- 28 files changed, 562 insertions(+), 75 deletions(-) create mode 100644 src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoCreateController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoSearchController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoUpdateController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoViewController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoCreateController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoSearchController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoUpdateController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoViewController.java rename src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/{CorreoCreateController.java => TrabajadorCorreoCreateController.java} (74%) rename src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/{CorreoSearchController.java => TrabajadorCorreoSearchController.java} (72%) rename src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/{CorreoUpdateController.java => TrabajadorCorreoUpdateController.java} (59%) rename src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/{CorreoViewController.java => TrabajadorCorreoViewController.java} (59%) diff --git a/create.sql b/create.sql index 8d8eec2..ece6678 100644 --- a/create.sql +++ b/create.sql @@ -17,7 +17,7 @@ drop table if exists correo; drop table if exists direccion; drop table if exists telefono; drop table if exists empresa; -drop table if exists distribuidor; +drop table if exists cliente; drop table if exists cliente; drop table if exists trabajador; drop table if exists distribuidor_direccion; @@ -163,7 +163,7 @@ create table empresa inserted_at timestamp default CURRENT_TIMESTAMP ); -create table distribuidor +create table cliente ( id int unsigned primary key auto_increment, empresa_id int unsigned not null, @@ -198,7 +198,7 @@ create table distribuidor_direccion ( distribuidor_id int unsigned, direccion_id int unsigned, - foreign key (distribuidor_id) references distribuidor (id) on delete restrict on update cascade, + foreign key (distribuidor_id) references cliente (id) on delete restrict on update cascade, foreign key (direccion_id) references direccion (id) on delete cascade on update cascade ); @@ -206,7 +206,7 @@ create table distribuidor_telefono ( distribuidor_id int unsigned, telefono_id int unsigned, - foreign key (distribuidor_id) references distribuidor (id) on delete restrict on update cascade, + foreign key (distribuidor_id) references cliente (id) on delete restrict on update cascade, foreign key (telefono_id) references telefono (id) on delete cascade on update cascade ); @@ -214,7 +214,7 @@ create table distribuidor_correo ( distribuidor_id int unsigned, correo_id int unsigned, - foreign key (distribuidor_id) references distribuidor (id) on delete restrict on update cascade, + foreign key (distribuidor_id) references cliente (id) on delete restrict on update cascade, foreign key (correo_id) references correo (id) on delete cascade on update cascade ); @@ -297,7 +297,7 @@ create table compra distribuidor_id int unsigned not null, inserted_at timestamp default CURRENT_TIMESTAMP, foreign key (factura_id) references factura (id) on delete restrict on update cascade, - foreign key (distribuidor_id) references distribuidor (id) on delete restrict on update cascade + foreign key (distribuidor_id) references cliente (id) on delete restrict on update cascade ); create table venta diff --git a/data.sql b/data.sql index 4ff74aa..2bc4469 100644 --- a/data.sql +++ b/data.sql @@ -118,13 +118,13 @@ LOCK TABLES `direccion` WRITE; UNLOCK TABLES; -- --- Dumping data for table `distribuidor` +-- Dumping data for table `cliente` -- -LOCK TABLES `distribuidor` WRITE; -/*!40000 ALTER TABLE `distribuidor` DISABLE KEYS */; -INSERT INTO `distribuidor` VALUES (2,1,'14166920-6','2019-06-13 03:08:17'),(3,2,'8425080-5','2019-06-13 03:08:23'),(4,1,'21629388-6','2019-06-13 03:08:25'),(5,1,'13510176-1','2019-06-13 03:08:27'); -/*!40000 ALTER TABLE `distribuidor` ENABLE KEYS */; +LOCK TABLES `cliente` WRITE; +/*!40000 ALTER TABLE `cliente` DISABLE KEYS */; +INSERT INTO `cliente` VALUES (2,1,'14166920-6','2019-06-13 03:08:17'),(3,2,'8425080-5','2019-06-13 03:08:23'),(4,1,'21629388-6','2019-06-13 03:08:25'),(5,1,'13510176-1','2019-06-13 03:08:27'); +/*!40000 ALTER TABLE `cliente` ENABLE KEYS */; UNLOCK TABLES; -- diff --git a/info.md b/info.md index 70869ea..df71259 100644 --- a/info.md +++ b/info.md @@ -72,7 +72,7 @@ ## Datos - Libros comprados -- distribuidor involucrado +- cliente involucrado - Factura. # Factura diff --git a/src/main/java/xyz/danielcortes/controllers/LaunchController.java b/src/main/java/xyz/danielcortes/controllers/LaunchController.java index 532435a..7d6ecee 100644 --- a/src/main/java/xyz/danielcortes/controllers/LaunchController.java +++ b/src/main/java/xyz/danielcortes/controllers/LaunchController.java @@ -18,10 +18,18 @@ import xyz.danielcortes.controllers.mantenedores.cliente.ClienteCreateController import xyz.danielcortes.controllers.mantenedores.cliente.ClienteSearchController; import xyz.danielcortes.controllers.mantenedores.cliente.ClienteUpdateController; import xyz.danielcortes.controllers.mantenedores.cliente.ClienteViewController; +import xyz.danielcortes.controllers.mantenedores.cliente.correo.ClienteCorreoCreateController; +import xyz.danielcortes.controllers.mantenedores.cliente.correo.ClienteCorreoSearchController; +import xyz.danielcortes.controllers.mantenedores.cliente.correo.ClienteCorreoUpdateController; +import xyz.danielcortes.controllers.mantenedores.cliente.correo.ClienteCorreoViewController; import xyz.danielcortes.controllers.mantenedores.distribuidor.DistribuidorCreateController; import xyz.danielcortes.controllers.mantenedores.distribuidor.DistribuidorSearchController; import xyz.danielcortes.controllers.mantenedores.distribuidor.DistribuidorUpdateController; import xyz.danielcortes.controllers.mantenedores.distribuidor.DistribuidorViewController; +import xyz.danielcortes.controllers.mantenedores.distribuidor.correo.DistribuidorCorreoCreateController; +import xyz.danielcortes.controllers.mantenedores.distribuidor.correo.DistribuidorCorreoSearchController; +import xyz.danielcortes.controllers.mantenedores.distribuidor.correo.DistribuidorCorreoUpdateController; +import xyz.danielcortes.controllers.mantenedores.distribuidor.correo.DistribuidorCorreoViewController; import xyz.danielcortes.controllers.mantenedores.editorial.EditorialCreateController; import xyz.danielcortes.controllers.mantenedores.editorial.EditorialSearchController; import xyz.danielcortes.controllers.mantenedores.editorial.EditorialUpdateController; @@ -42,10 +50,10 @@ import xyz.danielcortes.controllers.mantenedores.trabajador.TrabajadorCreateCont import xyz.danielcortes.controllers.mantenedores.trabajador.TrabajadorSearchController; import xyz.danielcortes.controllers.mantenedores.trabajador.TrabajadorUpdateController; import xyz.danielcortes.controllers.mantenedores.trabajador.TrabajadorViewController; -import xyz.danielcortes.controllers.mantenedores.trabajador.correo.CorreoCreateController; -import xyz.danielcortes.controllers.mantenedores.trabajador.correo.CorreoSearchController; -import xyz.danielcortes.controllers.mantenedores.trabajador.correo.CorreoUpdateController; -import xyz.danielcortes.controllers.mantenedores.trabajador.correo.CorreoViewController; +import xyz.danielcortes.controllers.mantenedores.trabajador.correo.TrabajadorCorreoCreateController; +import xyz.danielcortes.controllers.mantenedores.trabajador.correo.TrabajadorCorreoSearchController; +import xyz.danielcortes.controllers.mantenedores.trabajador.correo.TrabajadorCorreoUpdateController; +import xyz.danielcortes.controllers.mantenedores.trabajador.correo.TrabajadorCorreoViewController; import xyz.danielcortes.controllers.mantenedores.trabajador.direccion.DireccionCreateController; import xyz.danielcortes.controllers.mantenedores.trabajador.direccion.DireccionSearchController; import xyz.danielcortes.controllers.mantenedores.trabajador.direccion.DireccionUpdateController; @@ -182,10 +190,20 @@ public class LaunchController { this.controllers.put(PanelName.USUARIO_CREATE, new UsuarioCreateController(new UsuarioCreatePanel(), this)); this.controllers.put(PanelName.USUARIO_UPDATE, new UsuarioUpdateController(new UsuarioUpdatePanel(), this)); - this.controllers.put(PanelName.CORREO_SEARCH, new CorreoSearchController(new CorreoSearchPanel(), this)); - this.controllers.put(PanelName.CORREO_VIEW, new CorreoViewController(new CorreoViewPanel(), this)); - this.controllers.put(PanelName.CORREO_CREATE, new CorreoCreateController(new CorreoCreatePanel(), this)); - this.controllers.put(PanelName.CORREO_UPDATE, new CorreoUpdateController(new CorreoUpdatePanel(), this)); + this.controllers.put(PanelName.DISTRIBUIDOR_CORREO_SEARCH, new DistribuidorCorreoSearchController(new CorreoSearchPanel(), this)); + this.controllers.put(PanelName.DISTRIBUIDOR_CORREO_VIEW, new DistribuidorCorreoViewController(new CorreoViewPanel(), this)); + this.controllers.put(PanelName.DISTRIBUIDOR_CORREO_CREATE, new DistribuidorCorreoCreateController(new CorreoCreatePanel(), this)); + this.controllers.put(PanelName.DISTRIBUIDOR_CORREO_UPDATE, new DistribuidorCorreoUpdateController(new CorreoUpdatePanel(), this)); + + this.controllers.put(PanelName.TRABAJADOR_CORREO_SEARCH, new TrabajadorCorreoSearchController(new CorreoSearchPanel(), this)); + this.controllers.put(PanelName.TRABAJADOR_CORREO_VIEW, new TrabajadorCorreoViewController(new CorreoViewPanel(), this)); + this.controllers.put(PanelName.TRABAJADOR_CORREO_CREATE, new TrabajadorCorreoCreateController(new CorreoCreatePanel(), this)); + this.controllers.put(PanelName.TRABAJADOR_CORREO_UPDATE, new TrabajadorCorreoUpdateController(new CorreoUpdatePanel(), this)); + + this.controllers.put(PanelName.CLIENTE_CORREO_SEARCH, new ClienteCorreoSearchController(new CorreoSearchPanel(), this)); + this.controllers.put(PanelName.CLIENTE_CORREO_VIEW, new ClienteCorreoViewController(new CorreoViewPanel(), this)); + this.controllers.put(PanelName.CLIENTE_CORREO_CREATE, new ClienteCorreoCreateController(new CorreoCreatePanel(), this)); + this.controllers.put(PanelName.CLIENTE_CORREO_UPDATE, new ClienteCorreoUpdateController(new CorreoUpdatePanel(), this)); this.controllers.put(PanelName.TELEFONO_SEARCH, new TelefonoSearchController(new TelefonoSearchPanel(), this)); this.controllers.put(PanelName.TELEFONO_VIEW, new TelefonoViewController(new TelefonoViewPanel(), this)); diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/ClienteViewController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/ClienteViewController.java index 01ef666..e41a668 100644 --- a/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/ClienteViewController.java +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/ClienteViewController.java @@ -2,6 +2,7 @@ package xyz.danielcortes.controllers.mantenedores.cliente; import java.time.format.DateTimeFormatter; import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.cliente.correo.ClienteCorreoSearchController; import xyz.danielcortes.framework.BaseController; import xyz.danielcortes.framework.BasePanel; import xyz.danielcortes.framework.PanelName; @@ -30,7 +31,7 @@ public class ClienteViewController extends BaseController { private void setupListeners() { this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.CLIENTE_SEARCH)); -// this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView()); + this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView()); // this.view.getTelefonosButton().addActionListener(e -> this.gotoTelefonoView()); // this.view.getDireccionesButton().addActionListener(e -> this.gotoDireccionView()); } @@ -46,12 +47,12 @@ public class ClienteViewController extends BaseController { // controller.setCliente(cliente); // this.getParentController().showCard(PanelName.TELEFONO_SEARCH); // } -// -// private void gotoCorreosView() { -// CorreoSearchController controller = (CorreoSearchController) this.getParentController().getCard(PanelName.CORREO_SEARCH); -// controller.setCliente(cliente); -// this.getParentController().showCard(PanelName.CORREO_SEARCH); -// } + + private void gotoCorreosView() { + ClienteCorreoSearchController controller = (ClienteCorreoSearchController) this.getParentController().getCard(PanelName.CLIENTE_CORREO_SEARCH); + controller.setCliente(this.cliente); + this.getParentController().showCard(PanelName.CLIENTE_CORREO_SEARCH); + } private void fillCliente() { if (this.cliente == null) diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoCreateController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoCreateController.java new file mode 100644 index 0000000..bb436e0 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoCreateController.java @@ -0,0 +1,51 @@ +package xyz.danielcortes.controllers.mantenedores.cliente.correo; + +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.abstract_correo.AbstractCorreoCreateController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.framework.ValidationResult; +import xyz.danielcortes.models.Cliente; +import xyz.danielcortes.models.Correo; +import xyz.danielcortes.views.mantenedores.correo.CorreoCreatePanel; + +public class ClienteCorreoCreateController extends AbstractCorreoCreateController { + + private Cliente cliente; + + public ClienteCorreoCreateController(CorreoCreatePanel view, LaunchController parentController) { + super(view, parentController); + } + + public void setCliente(Cliente cliente) { + this.cliente = cliente; + } + + @Override + protected void save() { + String sCorreo = this.view.getCorreoField().getText(); + + ValidationResult correoValidation = this.validator.validateCorreo(sCorreo); + if (correoValidation.hasError()) { + correoValidation.showErrorDialog(); + return; + } + + Correo correo = new Correo(); + correo.setCorreo(sCorreo); + correo.getClientes().add(this.cliente); + + this.repository.save(correo); + this.cliente.getCorreos().add(correo); + + this.volver(); + } + + @Override + protected void volver() { + ClienteCorreoSearchController controller = (ClienteCorreoSearchController) this.getParentController() + .getCard(PanelName.CLIENTE_CORREO_SEARCH); + controller.setCliente(this.cliente); + this.getParentController().showCard(PanelName.CLIENTE_CORREO_SEARCH); + } + +} diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoSearchController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoSearchController.java new file mode 100644 index 0000000..f7dc117 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoSearchController.java @@ -0,0 +1,97 @@ +package xyz.danielcortes.controllers.mantenedores.cliente.correo; + +import java.util.List; +import javax.swing.JOptionPane; +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.abstract_correo.AbstractCorreoSearchController; +import xyz.danielcortes.controllers.mantenedores.cliente.ClienteViewController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Cliente; +import xyz.danielcortes.models.Correo; +import xyz.danielcortes.views.mantenedores.correo.CorreoSearchPanel; + +public class ClienteCorreoSearchController extends AbstractCorreoSearchController { + + private Cliente cliente; + + public ClienteCorreoSearchController(CorreoSearchPanel view, LaunchController parent) { + super(view, parent); + } + + public void setCliente(Cliente cliente) { + this.cliente = cliente; + } + + @Override + protected void create() { + ClienteCorreoCreateController controller = (ClienteCorreoCreateController) this.getParentController() + .getCard(PanelName.CLIENTE_CORREO_CREATE); + controller.setCliente(this.cliente); + this.getParentController().showCard(PanelName.CLIENTE_CORREO_CREATE); + } + + @Override + protected void edit() { + Correo correo = this.getSelectedCorreo(); + if (correo != null) { + ClienteCorreoUpdateController controller = (ClienteCorreoUpdateController) this.getParentController() + .getCard(PanelName.CLIENTE_CORREO_UPDATE); + controller.setCliente(this.cliente); + controller.setCorreo(correo); + this.getParentController().showCard(PanelName.CLIENTE_CORREO_UPDATE); + } + } + + @Override + protected void delete() { + Correo correo = this.getSelectedCorreo(); + if (correo == null) + return; + + int option = JOptionPane.showConfirmDialog( + null, + "¿Estas seguro de que deseas eliminar el correo?", + "Confirmacion", + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE + ); + if (option == JOptionPane.NO_OPTION) + return; + + this.correoRepository.delete(correo); + this.cliente.getCorreos().remove(correo); + this.reload(); + } + + @Override + protected void view() { + Correo correo = this.getSelectedCorreo(); + if (correo != null) { + ClienteCorreoViewController controller = (ClienteCorreoViewController) this.getParentController() + .getCard(PanelName.CLIENTE_CORREO_VIEW); + controller.setCorreo(correo); + controller.setCliente(this.cliente); + this.getParentController().showCard(PanelName.CLIENTE_CORREO_VIEW); + } + } + + @Override + protected void search() { + String term = this.view.getSearchField().getText(); + List correo = this.correoRepository.search(term, this.cliente); + this.loadCorreosTable(correo); + } + + @Override + protected void volver() { + ClienteViewController controller = (ClienteViewController) this.getParentController().getCard(PanelName.CLIENTE_VIEW); + controller.setCliente(this.cliente); + this.getParentController().showCard(PanelName.CLIENTE_VIEW); + } + + @Override + protected void loadCorreosTable() { + List correos = this.cliente.getCorreos(); + this.loadCorreosTable(correos); + } +} diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoUpdateController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoUpdateController.java new file mode 100644 index 0000000..a879786 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoUpdateController.java @@ -0,0 +1,28 @@ +package xyz.danielcortes.controllers.mantenedores.cliente.correo; + +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.abstract_correo.AbstractCorreoUpdateController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Cliente; +import xyz.danielcortes.views.mantenedores.correo.CorreoUpdatePanel; + +public class ClienteCorreoUpdateController extends AbstractCorreoUpdateController { + + private Cliente cliente; + + public ClienteCorreoUpdateController(CorreoUpdatePanel view, LaunchController parentController) { + super(view, parentController); + } + + public void setCliente(Cliente cliente) { + this.cliente = cliente; + } + + @Override + protected void volver() { + ClienteCorreoSearchController controller = (ClienteCorreoSearchController) this.getParentController() + .getCard(PanelName.CLIENTE_CORREO_SEARCH); + controller.setCliente(this.cliente); + this.getParentController().showCard(PanelName.CLIENTE_CORREO_SEARCH); + } +} diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoViewController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoViewController.java new file mode 100644 index 0000000..1d39996 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/cliente/correo/ClienteCorreoViewController.java @@ -0,0 +1,28 @@ +package xyz.danielcortes.controllers.mantenedores.cliente.correo; + +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.abstract_correo.AbstractCorreoViewController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Cliente; +import xyz.danielcortes.views.mantenedores.correo.CorreoViewPanel; + +public class ClienteCorreoViewController extends AbstractCorreoViewController { + + private Cliente cliente; + + public ClienteCorreoViewController(CorreoViewPanel view, LaunchController parentController) { + super(view, parentController); + } + + public void setCliente(Cliente cliente) { + this.cliente = cliente; + } + + @Override + protected void volver() { + ClienteCorreoSearchController controller = (ClienteCorreoSearchController) this.getParentController().getCard(PanelName.CLIENTE_CORREO_SEARCH); + controller.setCliente(this.cliente); + this.getParentController().showCard(PanelName.CLIENTE_CORREO_SEARCH); + } + +} diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/DistribuidorViewController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/DistribuidorViewController.java index eb00bd1..512558c 100644 --- a/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/DistribuidorViewController.java +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/DistribuidorViewController.java @@ -1,6 +1,7 @@ package xyz.danielcortes.controllers.mantenedores.distribuidor; import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.distribuidor.correo.DistribuidorCorreoSearchController; import xyz.danielcortes.framework.BaseController; import xyz.danielcortes.framework.BasePanel; import xyz.danielcortes.framework.PanelName; @@ -29,28 +30,29 @@ public class DistribuidorViewController extends BaseController { private void setupListeners() { this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.DISTRIBUIDOR_SEARCH)); -// this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView()); + this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView()); // this.view.getTelefonosButton().addActionListener(e -> this.gotoTelefonoView()); // this.view.getDireccionesButton().addActionListener(e -> this.gotoDireccionView()); } -// private void gotoDireccionView() { + // private void gotoDireccionView() { // DireccionSearchController controller = (DireccionSearchController) this.getParentController().getCard(PanelName.DIRECCION_SEARCH); -// controller.setDistribuidor(distribuidor); +// controller.setCliente(distribuidor); // this.getParentController().showCard(PanelName.DIRECCION_SEARCH); // } // // private void gotoTelefonoView() { // TelefonoSearchController controller = (TelefonoSearchController) this.getParentController().getCard(PanelName.TELEFONO_SEARCH); -// controller.setDistribuidor(distribuidor); +// controller.setCliente(distribuidor); // this.getParentController().showCard(PanelName.TELEFONO_SEARCH); // } // -// private void gotoCorreosView() { -// CorreoSearchController controller = (CorreoSearchController) this.getParentController().getCard(PanelName.CORREO_SEARCH); -// controller.setDistribuidor(distribuidor); -// this.getParentController().showCard(PanelName.CORREO_SEARCH); -// } + private void gotoCorreosView() { + DistribuidorCorreoSearchController controller = (DistribuidorCorreoSearchController) this.getParentController() + .getCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH); + controller.setDistribuidor(this.distribuidor); + this.getParentController().showCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH); + } private void fillDistribuidor() { if (this.distribuidor == null) diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoCreateController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoCreateController.java new file mode 100644 index 0000000..a4de038 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoCreateController.java @@ -0,0 +1,51 @@ +package xyz.danielcortes.controllers.mantenedores.distribuidor.correo; + +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.abstract_correo.AbstractCorreoCreateController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.framework.ValidationResult; +import xyz.danielcortes.models.Correo; +import xyz.danielcortes.models.Distribuidor; +import xyz.danielcortes.views.mantenedores.correo.CorreoCreatePanel; + +public class DistribuidorCorreoCreateController extends AbstractCorreoCreateController { + + private Distribuidor distribuidor; + + public DistribuidorCorreoCreateController(CorreoCreatePanel view, LaunchController parentController) { + super(view, parentController); + } + + public void setDistribuidor(Distribuidor distribuidor) { + this.distribuidor = distribuidor; + } + + @Override + protected void save() { + String sCorreo = this.view.getCorreoField().getText(); + + ValidationResult correoValidation = this.validator.validateCorreo(sCorreo); + if (correoValidation.hasError()) { + correoValidation.showErrorDialog(); + return; + } + + Correo correo = new Correo(); + correo.setCorreo(sCorreo); + correo.getDistribuidores().add(this.distribuidor); + + this.repository.save(correo); + this.distribuidor.getCorreos().add(correo); + + this.volver(); + } + + @Override + protected void volver() { + DistribuidorCorreoSearchController controller = (DistribuidorCorreoSearchController) this.getParentController() + .getCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH); + controller.setDistribuidor(this.distribuidor); + this.getParentController().showCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH); + } + +} diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoSearchController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoSearchController.java new file mode 100644 index 0000000..c970428 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoSearchController.java @@ -0,0 +1,97 @@ +package xyz.danielcortes.controllers.mantenedores.distribuidor.correo; + +import java.util.List; +import javax.swing.JOptionPane; +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.abstract_correo.AbstractCorreoSearchController; +import xyz.danielcortes.controllers.mantenedores.distribuidor.DistribuidorViewController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Correo; +import xyz.danielcortes.models.Distribuidor; +import xyz.danielcortes.views.mantenedores.correo.CorreoSearchPanel; + +public class DistribuidorCorreoSearchController extends AbstractCorreoSearchController { + + private Distribuidor distribuidor; + + public DistribuidorCorreoSearchController(CorreoSearchPanel view, LaunchController parent) { + super(view, parent); + } + + public void setDistribuidor(Distribuidor distribuidor) { + this.distribuidor = distribuidor; + } + + @Override + protected void create() { + DistribuidorCorreoCreateController controller = (DistribuidorCorreoCreateController) this.getParentController() + .getCard(PanelName.DISTRIBUIDOR_CORREO_CREATE); + controller.setDistribuidor(this.distribuidor); + this.getParentController().showCard(PanelName.DISTRIBUIDOR_CORREO_CREATE); + } + + @Override + protected void edit() { + Correo correo = this.getSelectedCorreo(); + if (correo != null) { + DistribuidorCorreoUpdateController controller = (DistribuidorCorreoUpdateController) this.getParentController() + .getCard(PanelName.DISTRIBUIDOR_CORREO_UPDATE); + controller.setDistribuidor(this.distribuidor); + controller.setCorreo(correo); + this.getParentController().showCard(PanelName.DISTRIBUIDOR_CORREO_UPDATE); + } + } + + @Override + protected void delete() { + Correo correo = this.getSelectedCorreo(); + if (correo == null) + return; + + int option = JOptionPane.showConfirmDialog( + null, + "¿Estas seguro de que deseas eliminar el correo?", + "Confirmacion", + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE + ); + if (option == JOptionPane.NO_OPTION) + return; + + this.correoRepository.delete(correo); + this.distribuidor.getCorreos().remove(correo); + this.reload(); + } + + @Override + protected void view() { + Correo correo = this.getSelectedCorreo(); + if (correo != null) { + DistribuidorCorreoViewController controller = (DistribuidorCorreoViewController) this.getParentController() + .getCard(PanelName.DISTRIBUIDOR_CORREO_VIEW); + controller.setCorreo(correo); + controller.setDistribuidor(this.distribuidor); + this.getParentController().showCard(PanelName.DISTRIBUIDOR_CORREO_VIEW); + } + } + + @Override + protected void search() { + String term = this.view.getSearchField().getText(); + List correo = this.correoRepository.search(term, this.distribuidor); + this.loadCorreosTable(correo); + } + + @Override + protected void volver() { + DistribuidorViewController controller = (DistribuidorViewController) this.getParentController().getCard(PanelName.DISTRIBUIDOR_VIEW); + controller.setDistribuidor(this.distribuidor); + this.getParentController().showCard(PanelName.DISTRIBUIDOR_VIEW); + } + + @Override + protected void loadCorreosTable() { + List correos = this.distribuidor.getCorreos(); + this.loadCorreosTable(correos); + } +} diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoUpdateController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoUpdateController.java new file mode 100644 index 0000000..67ac598 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoUpdateController.java @@ -0,0 +1,28 @@ +package xyz.danielcortes.controllers.mantenedores.distribuidor.correo; + +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.abstract_correo.AbstractCorreoUpdateController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Distribuidor; +import xyz.danielcortes.views.mantenedores.correo.CorreoUpdatePanel; + +public class DistribuidorCorreoUpdateController extends AbstractCorreoUpdateController { + + private Distribuidor distribuidor; + + public DistribuidorCorreoUpdateController(CorreoUpdatePanel view, LaunchController parentController) { + super(view, parentController); + } + + public void setDistribuidor(Distribuidor distribuidor) { + this.distribuidor = distribuidor; + } + + @Override + protected void volver() { + DistribuidorCorreoSearchController controller = (DistribuidorCorreoSearchController) this.getParentController() + .getCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH); + controller.setDistribuidor(this.distribuidor); + this.getParentController().showCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH); + } +} diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoViewController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoViewController.java new file mode 100644 index 0000000..bb7a0bb --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/distribuidor/correo/DistribuidorCorreoViewController.java @@ -0,0 +1,29 @@ +package xyz.danielcortes.controllers.mantenedores.distribuidor.correo; + +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.mantenedores.abstract_correo.AbstractCorreoViewController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Distribuidor; +import xyz.danielcortes.views.mantenedores.correo.CorreoViewPanel; + +public class DistribuidorCorreoViewController extends AbstractCorreoViewController { + + private Distribuidor distribuidor; + + public DistribuidorCorreoViewController(CorreoViewPanel view, LaunchController parentController) { + super(view, parentController); + } + + public void setDistribuidor(Distribuidor distribuidor) { + this.distribuidor = distribuidor; + } + + @Override + protected void volver() { + DistribuidorCorreoSearchController controller = (DistribuidorCorreoSearchController) this.getParentController() + .getCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH); + controller.setDistribuidor(this.distribuidor); + this.getParentController().showCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH); + } + +} diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/TrabajadorViewController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/TrabajadorViewController.java index eadbe0b..b98b42a 100644 --- a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/TrabajadorViewController.java +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/TrabajadorViewController.java @@ -2,7 +2,7 @@ package xyz.danielcortes.controllers.mantenedores.trabajador; import javax.swing.JOptionPane; import xyz.danielcortes.controllers.LaunchController; -import xyz.danielcortes.controllers.mantenedores.trabajador.correo.CorreoSearchController; +import xyz.danielcortes.controllers.mantenedores.trabajador.correo.TrabajadorCorreoSearchController; import xyz.danielcortes.controllers.mantenedores.trabajador.direccion.DireccionSearchController; import xyz.danielcortes.controllers.mantenedores.trabajador.telefono.TelefonoSearchController; import xyz.danielcortes.controllers.mantenedores.trabajador.usuario.UsuarioCreateController; @@ -54,9 +54,10 @@ public class TrabajadorViewController extends BaseController { } private void gotoCorreosView() { - CorreoSearchController controller = (CorreoSearchController) this.getParentController().getCard(PanelName.CORREO_SEARCH); + TrabajadorCorreoSearchController controller = (TrabajadorCorreoSearchController) this.getParentController() + .getCard(PanelName.TRABAJADOR_CORREO_SEARCH); controller.setTrabajador(this.trabajador); - this.getParentController().showCard(PanelName.CORREO_SEARCH); + this.getParentController().showCard(PanelName.TRABAJADOR_CORREO_SEARCH); } private void gotoUsuarioView() { diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoCreateController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoCreateController.java similarity index 74% rename from src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoCreateController.java rename to src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoCreateController.java index 26e4d66..4068bd2 100644 --- a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoCreateController.java +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoCreateController.java @@ -8,11 +8,11 @@ import xyz.danielcortes.models.Correo; import xyz.danielcortes.models.Trabajador; import xyz.danielcortes.views.mantenedores.correo.CorreoCreatePanel; -public class CorreoCreateController extends AbstractCorreoCreateController { +public class TrabajadorCorreoCreateController extends AbstractCorreoCreateController { private Trabajador trabajador; - public CorreoCreateController(CorreoCreatePanel view, LaunchController parentController) { + public TrabajadorCorreoCreateController(CorreoCreatePanel view, LaunchController parentController) { super(view, parentController); } @@ -42,9 +42,10 @@ public class CorreoCreateController extends AbstractCorreoCreateController { @Override protected void volver() { - CorreoSearchController controller = (CorreoSearchController) this.getParentController().getCard(PanelName.CORREO_SEARCH); + TrabajadorCorreoSearchController controller = (TrabajadorCorreoSearchController) this.getParentController() + .getCard(PanelName.TRABAJADOR_CORREO_SEARCH); controller.setTrabajador(this.trabajador); - this.getParentController().showCard(PanelName.CORREO_SEARCH); + this.getParentController().showCard(PanelName.TRABAJADOR_CORREO_SEARCH); } } diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoSearchController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoSearchController.java similarity index 72% rename from src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoSearchController.java rename to src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoSearchController.java index d779f5d..c5cd3d8 100644 --- a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoSearchController.java +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoSearchController.java @@ -10,11 +10,11 @@ import xyz.danielcortes.models.Correo; import xyz.danielcortes.models.Trabajador; import xyz.danielcortes.views.mantenedores.correo.CorreoSearchPanel; -public class CorreoSearchController extends AbstractCorreoSearchController { +public class TrabajadorCorreoSearchController extends AbstractCorreoSearchController { private Trabajador trabajador; - public CorreoSearchController(CorreoSearchPanel view, LaunchController parent) { + public TrabajadorCorreoSearchController(CorreoSearchPanel view, LaunchController parent) { super(view, parent); } @@ -24,19 +24,21 @@ public class CorreoSearchController extends AbstractCorreoSearchController { @Override protected void create() { - CorreoCreateController controller = (CorreoCreateController) this.getParentController().getCard(PanelName.CORREO_CREATE); + TrabajadorCorreoCreateController controller = (TrabajadorCorreoCreateController) this.getParentController() + .getCard(PanelName.TRABAJADOR_CORREO_CREATE); controller.setTrabajador(this.trabajador); - this.getParentController().showCard(PanelName.CORREO_CREATE); + this.getParentController().showCard(PanelName.TRABAJADOR_CORREO_CREATE); } @Override protected void edit() { Correo correo = this.getSelectedCorreo(); if (correo != null) { - CorreoUpdateController controller = (CorreoUpdateController) this.getParentController().getCard(PanelName.CORREO_UPDATE); + TrabajadorCorreoUpdateController controller = (TrabajadorCorreoUpdateController) this.getParentController() + .getCard(PanelName.TRABAJADOR_CORREO_UPDATE); controller.setTrabajador(this.trabajador); controller.setCorreo(correo); - this.getParentController().showCard(PanelName.CORREO_UPDATE); + this.getParentController().showCard(PanelName.TRABAJADOR_CORREO_UPDATE); } } @@ -65,10 +67,11 @@ public class CorreoSearchController extends AbstractCorreoSearchController { protected void view() { Correo correo = this.getSelectedCorreo(); if (correo != null) { - CorreoViewController controller = (CorreoViewController) this.getParentController().getCard(PanelName.CORREO_VIEW); + TrabajadorCorreoViewController controller = (TrabajadorCorreoViewController) this.getParentController() + .getCard(PanelName.TRABAJADOR_CORREO_VIEW); controller.setCorreo(correo); controller.setTrabajador(this.trabajador); - this.getParentController().showCard(PanelName.CORREO_VIEW); + this.getParentController().showCard(PanelName.TRABAJADOR_CORREO_VIEW); } } diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoUpdateController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoUpdateController.java similarity index 59% rename from src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoUpdateController.java rename to src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoUpdateController.java index fab70e1..4ffa74a 100644 --- a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoUpdateController.java +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoUpdateController.java @@ -6,11 +6,11 @@ import xyz.danielcortes.framework.PanelName; import xyz.danielcortes.models.Trabajador; import xyz.danielcortes.views.mantenedores.correo.CorreoUpdatePanel; -public class CorreoUpdateController extends AbstractCorreoUpdateController { +public class TrabajadorCorreoUpdateController extends AbstractCorreoUpdateController { private Trabajador trabajador; - public CorreoUpdateController(CorreoUpdatePanel view, LaunchController parentController) { + public TrabajadorCorreoUpdateController(CorreoUpdatePanel view, LaunchController parentController) { super(view, parentController); } @@ -20,8 +20,9 @@ public class CorreoUpdateController extends AbstractCorreoUpdateController { @Override protected void volver() { - CorreoSearchController controller = (CorreoSearchController) this.getParentController().getCard(PanelName.CORREO_SEARCH); + TrabajadorCorreoSearchController controller = (TrabajadorCorreoSearchController) this.getParentController() + .getCard(PanelName.TRABAJADOR_CORREO_SEARCH); controller.setTrabajador(this.trabajador); - this.getParentController().showCard(PanelName.CORREO_SEARCH); + this.getParentController().showCard(PanelName.TRABAJADOR_CORREO_SEARCH); } } diff --git a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoViewController.java b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoViewController.java similarity index 59% rename from src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoViewController.java rename to src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoViewController.java index 837f193..934358d 100644 --- a/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/CorreoViewController.java +++ b/src/main/java/xyz/danielcortes/controllers/mantenedores/trabajador/correo/TrabajadorCorreoViewController.java @@ -6,11 +6,11 @@ import xyz.danielcortes.framework.PanelName; import xyz.danielcortes.models.Trabajador; import xyz.danielcortes.views.mantenedores.correo.CorreoViewPanel; -public class CorreoViewController extends AbstractCorreoViewController { +public class TrabajadorCorreoViewController extends AbstractCorreoViewController { private Trabajador trabajador; - public CorreoViewController(CorreoViewPanel view, LaunchController parentController) { + public TrabajadorCorreoViewController(CorreoViewPanel view, LaunchController parentController) { super(view, parentController); } @@ -20,9 +20,10 @@ public class CorreoViewController extends AbstractCorreoViewController { @Override protected void volver() { - CorreoSearchController controller = (CorreoSearchController) this.getParentController().getCard(PanelName.CORREO_SEARCH); + TrabajadorCorreoSearchController controller = (TrabajadorCorreoSearchController) this.getParentController() + .getCard(PanelName.TRABAJADOR_CORREO_SEARCH); controller.setTrabajador(this.trabajador); - this.getParentController().showCard(PanelName.CORREO_SEARCH); + this.getParentController().showCard(PanelName.TRABAJADOR_CORREO_SEARCH); } } diff --git a/src/main/java/xyz/danielcortes/framework/PanelName.java b/src/main/java/xyz/danielcortes/framework/PanelName.java index 2f4e8aa..2872f87 100644 --- a/src/main/java/xyz/danielcortes/framework/PanelName.java +++ b/src/main/java/xyz/danielcortes/framework/PanelName.java @@ -52,10 +52,20 @@ public enum PanelName { USUARIO_CREATE, USUARIO_UPDATE, - CORREO_VIEW, - CORREO_SEARCH, - CORREO_CREATE, - CORREO_UPDATE, + TRABAJADOR_CORREO_VIEW, + TRABAJADOR_CORREO_SEARCH, + TRABAJADOR_CORREO_CREATE, + TRABAJADOR_CORREO_UPDATE, + + DISTRIBUIDOR_CORREO_VIEW, + DISTRIBUIDOR_CORREO_SEARCH, + DISTRIBUIDOR_CORREO_CREATE, + DISTRIBUIDOR_CORREO_UPDATE, + + CLIENTE_CORREO_VIEW, + CLIENTE_CORREO_SEARCH, + CLIENTE_CORREO_CREATE, + CLIENTE_CORREO_UPDATE, TELEFONO_VIEW, TELEFONO_SEARCH, diff --git a/src/main/java/xyz/danielcortes/models/Correo.java b/src/main/java/xyz/danielcortes/models/Correo.java index 9967e0b..ded2be9 100644 --- a/src/main/java/xyz/danielcortes/models/Correo.java +++ b/src/main/java/xyz/danielcortes/models/Correo.java @@ -34,16 +34,16 @@ public class Correo { @ManyToMany @JoinTable( - name = "distribuidor_direccion", - joinColumns = @JoinColumn(name = "direccion_id", referencedColumnName = "id"), + name = "distribuidor_correo", + joinColumns = @JoinColumn(name = "correo_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "distribuidor_id", referencedColumnName = "id") ) private List distribuidores; @ManyToMany @JoinTable( - name = "cliente_direccion", - joinColumns = @JoinColumn(name = "direccion_id", referencedColumnName = "id"), + name = "cliente_correo", + joinColumns = @JoinColumn(name = "correo_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "cliente_id", referencedColumnName = "id") ) private List clientes; diff --git a/src/main/java/xyz/danielcortes/models/Distribuidor.java b/src/main/java/xyz/danielcortes/models/Distribuidor.java index 5d2d7d0..3849825 100644 --- a/src/main/java/xyz/danielcortes/models/Distribuidor.java +++ b/src/main/java/xyz/danielcortes/models/Distribuidor.java @@ -58,4 +58,28 @@ public class Distribuidor { public void setEmpresa(Empresa empresa) { this.empresa = empresa; } + + public List getCorreos() { + return this.correos; + } + + public void setCorreos(List correos) { + this.correos = correos; + } + + public List getTelefonos() { + return this.telefonos; + } + + public void setTelefonos(List telefonos) { + this.telefonos = telefonos; + } + + public List getDirecciones() { + return this.direcciones; + } + + public void setDirecciones(List direcciones) { + this.direcciones = direcciones; + } } diff --git a/src/main/java/xyz/danielcortes/models/Telefono.java b/src/main/java/xyz/danielcortes/models/Telefono.java index dc6dc03..a1fcd5a 100644 --- a/src/main/java/xyz/danielcortes/models/Telefono.java +++ b/src/main/java/xyz/danielcortes/models/Telefono.java @@ -34,16 +34,16 @@ public class Telefono { @ManyToMany @JoinTable( - name = "distribuidor_direccion", - joinColumns = @JoinColumn(name = "direccion_id", referencedColumnName = "id"), + name = "distribuidor_telefono", + joinColumns = @JoinColumn(name = "telefono_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "distribuidor_id", referencedColumnName = "id") ) private List distribuidores; @ManyToMany @JoinTable( - name = "cliente_direccion", - joinColumns = @JoinColumn(name = "direccion_id", referencedColumnName = "id"), + name = "cliente_telefono", + joinColumns = @JoinColumn(name = "telefono_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "cliente_id", referencedColumnName = "id") ) private List clientes; diff --git a/src/main/java/xyz/danielcortes/repository/CorreoRepository.java b/src/main/java/xyz/danielcortes/repository/CorreoRepository.java index e5ab2b6..0693d4c 100644 --- a/src/main/java/xyz/danielcortes/repository/CorreoRepository.java +++ b/src/main/java/xyz/danielcortes/repository/CorreoRepository.java @@ -4,7 +4,9 @@ import java.util.List; import javax.persistence.Query; import javax.persistence.TypedQuery; import xyz.danielcortes.framework.BaseRepository; +import xyz.danielcortes.models.Cliente; import xyz.danielcortes.models.Correo; +import xyz.danielcortes.models.Distribuidor; import xyz.danielcortes.models.Trabajador; public class CorreoRepository extends BaseRepository { @@ -26,4 +28,18 @@ public class CorreoRepository extends BaseRepository { query.setParameter("term", "%" + term.toLowerCase() + "%"); return query.getResultList(); } + + public List search(String term, Distribuidor distribuidor) { + Query query = this.em.createQuery("SELECT c FROM Correo c JOIN c.distribuidores d WHERE d.id = :id AND LOWER(c.correo) LIKE :term "); + query.setParameter("id", distribuidor.getId()); + query.setParameter("term", "%" + term.toLowerCase() + "%"); + return query.getResultList(); + } + + public List search(String term, Cliente cliente) { + Query query = this.em.createQuery("SELECT c FROM Correo c JOIN c.clientes d WHERE d.id = :id AND LOWER(c.correo) LIKE :term "); + query.setParameter("id", cliente.getId()); + query.setParameter("term", "%" + term.toLowerCase() + "%"); + return query.getResultList(); + } } diff --git a/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorCreatePanel.form b/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorCreatePanel.form index 6d8d827..8d1e1f3 100644 --- a/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorCreatePanel.form +++ b/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorCreatePanel.form @@ -1,5 +1,5 @@ -
+ diff --git a/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorSearchPanel.form b/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorSearchPanel.form index 4a8fea2..8d691cd 100644 --- a/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorSearchPanel.form +++ b/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorSearchPanel.form @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorUpdatePanel.form b/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorUpdatePanel.form index 9a8d736..5111201 100644 --- a/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorUpdatePanel.form +++ b/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorUpdatePanel.form @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorViewPanel.form b/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorViewPanel.form index be49634..175e3d2 100644 --- a/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorViewPanel.form +++ b/src/main/java/xyz/danielcortes/views/mantenedores/distribuidor/DistribuidorViewPanel.form @@ -1,5 +1,5 @@ - +