use of ar.com.ergio.print.fiscal.msg.FiscalMessage in project lar_361 by comitsrl.
the class HasarFiscalPrinter method checkStatus.
private boolean checkStatus(FiscalPacket response) throws FiscalPrinterIOException {
int newPrinterStatus;
int newFiscalStatus;
try {
// Se obtiene los estados a partir de la respuesta.
newPrinterStatus = response.getPrinterStatus();
newFiscalStatus = response.getFiscalStatus();
} catch (Exception e) {
// respuesta.
throw new FiscalPrinterIOException(MsgRepository.get("ResponseFormatError"), getLastRequest(), response);
}
// Se comprueba si el status fue modificado.
boolean stsChanged = getPrinterStatus() != newPrinterStatus || getFiscalStatus() != newFiscalStatus;
// Se asignan los estados de impresora y controlador fiscal.
setPrinterStatus(newPrinterStatus);
setFiscalStatus(newFiscalStatus);
FiscalMessages msgs = new FiscalMessages();
// Se chequea el estado del controlador fiscal.
for (int i = 0; i < getFiscalStatusCodes().length; i++) {
int statusCode = getFiscalStatusCodes()[i];
if ((getFiscalStatus() & statusCode) != 0) {
FiscalMessage msg = getFiscalStatusMsgs().get(statusCode);
msgs.add(msg);
}
}
// Se chequea el estado de la impresora.
for (int i = 0; i < getPrinterStatusCodes().length; i++) {
int statusCode = getPrinterStatusCodes()[i];
if ((getPrinterStatus() & statusCode) != 0) {
FiscalMessage msg = getPrinterStatusMsgs().get(statusCode);
msgs.add(msg);
}
// setea el mismo.
if (statusCode == PST_JOURNAL_PAPER_OUT || statusCode == PST_TICKET_PAPER_OUT)
setWithoutPaper((getPrinterStatus() & statusCode) != 0);
}
// Se setean los mensajes de la impresora.
setMessages(msgs);
return stsChanged;
}
Aggregations