Search in sources :

Example 1 with FiscalPrinterStatusError

use of ar.com.ergio.print.fiscal.exception.FiscalPrinterStatusError in project lar_361 by comitsrl.

the class HasarFiscalPrinter method execute.

/**
 * Ejecuta un comando fiscal en la impresora y analiza la existencia
 * de errores en la respuesta. En caso de que se produzca algún error
 * se propagan mediante excepciones.
 * @param command Comando a ejecutar.
 * @return Retorna un <code>FiscalPacket</code> que contiene la respuesta
 * de la impresora.
 * @throws FiscalPrinterIOException cuando se producce algún error de
 * comunicación con el dispositivo.
 * @throws FiscalPrinterStatusError cuando la impresora responde con un
 * código de estado de error.
 */
protected FiscalPacket execute(FiscalPacket command) throws FiscalPrinterIOException, FiscalPrinterStatusError {
    FiscalPacket response = createFiscalPacket();
    // Se guarda el comando como el último ejecutado.
    setLastRequest(command);
    setLastResponse(null);
    try {
        // Se envía el comando a la interfaz de comunicación para
        // ser ejecutado.
        getFiscalComm().execute(command, response);
        setLastResponse(response);
    } catch (IOException e) {
        throw new FiscalPrinterIOException(e.getMessage(), command, response);
    }
    // Se chequea el status devuelto por la impresora.
    boolean statusChanged = checkStatus(response);
    // el evento correspondiente.
    if (statusChanged) {
        fireStatusChanged(command, response);
    }
    // excepción.
    if (getMessages().hasErrors()) {
        throw new FiscalPrinterStatusError(command, response, getMessages());
    }
    // Se informa al manejador que el comando se ejecutó satisfactoriamente.
    fireCommandExecuted(command, response);
    return response;
}
Also used : FiscalPrinterIOException(ar.com.ergio.print.fiscal.exception.FiscalPrinterIOException) FiscalPacket(ar.com.ergio.print.fiscal.FiscalPacket) IOException(java.io.IOException) FiscalPrinterIOException(ar.com.ergio.print.fiscal.exception.FiscalPrinterIOException) FiscalPrinterStatusError(ar.com.ergio.print.fiscal.exception.FiscalPrinterStatusError)

Aggregations

FiscalPacket (ar.com.ergio.print.fiscal.FiscalPacket)1 FiscalPrinterIOException (ar.com.ergio.print.fiscal.exception.FiscalPrinterIOException)1 FiscalPrinterStatusError (ar.com.ergio.print.fiscal.exception.FiscalPrinterStatusError)1 IOException (java.io.IOException)1