/* * En esta función se realizaron modificaciones referentes a la migración a java 1.6 por jperez * Sólo se parametrizó el tipo de dato contenido en los 'Vector' * Fecha: agosto 2011 */ private static void crearEncabezadoFiscal() { if (logger.isDebugEnabled()) { logger.debug("crearEncabezadoFiscal() - start"); } SimpleDateFormat fecha = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat hora = new SimpleDateFormat("HH:mm:ss"); DecimalFormat enteroConCeros = new DecimalFormat("000"); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(columnasImpresoraFiscal, '*'), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal(Sesion.getTienda().getRazonSocial(), 3); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(columnasImpresoraFiscal, '*'), 0); String lineaDeDireccion = ""; if ((Sesion.getTienda().getDireccionFiscal() != null) && (!Sesion.getTienda().getDireccionFiscal().equalsIgnoreCase(""))) lineaDeDireccion += Sesion.getTienda().getDireccionFiscal(); if ((Sesion.getTienda().getNombreSucursal() != null) && (!Sesion.getTienda().getNombreSucursal().equalsIgnoreCase(""))) lineaDeDireccion += " Sucursal:" + Sesion.getTienda().getNombreSucursal() + "."; if ((Sesion.getTienda().getDireccion() != null) && (!Sesion.getTienda().getDireccion().equalsIgnoreCase(""))) lineaDeDireccion += Sesion.getTienda().getDireccion(); if (!lineaDeDireccion.equalsIgnoreCase("")) { Vector<String> nuevasLineasDireccion = dividirEnLineas(columnasImpresoraFiscal - 3, lineaDeDireccion); for (int i = 0; i < nuevasLineasDireccion.size(); i++) Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( centrar((String) nuevasLineasDireccion.elementAt(i), columnasImpresoraFiscal), 0); } if ((Sesion.getTienda().getNit() != null) && (!Sesion.getTienda().getNit().equalsIgnoreCase(""))) Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( centrar( "RIF:" + Sesion.getTienda().getRif() + " NIT:" + Sesion.getTienda().getNit(), columnasImpresoraFiscal), 0); else Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( centrar("RIF:" + Sesion.getTienda().getRif(), columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( centrar("Reporte de Cierre de Caja", columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( justificar( "Caja: " + enteroConCeros.format(Sesion.getCaja().getNumero()), "Tienda: " + enteroConCeros.format(Sesion.getTienda().getNumero()), columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( justificar( "Fecha: " + fecha.format(Sesion.getFechaSistema()), "Hora: " + hora.format(Sesion.getHoraSistema()), columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(columnasImpresoraFiscal), 0); if (logger.isDebugEnabled()) { logger.debug("crearEncabezadoFiscal() - end"); } }
/* * En esta función se realizaron modificaciones referentes a la migración a java 1.6 por jperez * Sólo se parametrizó el tipo de dato contenido en los 'Vector' * Fecha: agosto 2011 */ @SuppressWarnings("unused") private static void crearEncabezado(Apartado apartado) { if (logger.isDebugEnabled()) { logger.debug("crearEncabezado(Apartado) - start"); } SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy"); Sesion.crPrinterOperations.enviarString(crearLineaDeDivision(columnasImpresora) + "\n"); Sesion.crPrinterOperations.activarFuenteImpresionNegrita(); Sesion.crPrinterOperations.alinear(1); Sesion.crPrinterOperations.enviarString("ANULACION APARTADO\n"); Sesion.crPrinterOperations.initializarPrinter(); Sesion.crPrinterOperations.activarDocumentoNomal(); Sesion.crPrinterOperations.enviarString(crearLineaDeDivision(columnasImpresora) + "\n"); Sesion.crPrinterOperations.enviarString( justificar( "Apartado N°: " + apartado.getNumServicio(), "Fecha: " + formatoFecha.format(apartado.getFechaServicio()), columnasImpresora) + "\n"); Sesion.crPrinterOperations.enviarString( justificar( "Tienda: " + Sesion.getTienda().getNombreSucursal(), "Página:" + alinearDerecha("1", 11), columnasImpresora) + "\n"); Calendar vencimiento = Calendar.getInstance(); vencimiento.setTime(apartado.getFechaServicio()); if (apartado.getTipoVigencia().equalsIgnoreCase("Dia")) { vencimiento.add(Calendar.DATE, apartado.getTiempoVigencia()); } else { if (apartado.getTipoVigencia().equalsIgnoreCase("Mes")) { vencimiento.add(Calendar.MONTH, apartado.getTiempoVigencia()); } } Sesion.crPrinterOperations.enviarString( justificar( "Emisión: " + formatoFecha.format(apartado.getFechaServicio()), "Vence: " + formatoFecha.format(vencimiento.getTime()), columnasImpresora) + "\n"); Sesion.crPrinterOperations.enviarString( justificar( "Fecha Anulación: " + formatoFecha.format(Sesion.getFechaSistema()), "Cajero: " + Sesion.getUsuarioActivo().getNumFicha(), columnasImpresora) + "\n"); Sesion.crPrinterOperations.enviarString(crearLineaDeDivision(columnasImpresora) + "\n"); Sesion.crPrinterOperations.enviarString( "Cédula ó R.I.F.: " + apartado.getCliente().getCodCliente() + "\n"); Sesion.crPrinterOperations.enviarString( "Cliente: " + apartado.getCliente().getNombreCompleto() + "\n"); // Picamos la direccion del Cliente String inicioLinea = "Dirección: "; Vector<String> dir = dividirEnLineas( columnasImpresora - inicioLinea.length(), apartado.getCliente().getDireccion()); for (int i = 0; i < dir.size(); i++) { if (i == 0) Sesion.crPrinterOperations.enviarString(inicioLinea + dir.elementAt(i) + "\n"); else Sesion.crPrinterOperations.enviarString( crearLineaDeDivision(inicioLinea.length(), ' ') + dir.elementAt(i) + "\n"); } // Se imprime el teléfono del cliente String codAreaCliente = ""; String telfCliente = ""; if (apartado.getCliente().getCodArea() != null) codAreaCliente = apartado.getCliente().getCodArea(); if (apartado.getCliente().getNumTelefono() != null) telfCliente = apartado.getCliente().getNumTelefono(); Sesion.crPrinterOperations.enviarString( "Teléfonos: " + codAreaCliente + "-" + telfCliente + "\n"); Sesion.crPrinterOperations.enviarString(crearLineaDeDivision(columnasImpresora) + "\n"); if (logger.isDebugEnabled()) { logger.debug("crearEncabezado(Apartado) - end"); } }
/** * Método imprimirReporte Realiza la impresion de la factura de Venta indicada como parametro. * * @throws BaseDeDatosExcepcion * @throws ConexionExcepcion */ public static void imprimirReporte() throws BaseDeDatosExcepcion, ConexionExcepcion { if (logger.isDebugEnabled()) { logger.debug("imprimirReporte() - start"); } if (Sesion.impresoraFiscal) { // Cadenas de secciones de la factura Sesion.crFiscalPrinterOperations.abrirDocumentoNoFiscal(); // Sesion.crFiscalPrinterOperations.desactivarProximoCorte(); crearEncabezadoFiscal(); crearDetalleFiscal(); Sesion.crFiscalPrinterOperations.cerrarDocumentoNoFiscal(); try { Sesion.imprimiendoReporteZ = true; Sesion.reporteZOK = false; Sesion.crFiscalPrinterOperations.commit(); while (Sesion.imprimiendoReporteZ && !Sesion.reporteZOK) { try { Thread.sleep(500); } catch (InterruptedException e) { } } if (Sesion.reporteZOK) { Sesion.imprimiendoReporteZ = true; Sesion.reporteZOK = false; Sesion.crFiscalPrinterOperations.reporteZ(); /*try { Sesion.crFiscalPrinterOperations.commit(); } catch (PrinterNotConnectedException e) { logger.error("imprimirFactura(Venta, boolean, boolean)", e); } //ACTUALIZACION BECO: Impresora fiscal GD4 while (CR.meVenta.getTransaccionPorImprimir()!=null || CRFiscalPrinterOperations.isImpresionFiscalEnCurso() || MaquinaDeEstadoVenta.isDocumentoNoFiscalPorImprimir()) { try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Bloque catch generado automáticamente e.printStackTrace(); } if(MaquinaDeEstadoVenta.errorAtencionUsuario){ MensajesVentanas.aviso("Hay un documento en curso \nEspere un momento e intente nuevamente"); } } if (Sesion.impresoraFiscal) { MaquinaDeEstadoVenta.setDocumentoNoFiscalPorImprimir(true); }*/ Sesion.crFiscalPrinterOperations.cortarPapel(); Sesion.crFiscalPrinterOperations.commit(); while (Sesion.imprimiendoReporteZ && !Sesion.reporteZOK) { try { Thread.sleep(500); } catch (InterruptedException e) { } } } } catch (PrinterNotConnectedException e) { logger.error("imprimirReporte()", e); } // while (Sesion.crFiscalPrinterOperations.isImprimiendo()) ; } else { // Esta Implementaccion no maneja Impresora NoFiscal } if (Sesion.reporteZOK) { Sesion.getCaja().setFechaUltRepZ(Sesion.getFechaSistema()); Sesion.reporteZOK = true; Sesion.imprimiendoReporteZ = false; } if (logger.isDebugEnabled()) { logger.debug("imprimirReporte() - end"); } }
/* * En esta función se realizaron modificaciones referentes a la migración a java 1.6 por jperez * Sólo se parametrizó el tipo de dato contenido en los 'Vector' * Fecha: agosto 2011 */ private static void crearEncabezadoFiscal(Apartado apartado) { if (logger.isDebugEnabled()) { logger.debug("crearEncabezadoFiscal(Apartado) - start"); } SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy"); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( justificar( "FECHA: " + formatoFecha.format(Sesion.getFechaSistema()), "HORA: " + Sesion.getHoraSistema(), columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( convertirCadena("Apartado de productos"), 3); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal("ANULACION APARTADO", 1); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( justificar( "Apartado Nro: " + apartado.getNumServicio(), "Fecha: " + formatoFecha.format(apartado.getFechaServicio()), columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( "Tienda: " + Sesion.getTienda().getNombreSucursal(), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal("Página:" + alinearDerecha("1", 11), 0); Calendar vencimiento = Calendar.getInstance(); vencimiento.setTime(apartado.getFechaServicio()); if (apartado.getTipoVigencia().equalsIgnoreCase("Dia")) { vencimiento.add(Calendar.DATE, apartado.getTiempoVigencia()); } else { if (apartado.getTipoVigencia().equalsIgnoreCase("Mes")) { vencimiento.add(Calendar.MONTH, apartado.getTiempoVigencia()); } } Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( justificar( "Emisión: " + formatoFecha.format(apartado.getFechaServicio()), "Vence: " + formatoFecha.format(vencimiento.getTime()), columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( justificar( "Anulación: " + formatoFecha.format(Sesion.getFechaSistema()), "Cajero: " + Sesion.getUsuarioActivo().getNumFicha(), columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(columnasImpresoraFiscal), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( "Cédula ó R.I.F.: " + apartado.getCliente().getCodCliente().replace('N', 'V'), 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( "Cliente: " + apartado.getCliente().getNombreCompleto(), 0); // Picamos la direccion del Cliente // String direccion = apartado.getCliente().getDireccion(); String inicioLinea = "Dirección: "; Vector<String> dir = dividirEnLineas( columnasImpresoraFiscal - inicioLinea.length(), apartado.getCliente().getDireccion()); for (int i = 0; i < dir.size(); i++) { if (i == 0) Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal(inicioLinea + dir.elementAt(i), 0); else Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(inicioLinea.length(), ' ') + dir.elementAt(i), 0); } // Se imprime el teléfono del cliente String codAreaCliente = ""; String telfCliente = ""; if (apartado.getCliente().getCodArea() != null) codAreaCliente = apartado.getCliente().getCodArea(); if (apartado.getCliente().getNumTelefono() != null) telfCliente = apartado.getCliente().getNumTelefono(); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( "Teléfonos: " + codAreaCliente + "-" + telfCliente, 0); Sesion.crFiscalPrinterOperations.enviarLineaNoFiscal( crearLineaDeDivision(columnasImpresoraFiscal), 0); if (logger.isDebugEnabled()) { logger.debug("crearEncabezadoFiscal(Apartado) - end"); } }