error slip printing error fixed

This commit is contained in:
moon 2026-08-31 14:56:36 +06:30
parent d92c18f3f7
commit e51d658733
4 changed files with 66 additions and 3 deletions

View File

@ -170,9 +170,10 @@ public class TransactionResultFragment extends DataBindingFragment implements Da
if (isNonApprovedTrade(payDetail) && isNonQRPayTransaction(transactionType)) {
if (SystemParamsOperation.getInstance().getPrinterEnabled()) {
startPrintProcess(false);
}
startPrintErrorReceipt();
} else {
isCardInside();
}
} else if (transactionType == TransactionsType.SETTLEMENT || transactionType == TransactionsType.MMQR_SETTLEMENT) {
handleSettlementTransaction(siriusReq);
} else if (isQRPayNonSuccessTransaction(transactionType, payDetail)) {
@ -378,6 +379,50 @@ public class TransactionResultFragment extends DataBindingFragment implements Da
});
}
private void startPrintErrorReceipt() {
PrintHelper.getInstance().checkPaperRollStatus(new PaperRollStatusCallback() {
@Override
public void printerReady() {
sharedViewModel.printErrorReceipt(new PrintXStatus() {
@Override
public void onSuccess() {
isCardInside();
}
@Override
public void onFailure() {
handleForEmptyPaperRoll(false);
}
});
}
@Override
public void paperRollIsEmpty() {
handleForEmptyPaperRoll(false);
}
@Override
public void printNotComplete() {
handleForEmptyPaperRoll(false);
}
@Override
public void printerTooHot() {
handleForEmptyPaperRoll(false);
}
@Override
public void printerFailed() {
handleForEmptyPaperRoll(false);
}
@Override
public void unknownStatusOccur(int code) {
handleForEmptyPaperRoll(false);
}
});
}
private void handleForEmptyPaperRoll(boolean isSettle) {
cancelTimeout();
@ -392,7 +437,11 @@ public class TransactionResultFragment extends DataBindingFragment implements Da
@Override
public void onClickRetry() {
dismissPrinterAlertDialog();
startPrintProcess(isSettle);
if (isSettle) {
startPrintProcess(true);
} else {
startPrintErrorReceipt();
}
}
});

View File

@ -403,6 +403,10 @@ public class SharedViewModel extends ViewModel {
});
}
public void printErrorReceipt(PrintXStatus printXStatus) {
PrintXReceipt.getInstance().printSmileReceipt(payDetail.getValue(), true, printXStatus);
}
public void startPrintReceipt(boolean isFirstPrint) {
/*

View File

@ -1648,6 +1648,7 @@ public abstract class BaseXPrint {
if (printer.getStatus() != SdkResult.Success) {
callbackStatus.onFailure();
return;
}
printer.startPrint(true, new OnPrintListener() {

View File

@ -112,6 +112,9 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
}
} catch (Exception e) {
e.printStackTrace();
if (callbackStatus != null) {
callbackStatus.onFailure();
}
}
}
@ -177,6 +180,9 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
} catch (RemoteException | NullPointerException e) {
e.printStackTrace();
if (callbackStatus != null) {
callbackStatus.onFailure();
}
}
}
@ -305,6 +311,9 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
} catch (RemoteException | NullPointerException e) {
e.printStackTrace();
if (callbackStatus != null) {
callbackStatus.onFailure();
}
}
}