From c697d6c3f90b7cbb01092a959284c32c8690f924 Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Mon, 15 Dec 2025 15:49:12 +0630 Subject: [PATCH] auto print disabled currently auto print disabled for QR --- app/build.gradle | 4 +- .../kbz/ui/core_ui/PrintReceiptFragment.java | 48 +++++++++++++----- .../java/com/utsmm/kbz/util/EReceiptUtil.java | 5 ++ .../com/utsmm/kbz/util/tms/TMSSetupsImpl.java | 2 + .../baselineProfiles/0/app-uat-release.dm | Bin 0 -> 1923 bytes .../baselineProfiles/1/app-uat-release.dm | Bin 0 -> 1849 bytes app/uat/release/output-metadata.json | 37 ++++++++++++++ .../model/e_receipt/EReceiptRequest.java | 6 +++ .../core_utils/SystemParamsOperation.java | 11 ++++ .../core_utils/SystemParamsSettings.java | 13 ++++- 10 files changed, 108 insertions(+), 18 deletions(-) create mode 100644 app/uat/release/baselineProfiles/0/app-uat-release.dm create mode 100644 app/uat/release/baselineProfiles/1/app-uat-release.dm create mode 100644 app/uat/release/output-metadata.json diff --git a/app/build.gradle b/app/build.gradle index bd4afd4..2807b8d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { applicationId "com.utsmm.kbz" minSdk 24 targetSdk 33 - versionCode 2 - versionName "1.01" + versionCode 1 + versionName "1.00" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/PrintReceiptFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/PrintReceiptFragment.java index 047fae7..a62a51a 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/PrintReceiptFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/PrintReceiptFragment.java @@ -122,7 +122,8 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - sharedViewModel.setPrintStatus(PrintStatus.FIRST_PRINT); + sharedViewModel.setPrintStatus(PrintStatus.NOT_PRINT); + sharedViewModel.postPrintReceiptMsg("Print Receipt for Merchant?"); observePrintProcess(); @@ -139,17 +140,20 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin case FIRST_PRINT: sharedViewModel.postPrintReceiptMsg("Printing Receipt for Merchant"); startPrintProcess(true); + sharedViewModel.postPrintReceiptMsg("Print Receipt for Customer?"); + sharedViewModel.setVisibilityPrintReceiptButtons(0); break; case FIRST_PRINT_DONE: - sharedViewModel.postPrintReceiptMsg("Confirm Print Receipt for Customer"); - if(sharedViewModel.isEcr.getValue() != null && - sharedViewModel.isEcr.getValue() && - SystemParamsOperation.getInstance().isAutoPrintCustomerCopy()) { - sharedViewModel.setVisibilityPrintReceiptButtons(8); - sharedViewModel.setPrintStatus(PrintStatus.SECOND_PRINT); - } else { - sharedViewModel.setVisibilityPrintReceiptButtons(0); - } + sharedViewModel.postPrintReceiptMsg("Print Receipt for Customer?"); +// sharedViewModel.postPrintReceiptMsg("Confirm Print Receipt for Customer"); +// if(sharedViewModel.isEcr.getValue() != null && +// sharedViewModel.isEcr.getValue() && +// SystemParamsOperation.getInstance().isAutoPrintCustomerCopy()) { +// sharedViewModel.setVisibilityPrintReceiptButtons(8); +// sharedViewModel.setPrintStatus(PrintStatus.SECOND_PRINT); +// } else { +// sharedViewModel.setVisibilityPrintReceiptButtons(0); +// } break; case SECOND_PRINT: sharedViewModel.postPrintReceiptMsg("Printing Receipt for Customer"); @@ -248,16 +252,32 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin public class ClickEvent { public void onConfirm() { + PrintStatus printStatus = sharedViewModel.getPrintStatus().getValue(); - sharedViewModel.setVisibilityPrintReceiptButtons(8); + if(printStatus == PrintStatus.NOT_PRINT){ + sharedViewModel.setVisibilityPrintReceiptButtons(8); + sharedViewModel.setPrintStatus(PrintStatus.FIRST_PRINT); + }else if(printStatus == PrintStatus.FIRST_PRINT || printStatus == PrintStatus.FIRST_PRINT_DONE){ + sharedViewModel.setVisibilityPrintReceiptButtons(8); + sharedViewModel.setPrintStatus(PrintStatus.SECOND_PRINT); + } - sharedViewModel.setPrintStatus(PrintStatus.SECOND_PRINT); +// sharedViewModel.setVisibilityPrintReceiptButtons(8); +// +// sharedViewModel.setPrintStatus(PrintStatus.SECOND_PRINT); } public void onCancel() { - sharedViewModel.setVisibilityPrintReceiptButtons(8); - isCardInside(); + PrintStatus printStatus = sharedViewModel.getPrintStatus().getValue(); + + if(printStatus == PrintStatus.NOT_PRINT){ + sharedViewModel.setPrintStatus(PrintStatus.FIRST_PRINT_DONE); + }else{ + sharedViewModel.setVisibilityPrintReceiptButtons(8); + isCardInside(); + } + } } diff --git a/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java b/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java index 194b83d..502e9a4 100644 --- a/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java +++ b/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java @@ -50,6 +50,8 @@ public class EReceiptUtil { public EReceiptRequest generateQRReceipt(PayDetail payDetail, TransResultStatus status) { + String terminalIdForEreceipt = SystemParamsOperation.getInstance().getTerminalIdForEreceipt(); + double realAmount = payDetail.getAmount() / 100.0; DecimalFormat df = new DecimalFormat("0.00"); String amount = df.format(realAmount); @@ -67,6 +69,9 @@ public class EReceiptUtil { request.setAppId(packageName); request.setDE41(qrTerminalId); request.setDE42(qrMerchantId); + request.setTerminalId(terminalIdForEreceipt); + request.setShortCode(qrMerchantId); + request.setInvoiceNumber(payDetail.getInvoiceNo()); request.setDE11(payDetail.getVoucherNo()); diff --git a/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java b/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java index c82d7bf..e269b7b 100644 --- a/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java +++ b/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java @@ -651,6 +651,8 @@ public class TMSSetupsImpl implements TMSSetups{ } else if (TextUtils.equals(name, "certificate_password")) { SystemParamsOperation.getInstance().setCertificatePassword(data); + }else if(TextUtils.equals(name, "terminalId")){ + SystemParamsOperation.getInstance().setTerminalIdForEreceipt(data); } } diff --git a/app/uat/release/baselineProfiles/0/app-uat-release.dm b/app/uat/release/baselineProfiles/0/app-uat-release.dm new file mode 100644 index 0000000000000000000000000000000000000000..5279a497c641b4ed5ab02aacd1e428d7701966c3 GIT binary patch literal 1923 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 literal 0 HcmV?d00001 diff --git a/app/uat/release/output-metadata.json b/app/uat/release/output-metadata.json new file mode 100644 index 0000000..8b7cf73 --- /dev/null +++ b/app/uat/release/output-metadata.json @@ -0,0 +1,37 @@ +{ + "version": 3, + "artifactType": { + "type": "APK", + "kind": "Directory" + }, + "applicationId": "com.utsmm.kbz.uat", + "variantName": "uatRelease", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 1, + "versionName": "1.00-uat", + "outputFile": "app-uat-release.apk" + } + ], + "elementType": "File", + "baselineProfiles": [ + { + "minApi": 28, + "maxApi": 30, + "baselineProfiles": [ + "baselineProfiles/1/app-uat-release.dm" + ] + }, + { + "minApi": 31, + "maxApi": 2147483647, + "baselineProfiles": [ + "baselineProfiles/0/app-uat-release.dm" + ] + } + ], + "minSdkVersionForDexing": 24 +} \ No newline at end of file diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/network/model/e_receipt/EReceiptRequest.java b/baselib/src/main/java/com/utsmyanmar/baselib/network/model/e_receipt/EReceiptRequest.java index bd35d63..a4f676b 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/network/model/e_receipt/EReceiptRequest.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/network/model/e_receipt/EReceiptRequest.java @@ -35,10 +35,14 @@ public class EReceiptRequest { private String cardLabel; private String batchNumber; + private String shortCode; + private String terminalId; public EReceiptRequest() {} // GETTERS + public String getTerminalId(){ return terminalId; } + public String getShortCode(){ return shortCode; } public String getDE2() { return DE2; @@ -154,6 +158,8 @@ public class EReceiptRequest { this.batchNumber = batchNumber; } // SETTERS + public void setShortCode(String shortCode){ this.shortCode = shortCode; } + public void setTerminalId(String terminalId){ this.terminalId = terminalId; } public void setDE3(String DE3) { this.DE3 = DE3; } diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java index c7ae3b0..44490c0 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java @@ -1654,4 +1654,15 @@ public class SystemParamsOperation { SystemParamsSettings params = getSystemParamsSettings(); return params.getEreceiptAddress(); } + + public void setTerminalIdForEreceipt(String data) { + SystemParamsSettings params = getSystemParamsSettings(); + params.setTerminalIdForEreceipt(data); + saveSystemParamsSettings(params); + } + + public String getTerminalIdForEreceipt(){ + SystemParamsSettings params = getSystemParamsSettings(); + return params.getTerminalIdForEreceipt(); + } } \ No newline at end of file diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java index 19ef0f4..83bdffe 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java @@ -44,8 +44,8 @@ public class SystemParamsSettings implements Serializable { // private String tmsAddress = "http://128.199.170.203"; private String tmsAddress = "http://sirius-nest.utsmyanmar.com"; // private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius"; //for uat - private String ereceiptAddress = "http://receipt-nest.utsmyanmar.com"; -// String baseUrl = "http://receipt-nest.utsmyanmar.com/"; //for uat + private String ereceiptAddress = "http://receipt-nest.utsmyanmar.com"; //for on prime +// private String ereceiptAddress = "https://api-tms-uat.kbzbank.com:8443/receipt"; //for uat private String terminalCapability = "E0E8C8"; @@ -249,6 +249,7 @@ public class SystemParamsSettings implements Serializable { private String certFilePath = ""; private String certClientFilePath = ""; private String certificatePassword = ""; + private String terminalIdForEreceipt = ""; public boolean isQrPartialRefundEnable(){ return qrPartialRefundEnable; @@ -1000,6 +1001,14 @@ public class SystemParamsSettings implements Serializable { return certificatePassword; } + public String getTerminalIdForEreceipt() { + return terminalIdForEreceipt; + } + + public void setTerminalIdForEreceipt(String data) { + this.terminalIdForEreceipt = data; + } + /* // 流水号起始 private String serialNum = Configs.getInstance().SERIAL_NUM(); // 批次号起始