示例#1
0
 public DefaultComboBoxModel getComboBox() {
   DefaultComboBoxModel ComboModel = new DefaultComboBoxModel();
   ProjectX = consultas.recogerProyectos();
   for (Proyecto Pro : ProjectX) {
     ComboModel.addElement(Pro.getTitulo());
   }
   return ComboModel;
 }
示例#2
0
  public DefaultTableModel getTablaEmple() {
    DefaultTableModel modeloEmple = new DefaultTableModel();
    modeloEmple.addColumn("NIF");
    modeloEmple.addColumn("Nombre");
    modeloEmple.addColumn("Apellidos");
    modeloEmple.addColumn("Fecha Nacimiento");
    Object[] fila = new Object[4];

    ArrayList<Empleado> recogerEmpleados = consultas.recogerEmpleados();
    for (Empleado e : recogerEmpleados) {
      fila[0] = e.getNif();
      fila[1] = e.getNombre();
      fila[2] = e.getApellido();
      fila[3] = e.getFechaNacimiento();
      modeloEmple.addRow(fila);
    }
    return modeloEmple;
  }
示例#3
0
  public DefaultTableModel getTablaEmpleProy() {
    DefaultTableModel modeloEmpleProy = new DefaultTableModel();
    modeloEmpleProy.addColumn("NIF");
    modeloEmpleProy.addColumn("Nombre");
    modeloEmpleProy.addColumn("Apellidos");
    modeloEmpleProy.addColumn("Fecha Nacimiento");
    Object[] fila = new Object[4];

    ArrayList<Empleado> recogerEmpleados =
        consultas.recogerEmpleProy(ProjectX.get(p.jComboBox1.getSelectedIndex()).getId());
    for (Empleado e : recogerEmpleados) {
      fila[0] = e.getNif();
      fila[1] = e.getNombre();
      fila[2] = e.getApellido();
      fila[3] = e.getFechaNacimiento();
      modeloEmpleProy.addRow(fila);
    }
    return modeloEmpleProy;
  }
示例#4
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);
  }
示例#5
0
  public void generaPdf() {
    Document documento = new Document();
    FileOutputStream ficheroPdf;
    PdfPTable tabla_emple, tabla_proyec, tabla_relacional;
    empleados = consultas.recogerEmpleados();
    ProjectX = consultas.recogerProyectos();
    ArrayList<Empleado> relacional;

    try {
      ficheroPdf = new FileOutputStream("ejemplo.PDF");
      PdfWriter.getInstance(documento, ficheroPdf).setInitialLeading(20);
    } catch (Exception ex) {
      System.out.println(ex.toString());
    }
    try {
      // abrimos el documento para editarlo
      documento.open();
      // aqui agregamos todo el contenido del PDF...

      documento.add(
          new Paragraph(
              "Este informe es una manera de imprimir la informacion, en forma de tablas, de la base de datos"));
      documento.add(new Paragraph(" "));
      // ***************TABLA DE LOS EMPLEADOS**************
      documento.add(new Paragraph("Empleados de la compañia:"));
      documento.add(new Paragraph(" "));
      // inicio la tabla con las 4 columnas de los empleados
      tabla_emple = new PdfPTable(4);
      // cada 4 addCell, es una fila nueva
      tabla_emple.addCell("NIF");
      tabla_emple.addCell("Nombre");
      tabla_emple.addCell("Apellidos");
      tabla_emple.addCell("Fecha de Nacimiento");
      for (Empleado e : empleados) {
        tabla_emple.addCell(e.getNif());
        tabla_emple.addCell(e.getNombre());
        tabla_emple.addCell(e.getApellido());
        tabla_emple.addCell(e.getFechaNacimiento());
      }
      documento.add(tabla_emple);
      documento.add(new Paragraph(" "));

      // *********TABLA DE LOS PROYECTOS************
      documento.add(new Paragraph("Proyectos actuales en la compañia:"));
      documento.add(new Paragraph(" "));
      tabla_proyec = new PdfPTable(5);
      tabla_proyec.addCell("Titulo");
      tabla_proyec.addCell("Fecha de Inicio");
      tabla_proyec.addCell("Fecha de Entrega");
      tabla_proyec.addCell("Descripcion");
      tabla_proyec.addCell("Nº Maximo de empleados");
      for (Proyecto p : ProjectX) {
        tabla_proyec.addCell(p.getTitulo());
        tabla_proyec.addCell(p.getFechaInicio());
        tabla_proyec.addCell(p.getFechaFin());
        tabla_proyec.addCell(p.getDescripcion());
        tabla_proyec.addCell(String.valueOf(p.getMaxEmple()));
      }
      documento.add(tabla_proyec);
      documento.add(new Paragraph(" "));

      // TABLA RELACIONAL
      documento.add(new Paragraph("Tabla relacional de empleados por proyecto"));
      documento.add(new Paragraph(" "));
      tabla_relacional = new PdfPTable(4);

      for (Proyecto p : ProjectX) {
        Paragraph titulos = new Paragraph(p.getTitulo());
        titulos.setAlignment(1);
        PdfPCell celda = new PdfPCell(titulos);
        celda.setColspan(4);
        celda.setRowspan(2);
        tabla_relacional.addCell(celda);
        tabla_relacional.addCell("NIF");
        tabla_relacional.addCell("Nombre");
        tabla_relacional.addCell("Apellidos");
        tabla_relacional.addCell("Fecha de Nacimiento");
        relacional = consultas.recogerEmpleProy(p.getId());
        for (Empleado er : relacional) {
          tabla_relacional.addCell(er.getNif());
          tabla_relacional.addCell(er.getNombre());
          tabla_relacional.addCell(er.getApellido());
          tabla_relacional.addCell(er.getFechaNacimiento());
        }
        Paragraph fin = new Paragraph(" ");
        titulos.setAlignment(1);

        PdfPCell celda2 = new PdfPCell(fin);
        celda2.setColspan(4);
        celda2.setRowspan(2);
      }
      documento.add(tabla_relacional);

      documento.add(new Paragraph(" "));
      documento.add(new Paragraph("Desarrollador del programa: Jairo Gallardo Zorrilla"));
      documento.add(new Paragraph("Cliente: Manuel Torres"));
      documento.add(new Paragraph(""));

      // cerramos el documento y se genera
      JOptionPane.showMessageDialog(null, "El archivo pdf se ha generado correctamente");
      documento.close();
    } catch (Exception ex) {
      System.out.println(ex.toString());
    }
  }