Exemplo n.º 1
0
  public void iniciar() {
    // ************ BOTONES DE LOS EMPLEADOS ****************
    // BOTON NUEVO EMPLEADO
    p.btnNewEmple.addActionListener(
        (ActionEvent) -> {
          jdne = new JDNewEmpleado(p, true);
          jdne.txtNIF.setText("");
          jdne.txtNombre.setText("");
          jdne.txtApellidos.setText("");
          jdne.txtFchNaci.setText("--/--/--");

          // BOTON ACEPTA DE NUEVO EMPLEADO
          jdne.btnAceptar.addActionListener(
              (ActionEvent e) -> {
                String nif, nombre, apell, fch;
                nif = jdne.txtNIF.getText();
                nombre = jdne.txtNombre.getText();
                apell = jdne.txtApellidos.getText();
                fch = jdne.txtFchNaci.getText();
                consultas.insertarEmpleado(nif, nombre, apell, fch);
                p.TablaEmpleados.setModel(this.getTablaEmple());
                jdne.dispose();
              });
          // BOTON CANCELAR DE NUEVO EMPLEADO
          jdne.btnCancelar.addActionListener(
              (ActionEvent e) -> {
                jdne.dispose();
              });
          jdne.setVisible(true);
        });

    // MODIFICAR EMPLEADO
    p.btnModEmple.addActionListener(
        (ActionEvent e) -> {
          jdne = new JDNewEmpleado(p, true);
          empleados = consultas.recogerEmpleados();
          if (p.TablaEmpleados.getSelectedRow() == -1) {
            JOptionPane.showMessageDialog(
                jdne, "Error, seleccione un empleado de la tabla primero");
          } else {
            Empleado auxilio = empleados.get(p.TablaEmpleados.getSelectedRow());
            jdne.txtNIF.setText(auxilio.getNif());
            jdne.txtApellidos.setText(auxilio.getApellido());
            jdne.txtFchNaci.setText(auxilio.getFechaNacimiento());
            jdne.txtNombre.setText(auxilio.getNombre());
            // BOTON ACEPTAR MODIFICAR EMPLEADO
            jdne.btnAceptar.addActionListener(
                (ActionEvent a) -> {
                  String nif, nombre, apell, fch;
                  int id = auxilio.getId();
                  nif = jdne.txtNIF.getText();
                  nombre = jdne.txtNombre.getText();
                  apell = jdne.txtApellidos.getText();
                  fch = jdne.txtFchNaci.getText();
                  consultas.modificarEmpleado(id, nif, nombre, apell, fch);
                  p.TablaEmpleados.setModel(this.getTablaEmple());
                  jdne.dispose();
                });
            // BOTON CANCELAR MODIFICAR EMPLEADO
            jdne.btnCancelar.addActionListener(
                (ActionEvent a) -> {
                  jdne.dispose();
                });
            jdne.setVisible(true);
          }
        });

    // DESPEDIR EMPLEADO
    p.btnDespedir.addActionListener(
        (ActionEvent e) -> {
          empleados = consultas.recogerEmpleados();
          if (p.TablaEmpleados.getSelectedRow() == -1) {
            JOptionPane.showMessageDialog(
                jdne, "Error, seleccione un empleado de la tabla primero");
          } else {
            Empleado HELP = empleados.get(p.TablaEmpleados.getSelectedRow());
            consultas.deleteEmpleado(HELP.getId());
            p.TablaEmpleados.setModel(this.getTablaEmple());
          }
        });
    // **********************************************
    // BOTON AGREGAR PROYECTO A EMPLEADO
    p.btnAgregaProye.addActionListener(
        (ActionEvent e) -> {
          jdip = new JDInsertProy(p, true);
          ProjectX = consultas.recogerProyectos();
          empleados = consultas.recogerEmpleados();
          if (p.TablaEmpleados.getSelectedRow() == -1) {
            JOptionPane.showMessageDialog(
                jdne, "Error, seleccione un empleado de la tabla primero");
          } else {
            Empleado aux = empleados.get(p.TablaEmpleados.getSelectedRow());
            Proyecto auxil;

            jdip.JComboInsert.setModel(this.getComboBox());
            auxil = ProjectX.get(jdip.JComboInsert.getSelectedIndex());
            jdip.txtDescripcionInsert.setText(auxil.getDescripcion());

            jdip.JComboInsert.addActionListener(
                (ActionEvent e1) -> {
                  Proyecto joe = ProjectX.get(jdip.JComboInsert.getSelectedIndex());
                  jdip.txtDescripcionInsert.setText(joe.getDescripcion());
                });

            jdip.btnConfirmarInsert.addActionListener(
                (ActionEvent e1) -> {
                  Proyecto leñe = ProjectX.get(jdip.JComboInsert.getSelectedIndex());
                  int maximo;
                  try {
                    maximo = consultas.maximoEmple(leñe.getId());

                    if (maximo < leñe.getMaxEmple()) {
                      consultas.insertarEmpleProy(aux.getId(), leñe.getId());
                      jdip.dispose();
                    } else {
                      JOptionPane.showMessageDialog(
                          p,
                          "Ya esta el maximo de empleados por proyecto, seleccione otro o elimine un empleado del proyecto priemero");
                      jdip.dispose();
                    }
                  } catch (SQLException ex) {
                    Logger.getLogger(Controlador.class.getName()).log(Level.SEVERE, null, ex);
                  }
                });

            jdip.btnCancelarInsert.addActionListener(
                (ActionEvent e1) -> {
                  jdip.dispose();
                });
            jdip.setVisible(true);
          }
        });

    // ********** BOTONES DE LOS PROYECTOS ************
    // ACTION EVENT DEL JCOMBOBOX para actualizar la pantalla
    p.jComboBox1.addActionListener(
        (ActionEvent e) -> {
          this.setTxtsProyecto(ProjectX.get(p.jComboBox1.getSelectedIndex()));
          p.TablaEmpleProyec.setModel(this.getTablaEmpleProy());
        });

    // NUEVO PROYECTO
    p.btnNewProyecto.addActionListener(
        (ActionEvent e) -> {
          jdnp = new JDNewProyect(p, true);

          jdnp.txtNameProyect.setText("");
          jdnp.txtDescripcion.setText("");
          jdnp.txtFchEntrega.setText("--/--/--");
          jdnp.txtFchInicio.setText("--/--/--");
          jdnp.txtMaxEmple.setText("1");

          // BOTON ACEPTAR
          jdnp.btnAceptar.addActionListener(
              (ActionEvent e1) -> {
                String titulo, descripcion, fchIn, fchEntr;
                int max_emple;
                titulo = jdnp.txtNameProyect.getText();
                max_emple = Integer.parseInt(jdnp.txtMaxEmple.getText());
                fchIn = jdnp.txtFchInicio.getText();
                fchEntr = jdnp.txtFchEntrega.getText();
                descripcion = jdnp.txtDescripcion.getText();
                consultas.insertarProyeto(titulo, fchIn, fchEntr, descripcion, max_emple);
                p.jComboBox1.setModel(this.getComboBox());
                jdnp.dispose();
              });
          // BOTON CANCELAR
          jdnp.btnCancelar.addActionListener(
              (ActionEvent a) -> {
                jdnp.dispose();
              });
          jdnp.setVisible(true);
        });

    // BOTON MODIFICAR PROYECTO
    p.btnModProyecto.addActionListener(
        (ActionEvent e) -> {
          jdnp = new JDNewProyect(p, true);
          ProjectX = consultas.recogerProyectos();
          Proyecto auxi = ProjectX.get(p.jComboBox1.getSelectedIndex());
          jdnp.txtDescripcion.setText(auxi.getDescripcion());
          jdnp.txtNameProyect.setText(auxi.getTitulo());
          jdnp.txtFchEntrega.setText(auxi.getFechaFin());
          jdnp.txtFchInicio.setText(auxi.getFechaInicio());
          jdnp.txtMaxEmple.setText(String.valueOf(auxi.getMaxEmple()));

          // BOTON ACEPTAR
          jdnp.btnAceptar.addActionListener(
              (ActionEvent e1) -> {
                String titulo, descripcion, fchIn, fchEntr;
                int max_emple, id;
                id = auxi.getId();
                titulo = jdnp.txtNameProyect.getText();
                max_emple = Integer.parseInt(jdnp.txtMaxEmple.getText());
                fchIn = jdnp.txtFchInicio.getText();
                fchEntr = jdnp.txtFchEntrega.getText();
                descripcion = jdnp.txtDescripcion.getText();
                consultas.modificarProyecto(id, titulo, fchIn, fchEntr, descripcion, max_emple);
                p.jComboBox1.setModel(this.getComboBox());
                this.setTxtsProyecto(ProjectX.get(p.jComboBox1.getSelectedIndex()));
                jdnp.dispose();
              });
          // BOTON CANCELAR
          jdnp.btnCancelar.addActionListener(
              (ActionEvent a) -> {
                jdnp.dispose();
              });
          jdnp.setVisible(true);
        });

    // BOTON BORRAR PROYECTO
    p.btnDeleteProyecto.addActionListener(
        (ActionEvent e) -> {
          ProjectX = consultas.recogerProyectos();
          Proyecto HALP = ProjectX.get(p.jComboBox1.getSelectedIndex());
          consultas.deleteProyecto(HALP.getId());
          p.jComboBox1.setModel(this.getComboBox());
          this.setTxtsProyecto(ProjectX.get(p.jComboBox1.getSelectedIndex()));
        });
    // BOTON ELIMINA RELACION
    p.btnEliminaRelacion.addActionListener(
        (ActionEvent e) -> {
          ProjectX = consultas.recogerProyectos();
          empleados =
              consultas.recogerEmpleProy(ProjectX.get(p.jComboBox1.getSelectedIndex()).getId());

          if (p.TablaEmpleProyec.getSelectedRow() == -1) {
            JOptionPane.showMessageDialog(p, "Error, seleccione un empleado de la tabla primero");
          } else {
            // System.out.println(empleados.get(p.TablaEmpleProyec.getSelectedRow()).getId() + " " +
            // ProjectX.get(p.jComboBox1.getSelectedIndex()).getId());
            consultas.eliminarEmpleProy(
                empleados.get(p.TablaEmpleProyec.getSelectedRow()).getId(),
                ProjectX.get(p.jComboBox1.getSelectedIndex()).getId());
            p.TablaEmpleProyec.setModel(this.getTablaEmpleProy());
          }
        });

    // ********** GENERAR PDF **************
    p.btnGeneraPdf.addActionListener(
        (ActionEvent e) -> {
          this.generaPdf();
        });

    // ****************INICIALIZADORES DE LOS MODELOS***************
    // Inicializadores de las Tablas y el ComboBox de los proyectos
    p.jComboBox1.setModel(this.getComboBox());
    this.setTxtsProyecto(ProjectX.get(p.jComboBox1.getSelectedIndex()));
    p.TablaEmpleProyec.setModel(this.getTablaEmpleProy());
    p.TablaEmpleados.setModel(this.getTablaEmple());
    p.setVisible(true);
  }