diff --git a/db/create.sql b/db/create.sql index 1556723..58d5fab 100644 --- a/db/create.sql +++ b/db/create.sql @@ -295,7 +295,7 @@ create table arriendo fecha_arriendo date not null, fecha_devolucion_estimada date not null, fecha_devolucion_real date, - multa int, + multa_diaria int, inserted_at timestamp default CURRENT_TIMESTAMP, foreign key (trabajador_id) references trabajador (id) on delete restrict on update cascade, foreign key (cliente_id) references cliente (id) on delete restrict on update cascade diff --git a/src/main/java/xyz/danielcortes/controllers/LaunchController.java b/src/main/java/xyz/danielcortes/controllers/LaunchController.java index 5281b35..dfd1c1c 100644 --- a/src/main/java/xyz/danielcortes/controllers/LaunchController.java +++ b/src/main/java/xyz/danielcortes/controllers/LaunchController.java @@ -6,6 +6,8 @@ import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; +import xyz.danielcortes.controllers.arrendar.ArrendarArrendarController; +import xyz.danielcortes.controllers.arrendar.ArrendarSearchController; import xyz.danielcortes.controllers.autor.AutorCreateController; import xyz.danielcortes.controllers.autor.AutorSearchController; import xyz.danielcortes.controllers.autor.AutorUpdateController; @@ -95,6 +97,8 @@ import xyz.danielcortes.framework.PanelName; import xyz.danielcortes.models.Trabajador; import xyz.danielcortes.models.Usuario; import xyz.danielcortes.views.LaunchFrame; +import xyz.danielcortes.views.arrendar.ArrendarArrendarPanel; +import xyz.danielcortes.views.arrendar.ArrendarSearchPanel; import xyz.danielcortes.views.autor.AutorCreatePanel; import xyz.danielcortes.views.autor.AutorSearchPanel; import xyz.danielcortes.views.autor.AutorUpdatePanel; @@ -316,6 +320,9 @@ public class LaunchController { this.controllers.put(PanelName.VENDER_VENDER, new VenderVenderController(new VenderVenderPanel(), this)); this.controllers.put(PanelName.VENDER_VER, new VenderVerController(new VenderVerPanel(), this)); + this.controllers.put(PanelName.ARRENDAR_SEARCH, new ArrendarSearchController(new ArrendarSearchPanel(), this)); + this.controllers.put(PanelName.ARRENDAR_ARRENDAR, new ArrendarArrendarController(new ArrendarArrendarPanel(), this)); + for (Entry entry : this.controllers.entrySet()) { this.frame.addCard(entry.getValue().getView().getContentPane(), entry.getKey()); } diff --git a/src/main/java/xyz/danielcortes/controllers/arrendar/ArrendarArrendarController.java b/src/main/java/xyz/danielcortes/controllers/arrendar/ArrendarArrendarController.java new file mode 100644 index 0000000..18367bb --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/arrendar/ArrendarArrendarController.java @@ -0,0 +1,201 @@ +package xyz.danielcortes.controllers.arrendar; + +import java.time.LocalDate; +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.PanelName; +import xyz.danielcortes.framework.ValidationResult; +import xyz.danielcortes.models.Arriendo; +import xyz.danielcortes.models.Cliente; +import xyz.danielcortes.models.Ejemplar; +import xyz.danielcortes.models.Estado; +import xyz.danielcortes.models.Trabajador; +import xyz.danielcortes.repository.ArrendarRepository; +import xyz.danielcortes.repository.ClienteRespository; +import xyz.danielcortes.repository.EjemplarRepository; +import xyz.danielcortes.repository.EstadoRepository; +import xyz.danielcortes.validator.ArriendoValidator; +import xyz.danielcortes.views.arrendar.ArrendarArrendarPanel; + +public class ArrendarArrendarController extends BaseController { + + private ArrendarArrendarPanel view; + private EjemplarRepository ejemplarRepository; + private EstadoRepository estadoRepository; + private ArrendarRepository arrendarRepository; + private ClienteRespository clienteRespository; + private ArriendoValidator validator; + + public ArrendarArrendarController(ArrendarArrendarPanel view, LaunchController parentController) { + super(parentController); + this.view = view; + this.ejemplarRepository = new EjemplarRepository(); + this.estadoRepository = new EstadoRepository(); + this.arrendarRepository = new ArrendarRepository(); + this.clienteRespository = new ClienteRespository(); + this.validator = new ArriendoValidator(); + this.setupListeners(); + } + + private void setupListeners() { + this.view.getAgregarButton().addActionListener(e -> this.agregar()); + this.view.getRemoverButton().addActionListener(e -> this.remover()); + this.view.getArrendarButton().addActionListener(e -> this.arrendar()); + this.view.getCancelarButton().addActionListener(e -> this.cancelar()); + } + + private void agregar() { + if (this.view.getEjemplarComboModel().getSize() == 0) { + JOptionPane.showMessageDialog( + null, + "No hay ningun ejemplar que agregar", + "Error", + JOptionPane.ERROR_MESSAGE + ); + return; + } + + Ejemplar ejemplar = (Ejemplar) this.view.getEjemplarComboModel().getSelectedItem(); + if (ejemplar == null) { + JOptionPane.showMessageDialog( + null, + "El ejemplar seleccionado es nulo, NO DEBERIA PASAR!!", + "ERROR AHHHHHHHHHHHHHHHHHH", + JOptionPane.ERROR_MESSAGE + ); + return; + } + + this.view.getEjemplaresCombo().removeItem(ejemplar); + this.view.getEjemplarTableModel().addRow(ejemplar); + } + + private void remover() { + if (this.view.getEjemplarTableModel().getRowCount() == 0) { + JOptionPane.showMessageDialog( + null, + "No hay ningun ejemplar que remover", + "Error", + JOptionPane.ERROR_MESSAGE + ); + return; + } + + Ejemplar ejemplar = this.getSelectedEjemplar(); + if (ejemplar == null) + return; + + this.view.getEjemplaresCombo().addItem(ejemplar); + this.view.getEjemplarTableModel().removeRow(ejemplar); + } + + private void arrendar() { + Cliente cliente = (Cliente) this.view.getClienteCombo().getSelectedItem(); + ValidationResult clienteValidation = this.validator.validateCliente(cliente); + if (clienteValidation.hasError()) { + clienteValidation.showErrorDialog(); + return; + } + + Trabajador trabajador = this.parentController.getTrabajador(); + ValidationResult trabajadorValidation = this.validator.validateTrabajador(trabajador); + if (trabajadorValidation.hasError()) { + trabajadorValidation.showErrorDialog(); + return; + } + + List ejemplares = this.view.getEjemplarTableModel().getRows(); + ValidationResult ejemplaresValidation = this.validator.validateEjemplares(ejemplares); + if (ejemplaresValidation.hasError()) { + ejemplaresValidation.showErrorDialog(); + return; + } + + LocalDate fechaDevolucion = this.view.getDevolucionPicker().getDate(); + ValidationResult fechaDevolucionValidation = this.validator.validateFechaDevolucion(fechaDevolucion); + if (fechaDevolucionValidation.hasError()) { + fechaDevolucionValidation.showErrorDialog(); + return; + } + + String costo = this.view.getCostoField().getText(); + ValidationResult costoValidation = this.validator.validateCosto(costo); + if (costoValidation.hasError()) { + costoValidation.showErrorDialog(); + return; + } + + String multa = this.view.getMultaDiariaField().getText(); + ValidationResult multaValidation = this.validator.validateMulta(multa); + if (multaValidation.hasError()) { + multaValidation.showErrorDialog(); + return; + } + + Estado estado = this.estadoRepository.getByNombre("Arrendado"); + ejemplares.forEach(ejemplar -> ejemplar.setEstado(estado)); + this.ejemplarRepository.save(ejemplares); + + Arriendo arriendo = new Arriendo(); + arriendo.setTrabajador(trabajador); + arriendo.setCliente(cliente); + arriendo.setCostoArriendo(Integer.parseInt(costo)); + arriendo.setFechaArriendo(LocalDate.now()); + arriendo.setFechaDevolucionEstimada(fechaDevolucion); + arriendo.setMultaDiaria(Integer.parseInt(multa)); + arriendo.setEjemplares(ejemplares); + this.arrendarRepository.save(arriendo); + + this.parentController.showCard(PanelName.ARRENDAR_SEARCH); + } + + private void cancelar() { + this.parentController.showCard(PanelName.ARRENDAR_SEARCH); + } + + private Ejemplar getSelectedEjemplar() { + int selectedRow = this.view.getEjemplaresTable().getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog( + null, + "No hay ningun ejemplar seleccionado", + "Error", + JOptionPane.ERROR_MESSAGE + ); + return null; + } + + return this.view.getEjemplarTableModel().getRow(selectedRow); + } + + @Override + public void show() { + Estado disponible = this.estadoRepository.getByNombre("Disponible"); + List ejemplares = this.ejemplarRepository.getByEstado(disponible); + + this.view.getEjemplarComboModel().removeAllElements(); + this.view.getEjemplarComboModel().addAll(ejemplares); + + List clientes = this.clienteRespository.getAll(); + this.view.getClienteComboModel().removeAllElements(); + this.view.getClienteComboModel().addAll(clientes); + + this.view.getEjemplarTableModel().removeRows(); + + this.view.getClienteCombo().requestFocus(); + + this.view.getClienteCombo().setSelectedIndex(0); + this.view.getEjemplaresCombo().setSelectedIndex(0); + this.view.getDevolucionPicker().setDate(LocalDate.now()); + this.view.getCostoField().setText("0"); + this.view.getMultaDiariaField().setText("0"); + } + + @Override + public BasePanel getView() { + return this.view; + } +} diff --git a/src/main/java/xyz/danielcortes/controllers/arrendar/ArrendarSearchController.java b/src/main/java/xyz/danielcortes/controllers/arrendar/ArrendarSearchController.java new file mode 100644 index 0000000..ef36ade --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/arrendar/ArrendarSearchController.java @@ -0,0 +1,105 @@ +package xyz.danielcortes.controllers.arrendar; + +import java.time.LocalDate; +import java.time.Period; +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.Arriendo; +import xyz.danielcortes.repository.ArrendarRepository; +import xyz.danielcortes.views.arrendar.ArrendarSearchPanel; +import xyz.danielcortes.views.arrendar.ArriendoRecibidoDialog; + +public class ArrendarSearchController extends BaseController { + + private ArrendarSearchPanel view; + private ArrendarRepository arrendarRepository; + + public ArrendarSearchController(ArrendarSearchPanel view, LaunchController parent) { + super(parent); + this.view = view; + this.arrendarRepository = new ArrendarRepository(); + this.setupListeners(); + } + + private void setupListeners() { + this.view.getArrendarButton().addActionListener(e -> this.getParentController().showCard(PanelName.ARRENDAR_ARRENDAR)); + this.view.getBuscarField().addActionListener(e -> this.search()); + this.view.getBuscarButton().addActionListener(e -> this.search()); + this.view.getVerButton().addActionListener(e -> this.view()); + this.view.getRecibirButton().addActionListener(e -> this.recibir()); + } + + private void search() { + String term = this.view.getBuscarField().getText(); + List arriendos = this.arrendarRepository.search(term); + this.loadArriendosTable(arriendos); + } + + private void view() { + Arriendo arriendo = this.getSelectedArriendo(); + if (arriendo == null) + return; +// AutorViewController controller = (AutorViewController) this.getParentController().getCard(PanelName.AUTOR_VIEW); +// controller.setAutor(autor); +// this.getParentController().showCard(PanelName.AUTOR_VIEW); + } + + private void recibir() { + Arriendo arriendo = this.getSelectedArriendo(); + if (arriendo == null) + return; + + int multaDiaria = arriendo.getMultaDiaria(); + int diasAtrasado = Period.between(arriendo.getFechaDevolucionEstimada(), LocalDate.now()).getDays(); + + ArriendoRecibidoDialog dialog = new ArriendoRecibidoDialog(multaDiaria, Math.max(0, diasAtrasado)); //Me vi en la necesidad de usar max, lo siento + dialog.execute(); + } + + private void loadArriendosTable(List arriendos) { + BaseTableModel model = this.view.getArriendosTableModel(); + model.setRows(arriendos); + } + + private Arriendo getSelectedArriendo() { + int selectedRow = this.view.getArriendosTable().getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog( + null, + "No hay arriendo seleccionado", + "Error", + JOptionPane.ERROR_MESSAGE + ); + return null; + } + + return this.view.getArriendosTableModel().getRow(selectedRow); + } + + @Override + public void show() { + this.reload(); + } + + public void reload() { + this.loadArriendosTable(); + this.view.getBuscarButton().requestFocus(); + this.view.getBuscarField().setText(""); + this.view.getArriendosTable().clearSelection(); + } + + private void loadArriendosTable() { + List arriendos = this.arrendarRepository.getAll(); + this.loadArriendosTable(arriendos); + } + + @Override + public BasePanel getView() { + return this.view; + } +} diff --git a/src/main/java/xyz/danielcortes/models/Arriendo.java b/src/main/java/xyz/danielcortes/models/Arriendo.java index bb8801e..faa9344 100644 --- a/src/main/java/xyz/danielcortes/models/Arriendo.java +++ b/src/main/java/xyz/danielcortes/models/Arriendo.java @@ -35,8 +35,8 @@ public class Arriendo { @Column(name = "fecha_devolucion_real") private LocalDate fechaDevolucionReal; - @Column(name = "multa") - private Integer multa; + @Column(name = "multa_diaria") + private Integer multaDiaria; @ManyToOne @JoinColumn(name = "trabajador_id", nullable = false) @@ -93,12 +93,12 @@ public class Arriendo { this.fechaDevolucionReal = fechaDevolucionReal; } - public Integer getMulta() { - return this.multa; + public Integer getMultaDiaria() { + return this.multaDiaria; } - public void setMulta(Integer multa) { - this.multa = multa; + public void setMultaDiaria(Integer multaDiaria) { + this.multaDiaria = multaDiaria; } public Trabajador getTrabajador() { diff --git a/src/main/java/xyz/danielcortes/repository/ArrendarRepository.java b/src/main/java/xyz/danielcortes/repository/ArrendarRepository.java new file mode 100644 index 0000000..f130d6d --- /dev/null +++ b/src/main/java/xyz/danielcortes/repository/ArrendarRepository.java @@ -0,0 +1,26 @@ +package xyz.danielcortes.repository; + +import java.util.List; +import javax.persistence.TypedQuery; +import xyz.danielcortes.framework.BaseRepository; +import xyz.danielcortes.models.Arriendo; + +public class ArrendarRepository extends BaseRepository { + + public ArrendarRepository() { + super(Arriendo.class); + } + + public List search(String term) { + TypedQuery query = this.em.createQuery("SELECT o FROM Arriendo o WHERE " + + " CONCAT(o.fechaArriendo, '') LIKE :term OR " + + " CONCAT(o.fechaDevolucionEstimada, '') LIKE :term OR " + + " CONCAT(o.fechaDevolucionReal, '') LIKE :term OR " + + " CONCAT(o.ejemplares.size, '') LIKE :term OR " + + " LOWER(o.cliente.rut) LIKE :term OR " + + " LOWER(o.trabajador.rut) LIKE :term", Arriendo.class); + + query.setParameter("term", "%" + term.toLowerCase() + "%"); + return query.getResultList(); + } +} diff --git a/src/main/java/xyz/danielcortes/validator/ArriendoValidator.java b/src/main/java/xyz/danielcortes/validator/ArriendoValidator.java new file mode 100644 index 0000000..ef4c04c --- /dev/null +++ b/src/main/java/xyz/danielcortes/validator/ArriendoValidator.java @@ -0,0 +1,80 @@ +package xyz.danielcortes.validator; + +import java.time.LocalDate; +import java.util.List; +import xyz.danielcortes.framework.ValidationResult; +import xyz.danielcortes.models.Cliente; +import xyz.danielcortes.models.Ejemplar; +import xyz.danielcortes.models.Trabajador; + +public class ArriendoValidator { + + public ValidationResult validateCliente(Cliente cliente) { + if (cliente == null) { + return new ValidationResult("No hay cliente"); + } + + return ValidationResult.NON_ERROR; + } + + public ValidationResult validateTrabajador(Trabajador trabajador) { + if (trabajador == null) { + return new ValidationResult("No hay trabajador, no deberia pasar!!!"); + } + + return ValidationResult.NON_ERROR; + } + + public ValidationResult validateEjemplares(List ejemplares) { + if (ejemplares == null) { + return new ValidationResult("No hay ejemplares, no deberia pasar!!!"); + } + if (ejemplares.size() == 0) { + return new ValidationResult("No hay ejemplares"); + } + if (ejemplares.stream().anyMatch(ejemplar -> !ejemplar.getEstado().getNombre().equals("Disponible"))) { + return new ValidationResult("Por alguna razon hay un ejemplar no disponible, NO DEBERIA PASAR TAMPOCO!"); + } + + return ValidationResult.NON_ERROR; + } + + public ValidationResult validateFechaDevolucion(LocalDate date) { + if (date.isBefore(LocalDate.now().plusDays(1)) || date.isEqual(LocalDate.now().plusDays(1))) { + return new ValidationResult("La fecha de devolucion debe ser al menos 1 dias despues de hoy"); + } + return ValidationResult.NON_ERROR; + } + + public ValidationResult validateCosto(String costo) { + if (costo == null) { + return new ValidationResult("El costo es null"); + } + if (costo.isBlank()) { + return new ValidationResult("El costo esta vacio"); + } + + try { + int i = Integer.parseInt(costo); + return ValidationResult.NON_ERROR; + } catch (NumberFormatException e) { + return new ValidationResult("El costo no es un numero"); + } + } + + public ValidationResult validateMulta(String multa) { + if (multa == null) { + return new ValidationResult("La multa es null"); + } + if (multa.isBlank()) { + return new ValidationResult("La multa esta vacia"); + } + + try { + int i = Integer.parseInt(multa); + return ValidationResult.NON_ERROR; + } catch (NumberFormatException e) { + return new ValidationResult("El multa no es un numero"); + } + } +} diff --git a/src/main/java/xyz/danielcortes/views/arrendar/ArrendarArrendarPanel.form b/src/main/java/xyz/danielcortes/views/arrendar/ArrendarArrendarPanel.form new file mode 100644 index 0000000..cb350a9 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/arrendar/ArrendarArrendarPanel.form @@ -0,0 +1,175 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/xyz/danielcortes/views/arrendar/ArrendarArrendarPanel.java b/src/main/java/xyz/danielcortes/views/arrendar/ArrendarArrendarPanel.java new file mode 100644 index 0000000..553e624 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/arrendar/ArrendarArrendarPanel.java @@ -0,0 +1,234 @@ +package xyz.danielcortes.views.arrendar; + +import com.github.lgooddatepicker.components.DatePicker; +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import com.intellij.uiDesigner.core.Spacer; +import java.awt.Dimension; +import java.awt.Insets; +import javax.swing.DefaultComboBoxModel; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import xyz.danielcortes.framework.BasePanel; +import xyz.danielcortes.framework.BaseTableModel; +import xyz.danielcortes.models.Cliente; +import xyz.danielcortes.models.Ejemplar; + +public class ArrendarArrendarPanel extends BasePanel { + + private JPanel contentPane; + private JButton arrendarButton; + private JButton cancelarButton; + private JComboBox clienteCombo; + private DefaultComboBoxModel clienteComboModel; + private JTable ejemplaresTable; + private BaseTableModel ejemplarTableModel; + private JComboBox ejemplaresCombo; + private DefaultComboBoxModel ejemplarComboModel; + private JButton agregarButton; + private JButton removerButton; + private JTextField costoField; + private DatePicker devolucionPicker; + private JTextField multaDiariaField; + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + this.$$$setupUI$$$(); + } + + @Override + public JPanel getContentPane() { + return this.contentPane; + } + + public JButton getArrendarButton() { + return this.arrendarButton; + } + + public JButton getCancelarButton() { + return this.cancelarButton; + } + + public JComboBox getClienteCombo() { + return this.clienteCombo; + } + + public DefaultComboBoxModel getClienteComboModel() { + return this.clienteComboModel; + } + + public JTable getEjemplaresTable() { + return this.ejemplaresTable; + } + + public BaseTableModel getEjemplarTableModel() { + return this.ejemplarTableModel; + } + + public JComboBox getEjemplaresCombo() { + return this.ejemplaresCombo; + } + + public DefaultComboBoxModel getEjemplarComboModel() { + return this.ejemplarComboModel; + } + + public JButton getAgregarButton() { + return this.agregarButton; + } + + public JButton getRemoverButton() { + return this.removerButton; + } + + public JTextField getCostoField() { + return this.costoField; + } + + public DatePicker getDevolucionPicker() { + return this.devolucionPicker; + } + + public JTextField getMultaDiariaField() { + return this.multaDiariaField; + } + + /** + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + createUIComponents(); + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(12, 3, new Insets(20, 20, 20, 20), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, new GridConstraints(10, 1, 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)); + arrendarButton = new JButton(); + arrendarButton.setText("Arrendar"); + panel1.add(arrendarButton, 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)); + cancelarButton = new JButton(); + cancelarButton.setText("Cancelar"); + panel1.add(cancelarButton, 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 Spacer spacer1 = new Spacer(); + contentPane.add(spacer1, + new GridConstraints(11, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, + null, null, 0, false)); + final Spacer spacer2 = new Spacer(); + contentPane.add(spacer2, + new GridConstraints(11, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, + null, null, null, 0, false)); + final Spacer spacer3 = new Spacer(); + contentPane.add(spacer3, + new GridConstraints(11, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, + null, null, null, 0, false)); + final JLabel label1 = new JLabel(); + label1.setText("Cliente:"); + contentPane.add(label1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + contentPane.add(clienteCombo, + new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new GridLayoutManager(2, 3, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel2, new GridConstraints(2, 1, 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)); + final JLabel label2 = new JLabel(); + label2.setText("Ejemplares:"); + panel2.add(label2, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + panel2.add(ejemplaresCombo, + new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + agregarButton = new JButton(); + agregarButton.setText("+"); + panel2.add(agregarButton, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(50, -1), + null, 0, false)); + removerButton = new JButton(); + removerButton.setText("-"); + panel2.add(removerButton, new GridConstraints(1, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(50, -1), + null, 0, false)); + final JScrollPane scrollPane1 = new JScrollPane(); + contentPane.add(scrollPane1, new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); + scrollPane1.setViewportView(ejemplaresTable); + final JLabel label3 = new JLabel(); + label3.setText("Costo Base:"); + contentPane.add(label3, new GridConstraints(4, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + costoField = new JTextField(); + contentPane.add(costoField, + new GridConstraints(5, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + devolucionPicker = new DatePicker(); + contentPane.add(devolucionPicker, + new GridConstraints(9, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label4 = new JLabel(); + label4.setText("Fecha devolucion:"); + contentPane.add(label4, new GridConstraints(8, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label5 = new JLabel(); + label5.setText("Multa Diaria:"); + contentPane.add(label5, new GridConstraints(6, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + multaDiariaField = new JTextField(); + contentPane.add(multaDiariaField, + new GridConstraints(7, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + } + + private void createUIComponents() { + this.clienteComboModel = new DefaultComboBoxModel<>(); + this.clienteCombo = new JComboBox<>(this.clienteComboModel); + + this.ejemplarComboModel = new DefaultComboBoxModel<>(); + this.ejemplaresCombo = new JComboBox<>(this.ejemplarComboModel); + + this.ejemplarTableModel = new BaseTableModel<>( + new String[]{"ISBN", "Serie", "Titulo", "Precio"}, + (row, rowIndex, colIndex) -> { + switch (colIndex) { + case 0: + return row.get(rowIndex).getLibro().getIsbn(); + case 1: + return row.get(rowIndex).getSerie(); + case 2: + return row.get(rowIndex).getLibro().getTitulo(); + case 3: + return row.get(rowIndex).getLibro().getPrecioReferencia(); + default: + return null; + } + } + ); + this.ejemplaresTable = new JTable(this.ejemplarTableModel); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } + +} diff --git a/src/main/java/xyz/danielcortes/views/arrendar/ArrendarSearchPanel.form b/src/main/java/xyz/danielcortes/views/arrendar/ArrendarSearchPanel.form new file mode 100644 index 0000000..373197c --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/arrendar/ArrendarSearchPanel.form @@ -0,0 +1,109 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/xyz/danielcortes/views/arrendar/ArrendarSearchPanel.java b/src/main/java/xyz/danielcortes/views/arrendar/ArrendarSearchPanel.java new file mode 100644 index 0000000..dc52762 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/arrendar/ArrendarSearchPanel.java @@ -0,0 +1,163 @@ +package xyz.danielcortes.views.arrendar; + +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import com.intellij.uiDesigner.core.Spacer; +import java.awt.Dimension; +import java.awt.Insets; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import xyz.danielcortes.framework.BasePanel; +import xyz.danielcortes.framework.BaseTableModel; +import xyz.danielcortes.models.Arriendo; + +public class ArrendarSearchPanel extends BasePanel { + + private JPanel contentPane; + private JTextField buscarField; + private JButton buscarButton; + private JTable arriendosTable; + private BaseTableModel arriendosTableModel; + private JButton arrendarButton; + private JButton verButton; + private JButton recibirButton; + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + this.$$$setupUI$$$(); + } + + @Override + public JPanel getContentPane() { + return this.contentPane; + } + + public JTextField getBuscarField() { + return this.buscarField; + } + + public JButton getBuscarButton() { + return this.buscarButton; + } + + public JTable getArriendosTable() { + return this.arriendosTable; + } + + public BaseTableModel getArriendosTableModel() { + return this.arriendosTableModel; + } + + public JButton getArrendarButton() { + return this.arrendarButton; + } + + public JButton getVerButton() { + return this.verButton; + } + + public JButton getRecibirButton() { + return this.recibirButton; + } + + /** + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + createUIComponents(); + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(4, 3, new Insets(20, 20, 20, 20), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, new GridConstraints(0, 1, 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)); + buscarField = new JTextField(); + panel1.add(buscarField, + 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 JScrollPane scrollPane1 = new JScrollPane(); + contentPane.add(scrollPane1, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); + scrollPane1.setViewportView(arriendosTable); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel2, new GridConstraints(2, 1, 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)); + arrendarButton = new JButton(); + arrendarButton.setText("Arrendar"); + panel2.add(arrendarButton, 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"); + panel2.add(verButton, new GridConstraints(0, 2, 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)); + recibirButton = new JButton(); + recibirButton.setText("Recibir "); + panel2.add(recibirButton, 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 Spacer spacer1 = new Spacer(); + contentPane.add(spacer1, + new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, + null, null, 0, false)); + final Spacer spacer2 = new Spacer(); + contentPane.add(spacer2, + new GridConstraints(3, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + final Spacer spacer3 = new Spacer(); + contentPane.add(spacer3, + new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + } + + private void createUIComponents() { + this.arriendosTableModel = new BaseTableModel<>( + new String[]{"Fecha arrendado", "Fecha estimada", "Fecha recibido", "NÂș Ejemplares", "Trabajador", "Cliente"}, + (row, rowIndex, colIndex) -> { + switch (colIndex) { + case 0: + return row.get(rowIndex).getFechaArriendo(); + case 1: + return row.get(rowIndex).getFechaDevolucionEstimada(); + case 2: + return row.get(rowIndex).getFechaDevolucionReal(); + case 3: + return row.get(rowIndex).getEjemplares().size(); + case 4: + return row.get(rowIndex).getTrabajador().getRut(); + case 5: + return row.get(rowIndex).getCliente().getRut(); + default: + return null; + } + } + ); + this.arriendosTable = new JTable(this.arriendosTableModel); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } + +} diff --git a/src/main/java/xyz/danielcortes/views/arrendar/ArriendoRecibidoDialog.form b/src/main/java/xyz/danielcortes/views/arrendar/ArriendoRecibidoDialog.form new file mode 100644 index 0000000..d82ad0e --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/arrendar/ArriendoRecibidoDialog.form @@ -0,0 +1,110 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/xyz/danielcortes/views/arrendar/ArriendoRecibidoDialog.java b/src/main/java/xyz/danielcortes/views/arrendar/ArriendoRecibidoDialog.java new file mode 100644 index 0000000..2849302 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/arrendar/ArriendoRecibidoDialog.java @@ -0,0 +1,138 @@ +package xyz.danielcortes.views.arrendar; + +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import com.intellij.uiDesigner.core.Spacer; +import java.awt.Dimension; +import java.awt.Insets; +import java.awt.event.KeyEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.KeyStroke; + +public class ArriendoRecibidoDialog extends JDialog { + + private JPanel contentPane; + private JButton buttonOK; + private JTextField multaTotalField; + private JTextField diasAtrasadosField; + private JTextField multaDiariaField; + + private int multaDiaria; + private int diasAtrasados; + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + this.$$$setupUI$$$(); + } + + public ArriendoRecibidoDialog(int multaDiaria, int diasAtrasados) { + this.multaDiaria = multaDiaria; + this.diasAtrasados = diasAtrasados; + + this.setContentPane(this.contentPane); + this.setModal(true); + this.setLocationRelativeTo(null); + this.getRootPane().setDefaultButton(this.buttonOK); + this.buttonOK.addActionListener(e -> this.dispose()); + this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + this.addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + ArriendoRecibidoDialog.this.dispose(); + } + }); + this.contentPane.registerKeyboardAction( + e -> this.dispose(), + KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), + JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT + ); + + this.fill(); + } + + private void fill() { + this.multaDiariaField.setText(String.valueOf(this.multaDiaria)); + this.diasAtrasadosField.setText(String.valueOf(this.diasAtrasados)); + this.multaTotalField.setText(String.valueOf(this.multaDiaria * this.diasAtrasados)); + } + + public void execute() { + this.pack(); + this.setVisible(true); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(2, 1, new Insets(10, 10, 10, 10), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, 1, null, null, null, 0, false)); + final Spacer spacer1 = new Spacer(); + panel1.add(spacer1, + new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); + panel1.add(panel2, new GridConstraints(0, 1, 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)); + buttonOK = new JButton(); + buttonOK.setText("OK"); + panel2.add(buttonOK, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JPanel panel3 = new JPanel(); + panel3.setLayout(new GridLayoutManager(3, 2, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel3, 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)); + final JLabel label1 = new JLabel(); + label1.setText("Multa Total:"); + panel3.add(label1, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label2 = new JLabel(); + label2.setText("Dias Atrasados:"); + panel3.add(label2, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + multaTotalField = new JTextField(); + multaTotalField.setEditable(false); + panel3.add(multaTotalField, + new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + diasAtrasadosField = new JTextField(); + diasAtrasadosField.setEditable(false); + panel3.add(diasAtrasadosField, + new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JLabel label3 = new JLabel(); + label3.setText("Multa diaria:"); + panel3.add(label3, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + multaDiariaField = new JTextField(); + multaDiariaField.setEditable(false); + panel3.add(multaDiariaField, + new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } +} diff --git a/src/main/java/xyz/danielcortes/views/vender/VenderVerPanel.java b/src/main/java/xyz/danielcortes/views/vender/VenderVerPanel.java index 0d49d02..4122978 100644 --- a/src/main/java/xyz/danielcortes/views/vender/VenderVerPanel.java +++ b/src/main/java/xyz/danielcortes/views/vender/VenderVerPanel.java @@ -159,6 +159,7 @@ public class VenderVerPanel extends BasePanel { contentPane.add(label6, new GridConstraints(4, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); clienteField = new JTextField(); + clienteField.setEditable(false); contentPane.add(clienteField, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); @@ -197,4 +198,5 @@ public class VenderVerPanel extends BasePanel { public JComponent $$$getRootComponent$$$() { return contentPane; } + }