Example #1
0
  /*
   * 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
   */
  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");
    }
  }