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 0000000..5279a49 Binary files /dev/null and b/app/uat/release/baselineProfiles/0/app-uat-release.dm differ diff --git a/app/uat/release/baselineProfiles/1/app-uat-release.dm b/app/uat/release/baselineProfiles/1/app-uat-release.dm new file mode 100644 index 0000000..9f46aca Binary files /dev/null and b/app/uat/release/baselineProfiles/1/app-uat-release.dm differ 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(); // 批次号起始