Ver Mensaje Individual
  #8 (permalink)  
Antiguo 06/09/2010, 00:30
ioel10
 
Fecha de Ingreso: julio-2010
Mensajes: 104
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Problema al imprimir desde java

Buenos días,

AL PULSAR EL BOTÓN IMPRIMIR

Código java:
Ver original
  1. private void imprimirButtonMouseClicked(java.awt.event.MouseEvent evt) {                                            
  2.         // IMPRIMIR TABLA
  3.         loginPanel.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
  4.  
  5.         JasperPrint print = new JasperPrint();
  6.  
  7.         File rutaCarpetaExpediente = new File(ruta);
  8.  
  9.         if (!rutaCarpetaExpediente.exists()) {
  10.             rutaCarpetaExpediente.mkdir();
  11.         }
  12.  
  13.         print = determinaImpresion(print, rutaCarpetaExpediente);
  14.  
  15.         //Mostramos la pantalla de impresion
  16.         JasperViewer view = new JasperViewer(print, false);
  17.  
  18.         loginPanel.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
  19.  
  20.         view.setVisible(true);
  21.  
  22.     }

DETERMINAIMPRESIÓN

Código java:
Ver original
  1. private JasperPrint determinaImpresion(JasperPrint print, File file) {
  2.  
  3.         String tit = tituloTablaLabel.getText();
  4.  
  5.         ResultSet rsObras = obtenerRsPrint();
  6.  
  7.         Map parameters = obtenerParameters(tit);
  8.  
  9.         JRResultSetDataSource jrs = new JRResultSetDataSource(rsObras);
  10.  
  11.         try {
  12.             //Archivo de impresion
  13.             print = JasperFillManager.fillReport(file.getAbsolutePath() + File.separatorChar + "Obras.jasper", parameters, jrs);
  14.         } catch (JRException ex) {
  15.             loginPanel.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
  16.             log.debug("ControlObrasView\n", ex);
  17.         }
  18.  
  19.         return print;
  20.  
  21.     }

OBTENERRSPRINT: Dependiendo del valor de carga, realizo determinada impresión.

Código java:
Ver original
  1. private ResultSet obtenerRsPrint() {
  2.  
  3.         ResultSet rsObras = null;
  4.  
  5.         if (carga == 0) {
  6.  
  7.             //Todas las obras
  8.             rsObras = indicadores_pre_produccion.daos.daoAlertas.cargarDatosObrasInicialPrint(conexionPG.conexion, listaIndicadores, listaDepartamentos, id, order);
  9.  
  10.         } else if (carga == 1) {
  11.  
  12.             if ((obraTextField.getText().trim() == null ? "" != null : !obraTextField.getText().trim().equals("")) || (clienteTextField.getText().trim() == null ? "" != null : !clienteTextField.getText().trim().equals("")) || (presupuestoTextField.getText().trim() == null ? "" != null : !presupuestoTextField.getText().trim().equals(""))) {
  13.  
  14.                 //Cliente y Obra
  15.                 rsObras = indicadores_pre_produccion.daos.daoAlertas.cargarDatosObrasClienteObraPrint(conexionPG.conexion, paramCliente, paramObra, paramPresupuesto, listaIndicadores, listaDepartamentos, id, order);
  16.  
  17.             } else {
  18.  
  19.                 //Parametros
  20.                 if (paramBalance == 4) {
  21.                     //TODAS
  22.                     rsObras = indicadores_pre_produccion.daos.daoAlertas.cargarDatosObrasParamTodasPrint(conexionPG.conexion, paramIndicador, paramEstado, fechaIni, fechaFin, listaDepartamentos, id, order);
  23.                 } else {
  24.                     rsObras = indicadores_pre_produccion.daos.daoAlertas.cargarDatosObrasParamPrint(conexionPG.conexion, paramIndicador, paramEstado, paramBalance, fechaIni, fechaFin, listaDepartamentos, id, order);
  25.                 }
  26.  
  27.             }
  28.  
  29.         } else if (carga == 2) {
  30.             //Alertas
  31.             rsObras = indicadores_pre_produccion.daos.daoAlertas.cargarDatosObrasAlertasPorcentajePrint(conexionPG.conexion, indicador, balance, listaDepartamentos, id, order);
  32.  
  33.         } else {
  34.             JOptionPane.showMessageDialog(modificarParametroPanel, "No se ha podido actualizar la tabla.", "Error", JOptionPane.ERROR_MESSAGE);
  35.         }
  36.  
  37.         return rsObras;
  38.     }


OBTENERRSPRINT: Dependiendo del valor de carga, obtengo el título
Código java:
Ver original
  1. private Map obtenerParameters(String tit) {
  2.  
  3.         Map parameters = new HashMap();
  4.  
  5.         if (carga == 0) {
  6.  
  7.             //Todas las obras
  8.             Integer inicioTit = tit.indexOf("T");
  9.             Integer finTit = tit.indexOf(".");
  10.  
  11.             parameters.put("tit", tit.substring(inicioTit, finTit));
  12.  
  13.         } else if (carga == 1) {
  14.  
  15.             Integer inicioTit = tit.indexOf("O");
  16.             Integer finTit = tit.indexOf(".");
  17.  
  18.             parameters.put("tit", tit.substring(inicioTit, finTit));
  19.  
  20.         } else if (carga == 2) {
  21.             //Alertas
  22.  
  23.             Integer inicioTit = tit.indexOf("R");
  24.             Integer finTit = tit.indexOf(")");
  25.  
  26.             parameters.put("tit", tit.substring(inicioTit, finTit + 1));
  27.  
  28.  
  29.         } else {
  30.             JOptionPane.showMessageDialog(modificarParametroPanel, "No se ha podido actualizar la tabla.", "Error", JOptionPane.ERROR_MESSAGE);
  31.         }
  32.  
  33.         return parameters;
  34.     }

Un saludo y buen día.