public DetalleReparacionAsig(
      Client cliente, Integer orden, String matricula, String marca, String modelo)
      throws ExceptionErrorDataBase, AppException, RemoteException {
    setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
    setAlwaysOnTop(true);
    setBounds(75, 75, 850, 630);

    this.cliente = cliente;
    initComponents();
    jTable1 = crearTabla();
    scrollPane = new JScrollPane();
    scrollPane.setBounds(10, 420, 350, 125);
    add(scrollPane);
    scrollPane.setViewportView(jTable1);
    rellenaCabecero(orden, matricula, marca, modelo);

    rellenaTabla(cliente.ConsultaOrden(orden));
  }
  public void rellenaTabla(Reparacion repa)
      throws AppException, ExceptionErrorDataBase, RemoteException {
    // Aparte de la tabla rellenamos datos como las observaciones, los datos del mecánico, fechas y
    // contador
    jTextArea3.setText(repa.getObservaciones());
    Usuari usu = null;
    if (repa.isAceptada() && repa.isAsignada()) {
      usu = cliente.buscarUsuariPorId(repa.getIdMecanico());
      jTextField6.setText(usu.getNom());
      jTextField7.setText(usu.getCognoms());
      jTextField8.setText(usu.getId().toString());
      jTextField1.setText(repa.getFechaAsigna().toString());
      jTextField10.setText(repa.getFechaIni().toString());
      jTextField9.setText(repa.getFechaFin().toString());
      if (!jTextField10.getText().isEmpty()) jButton7.setEnabled(false);
      if (!jTextField9.getText().isEmpty()) jButton8.setEnabled(false);
    } else {
      jButton3.setEnabled(false);
      jButton4.setEnabled(false);
      jButton5.setEnabled(false);
    }
    jTextField11.setText(repa.getContador().toString());
    Pieza pie = null;
    Solicitud sol = null;
    StockPeca sp = null;
    try {
      DefaultTableModel tableModel = (DefaultTableModel) jTable1.getModel();
      int rowCount = tableModel.getRowCount();
      int i = 0;
      pie = cliente.ConsultaPiezaPorOrden(repa.getIdOrden());
      sol = cliente.buscaSolicitudbynumrep(repa.getIdOrden());
      sp = cliente.consultaStockPiezabyCodigoPieza(pie.getCodiPieza(), sol.getIdtaller());
      if (repa.getIdOrden() > 0) {
        if (i == rowCount - 1) tableModel.addRow(new Object[] {});
        tableModel.setValueAt(pie.getCodiPieza(), i, 0);
        tableModel.setValueAt(pie.getDescripcion(), i, 1);
        tableModel.setValueAt(1, i, 2);
        if (sp.getStock() == 1 || sp.getStock() > 1) {
          tableModel.setValueAt("SI", i, 3);
        } else {
          tableModel.setValueAt("NO", i, 3);
        }
      }
      i++;
      for (int rowIdx = i; rowIdx < rowCount; rowIdx++) {
        tableModel.setValueAt("", rowIdx, 0);
        tableModel.setValueAt("", rowIdx, 1);
        tableModel.setValueAt("", rowIdx, 2);
        tableModel.setValueAt("", rowIdx, 3);
      }

      jTable1 = createTabla(tableModel);
      scrollPane.setViewportView(jTable1);

    } catch (ExceptionErrorDataBase exceptionErrorDataBase) {
      // todo pensar que se hace aqui
      exceptionErrorDataBase
          .printStackTrace(); // To change body of catch statement use File | Settings | File
                              // Templates.
    } catch (RemoteException e1) {
      e1
          .printStackTrace(); // To change body of catch statement use File | Settings | File
                              // Templates.
    }
  }