From ee297e8e77152463d246bd6109157b3774ca6ecb Mon Sep 17 00:00:00 2001 From: moon <56061215+MgKyawLay@users.noreply.github.com> Date: Sat, 1 Aug 2026 00:25:21 +0630 Subject: [PATCH] qr summary total fix --- .gitignore | 1 + TODO.md | 30 +++++++++++++++++++ .../paylibs/print/printx/BaseXPrint.java | 13 ++++++++ 3 files changed, 44 insertions(+) create mode 100644 TODO.md diff --git a/.gitignore b/.gitignore index a9c4dff..02d0563 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ local.properties nexdlkey-lib/build/ /nexsdk-lib /nexsdk-lib +/cmhl diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..d180095 --- /dev/null +++ b/TODO.md @@ -0,0 +1,30 @@ +1. QR Host + When we generate QR , this transaction not successful. + But this transaction included as success transaction in summary report and history. + Please remove "CANCEL" records in summary report and history. + + +2. Card Host + Settlement Screen + +KBZ Host MMK - 3000 (Not include in total net amount for void , preauth , preauth cancel) +Sale - 2000 +Void - 1000 +Preauth - 2500 +Preauth cancel - 500 +Preauth complete - 2000 + + +KBZ Host USD - 3000 (Not include in total net amount for void , preauth , preauth cancel) +Sale - 2000 +Void - 1000 +Preauth - 2500 +Preauth cancel - 500 +Preauth complete - 2000 + +MMQR Pay - 3000 (Not include in total net amount for refund transaction and cancel transaction) +QR pay - 4000 +Refund - 1000 + +3. Reprint Last Settlement Report + Same process with settlement \ No newline at end of file diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java index 5fab93c..2ef24c9 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java @@ -1003,6 +1003,18 @@ public abstract class BaseXPrint { return true; } + private boolean isUnsuccessfulQrTransaction(PayDetail item) { + int transactionType = item.getTransactionType(); + + if (transactionType != TransactionsType.MMQR.value + && transactionType != TransactionsType.MMQR_REFUND.value) { + return false; + } + + // qrTransStatus 1: Success; -1: Failure; 2: Trying; 3: Comm Error + return item.getQrTransStatus() != 1; + } + protected void printTransDetailSummary(PayDetail payDetail, List list) { printTransDetailSummary(payDetail, list, null); } @@ -1023,6 +1035,7 @@ public abstract class BaseXPrint { if (item == null) continue; if (!matchesSummaryHostType(item, hostType)) continue; + if (isUnsuccessfulQrTransaction(item)) continue; String currency = item.getCurrencyCode(); TempSummary s = currencyMap.get(currency);