From 7ee4a29a86e38a29d462f7db27e8b2328ccbb942 Mon Sep 17 00:00:00 2001 From: moon <56061215+MgKyawLay@users.noreply.github.com> Date: Sun, 30 Aug 2026 22:17:34 +0630 Subject: [PATCH] - settlement ui is changed --- CHANGELOG.md | 9 ++- app/build.gradle | 4 +- .../main/java/com/utsmm/kbz/MainActivity.java | 1 - .../main/java/com/utsmm/kbz/MainFragment.java | 18 +---- .../ui/dashboard/DashboardTransFragment.java | 18 +---- .../main/res/layout/fragment_host_config.xml | 12 +++- .../res/layout/fragment_trans_info_screen.xml | 6 +- app/src/main/res/values/strings.xml | 3 +- .../baselineProfiles/0/app-uat-release.dm | Bin 3244 -> 3236 bytes .../baselineProfiles/1/app-uat-release.dm | Bin 3157 -> 3148 bytes app/uat/release/output-metadata.json | 4 +- .../paylibs/print/printx/BaseXPrint.java | 67 +++++++++++++----- 12 files changed, 79 insertions(+), 63 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a397e0..69e7b76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -94,4 +94,11 @@ ## [2.41] - clear batch time fix - removed mock qr button - - support Id fix for signature \ No newline at end of file + - support Id fix for signature + +## [2.42] +card +- settlement ui is changed +- fix for invoice number and trance number place mismatch in reprint any transaction screen +- secondary host show Tid Mid +- settlement fixed for duel currency \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index c1a4f47..bb22d77 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,8 +39,8 @@ android { applicationId "com.utsmm.kbz.uat" versionNameSuffix "-uat" resValue "string", "app_name", "KBZ-UAT" - versionCode 46 - versionName "2.41" + versionCode 47 + versionName "2.42" } prod { diff --git a/app/src/main/java/com/utsmm/kbz/MainActivity.java b/app/src/main/java/com/utsmm/kbz/MainActivity.java index 9c82f64..f59d4d6 100644 --- a/app/src/main/java/com/utsmm/kbz/MainActivity.java +++ b/app/src/main/java/com/utsmm/kbz/MainActivity.java @@ -163,7 +163,6 @@ public class MainActivity extends AppCompatActivity implements // SystemParamsOperation.getInstance().setEReceiptAddress("https://api-tms-uat.kbzbank.com:8443/receipt"); SystemParamsOperation.getInstance().setTmsAddress("https://sirius-nest.utsmyanmar.com/api/v1"); SystemParamsOperation.getInstance().setEReceiptAddress("https://receipt-nest.utsmyanmar.com"); -// SystemParamsOperation.getInstance().setEReceiptAddress("https://receipt-nest.utsmyanmar.com"); PinPad pinPad = MyApplication.getInstance().deviceEngine.getPinPad(); byte[] encryptedPIK = SystemParamsOperation.getInstance().getPIK(); diff --git a/app/src/main/java/com/utsmm/kbz/MainFragment.java b/app/src/main/java/com/utsmm/kbz/MainFragment.java index bbfd4b1..298cdb4 100644 --- a/app/src/main/java/com/utsmm/kbz/MainFragment.java +++ b/app/src/main/java/com/utsmm/kbz/MainFragment.java @@ -455,23 +455,7 @@ public class MainFragment extends DataBindingFragment { } private void showCurrencyChooserForCardSale() { - List currencies = getAvailableCardSaleCurrencies(); - if (currencies.isEmpty()) { - applyCardCurrencyAndHost("MMK"); - startCardSaleFlow(); - return; - } - - if (currencies.size() == 1) { - applyCardCurrencyAndHost(currencies.get(0)); - startCardSaleFlow(); - return; - } - - showCurrencyPickerDialog("Choose Currency", currencies, currency -> { - applyCardCurrencyAndHost(currency); - startCardSaleFlow(); - }); + currencySelectionHelper.showCardCurrencyChooser(this::startCardSaleFlow); } private List getAvailableCardSaleCurrencies() { diff --git a/app/src/main/java/com/utsmm/kbz/ui/dashboard/DashboardTransFragment.java b/app/src/main/java/com/utsmm/kbz/ui/dashboard/DashboardTransFragment.java index 629dc6f..f8658cf 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/dashboard/DashboardTransFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/dashboard/DashboardTransFragment.java @@ -327,23 +327,7 @@ public class DashboardTransFragment extends DataBindingFragment { } private void showCurrencyChooserForCardFlow(Runnable onSelected) { - List currencies = getAvailableCardSaleCurrencies(); - if (currencies.isEmpty()) { - applyCardCurrencyAndHost("MMK"); - onSelected.run(); - return; - } - - if (currencies.size() == 1) { - applyCardCurrencyAndHost(currencies.get(0)); - onSelected.run(); - return; - } - - showCurrencyPickerDialog("Choose Currency", currencies, currency -> { - applyCardCurrencyAndHost(currency); - onSelected.run(); - }); + currencySelectionHelper.showCardCurrencyChooser(onSelected); } private List getAvailableCardSaleCurrencies() { diff --git a/app/src/main/res/layout/fragment_host_config.xml b/app/src/main/res/layout/fragment_host_config.xml index 6f5a56c..9bd0a5e 100644 --- a/app/src/main/res/layout/fragment_host_config.xml +++ b/app/src/main/res/layout/fragment_host_config.xml @@ -200,10 +200,16 @@ android:text='@{": " + viewModel.thirdHostName}'/> - - + + + android:text='@{": " + viewModel.thirdHostTid}'/> + + + + + diff --git a/app/src/main/res/layout/fragment_trans_info_screen.xml b/app/src/main/res/layout/fragment_trans_info_screen.xml index 65e850e..b0f44ea 100644 --- a/app/src/main/res/layout/fragment_trans_info_screen.xml +++ b/app/src/main/res/layout/fragment_trans_info_screen.xml @@ -279,7 +279,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:text="@{sharedViewModel.payDetail.voucherNo}" + android:text="@{sharedViewModel.payDetail.invoiceNo}" android:textAlignment="textEnd" android:textColor="@color/colorPrimary" android:textSize="15sp" @@ -355,7 +355,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:text="@{sharedViewModel.payDetail.invoiceNo}" + android:text="@{sharedViewModel.payDetail.voucherNo}" android:textAlignment="textEnd" android:textColor="@color/colorPrimary" android:textSize="15sp" @@ -421,7 +421,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:text="@string/txt_base_amount" + android:text="@string/txt_Amount" android:textColor="@color/colorPrimary" android:textSize="15sp" android:fontFamily="sans-serif" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7924bd6..90ea8a7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -460,6 +460,7 @@ No reversal transaction found! Batch Number Base Amount + Amount Date/Time Signature TIP ADJUST NOT ALLOW @@ -621,4 +622,4 @@ Search By Inv No Continue - \ No newline at end of file + diff --git a/app/uat/release/baselineProfiles/0/app-uat-release.dm b/app/uat/release/baselineProfiles/0/app-uat-release.dm index d07737f7a18c9f3252705fe9abee023b1d3962c1..847c2e94165d25a8eebb5d1cb59ed4e21b811509 100644 GIT binary patch literal 3236 zcmZ`+2UJtp7EOpIAOTcRdKnQ=X^E5oB5^(_y(y@Jp$8bmKm;Q-L}UOlKqL%B2^pFo zf|Rk+B+>$y2_Q~_Lot9zNu)>%65vO_^L74O|Gah9K5OlB?^|o%_wL=-#U8Xn1|TXb z3P|_b=Lz^Opu!p(9*pq~kJiJ6hXn%3yD%%l0sw;>0YG0H&4p<6wH6WLWnp#*^9c~} zrN>x^C@}zllm-BZ08GTvUx2g$fYwg{fH=Val5a#rK!hGTAgX7l=%SPk0FW&tpnnrb zKQmE4_gjs7MBq>>cFP85OjPZ9y`EaJxL=G~G3cgRp_E;b@*^@nxu4JUuyrOUNKs8` zy8Cy-ePxh09EmEEr?NZa^n;QLhJ(=V5cgy0hE!>)w!EwVL;mXnW)FOFbux3+al{|j zZA%z_<=&O?n?pJkFpR}em$th4=AVj{?&qGcpD&-HOvbkE$^Aop@cBym=wB%cGeErW z&}f;)4^dT@J0v3Mj%M}B2OqLOta^BA869mgkIOa|Gpd{*-UfQ#cqcj>1^j@*|Lhqg zPhi$-ArQeRr{B+qg|G_Hp1F@6dl@PZ-CHfKz}(8n9zS2`k9PP;(DvlgzQhMnuUI-V z?X`z94j5)tgea8^B$J+gxv`ORlrROE#@V zk4~*0SDl}4TH_8&Wv)ctbR#NvUW5BUXf z%T_A%xPTn`3fgjMx83ijN7EaNII^W`ic&UrYIZm=C-Az5HS@`3){uiU!`$Zg_IeUo z{=6Wac&+8@ohH|P^JT=7W{tK~Zny08J!iU?PyMQ_VQXC&U;DW{+ zd|}fgc&S0Qj?+WxC4nHx<1F$xFV7v^8c<`0VF7zj6%}gDE^6S~2zt=8W*MqPhGtOc z+I;32ai^rz?YKj4#m?f-lp=Vyw&J`W!SL!@bOIsr!ayxAdTipr-SM}bUXuD!p`*Cz z@Xd@;O-VG2(Opbe*Zoy#eYD5SbRBi{fW1K_)as#!az}2?v1eZGHM-I3R;Qby9eYkq1#Xarn%5E5pY+bZ zg>Bec{LIXL%ZqsmkV)dItR^6TV!hL^tR%l^4;@_y{SY}u zo#X%Bm9>>S{;vQ2!8?-vSN&;nFmM|1Kaj8;3}!N~SZw!# zxmaU`;59b)92ktA;OMmI(o>R|g(U$ZiBosWOW^UdeTDp59_y z2s+Sz`6TMEhHZg8VV$1P-)#D(zS_2_lsAx%);7vcL9eB%uaK$Rle2HBaSrHA8w>Zw zEWJUU{TW}xl8{aj&bQfgE-dFamFbNV_DHutF6qReMDS6X91 zixJ{ETY4rQk{gbFzOj!O?UaT$x7kZZF`ld}YEe1q@x9={6lCJUJB2z8)QD1M$#`&f zru6)8a|1+p_#xUPHPt@8Lg7xanA(BVGwuy3P6*`do#`pjHU_Px+K(ys~U z8kXy&d|@R24K`X1?y8xP=v`At^s=O;fs&&O+eo^}_!Nm` z6Pq**GZj{U;Y6vVc`N)$VGK!<6HGrY-ok!y64$PV1PflfLg0CpTdt5z#?Dl;Y1NoY zNk5+wN$3?QhX%Z8X|3OW*>hUn0=jBhfXC}BsUw~xs4ntkm-NwBr|+eD^qKA^%3*=X zPuP_XGp(GJYnFr?ccqLOdq_A-YZZP!iCDmMF6g_gk!Q^5Q(u+#8!?%s?UjOFwDcX>-y;pSL=1M`FR8IX4GgKM`cqZivTM7wbfeZGA zScP#Q#_zGX&iw|+Uj2(|`{O(NQ%uoaJ9(EhG8=XPNTc2$`ZR-1wm5pEuxM%e% zkUu9)*X(1BgPdt(CrCuz}hcFONoE-*n^41pyQ=1$2eoUy?tZ#1k^gzL_ zJRMFynx3TkxK`7g`GOuHb_}=NzG2Q9sq%j+$@vKsRh=I_7P;i(1m)ecjqeAA`(qg5 zNN|YSelx$?cpEl}f-%E-YlT(Osd?gyG=FByueEji7iq-^gz6$A@lLHTOobfcQEj$V zr{`Cf+=FsHB(JyMjLWIJfkW8}rd~_of7BfDI#0(}-#a^zudq-9?KNYt?_X{ARfVa< zf+c{+f|6_l}@+S%O#)Wq@aR0ubHm6G>wcJq)Ezeb#Zzxq9-Euef0Hl z;+4Buo6o`t0b%XoQUKCp3UeGr?={Z@MJ>=xctB=?Z#=(WE9N6Q`#I`l(ABRS4MP`9 zraX6?+O z#|u&%SDT{uQ5gY$dyQ{%(kOwP4AYSUqo99quygV^rY`z#)A7w^gve`Q48Mi9>Lydj z4vw_))~f=toZVo;1f@aIUiILI8*O2eDNh{)ds`y1x>|s{#1A^S*h56^B!gJFy8r;P zFkSwyp_LH&((er|1}F+#+roxp05I55p*wve^s1}Eo+zNF>#S}+`r~Mh(vjlp zl>4b!>f%+%?VFUrsde3m)3Kz!?b@cy$}_#^2VVW=ml_(OF#pH2sYTrB95;8814L_F zjK#n&oHbh%n~G_hl@`poZtg$zS;s^|_X!E13ZlYvu?LFC0KQ!fzSsEk)!?7;y{`W| h^7~moufezI7p~X$BQY-aJHel65#fUqqWqUP{To9Q(+&Ut literal 3244 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 O$4F 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 diff --git a/app/uat/release/output-metadata.json b/app/uat/release/output-metadata.json index d9a3153..2c82620 100644 --- a/app/uat/release/output-metadata.json +++ b/app/uat/release/output-metadata.json @@ -11,8 +11,8 @@ "type": "SINGLE", "filters": [], "attributes": [], - "versionCode": 46, - "versionName": "2.41-uat", + "versionCode": 47, + "versionName": "2.42-uat", "outputFile": "app-uat-release.apk" } ], 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 d4114c6..60c7559 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 @@ -1846,10 +1846,26 @@ public abstract class BaseXPrint { String[] secIpPort = splitIpAndPort(sp.getSecIpAddress()); printer.appendPrnStr("Secondary IP : " + secIpPort[0], fontNormal, AlignEnum.LEFT, false); printer.appendPrnStr("Secondary Port: " + secIpPort[1], fontNormal, AlignEnum.LEFT, false); - sp.getCurrencyType(); - printer.appendPrnStr(sp.getCurrencyType().toString(), fontNormal, AlignEnum.LEFT, false); + printer.appendPrnStr("Currency : " + formatCurrency(String.valueOf(sp.getCurrencyType())), fontNormal, AlignEnum.LEFT, false); dotBreak(); + // ---------- SECONDARY HOST (optional) ---------- + if (!TextUtils.isEmpty(sp.getThirdHostName())) { + printer.appendPrnStr("SECONDARY HOST", fontNormal, AlignEnum.LEFT, true); + printer.appendPrnStr("Name : " + sp.getThirdHostName(), fontNormal, AlignEnum.LEFT, false); + printer.appendPrnStr("TID : " + sp.getThirdHostTerminalId(), fontNormal, AlignEnum.LEFT, false); + printer.appendPrnStr("MID : " + sp.getThirdHostMerchantId(), fontNormal, AlignEnum.LEFT, false); + String[] thirdHostIp = splitIpAndPort(sp.getThirdHostIpAddress()); + printer.appendPrnStr("Primary Ip : " + thirdHostIp[0], fontNormal, AlignEnum.LEFT, false); + printer.appendPrnStr("Primary Port : " + thirdHostIp[1], fontNormal, AlignEnum.LEFT, false); + String[] thirdHostSecIp = splitIpAndPort(sp.getThirdHostSecIpAddress()); + printer.appendPrnStr("Secondary Ip : " + thirdHostSecIp[0], fontNormal, AlignEnum.LEFT, false); + printer.appendPrnStr("Secondary Port: " + thirdHostSecIp[1], fontNormal, AlignEnum.LEFT, false); + printer.appendPrnStr("Currency : " + formatCurrency(sp.getThirdHostCurrency()), fontNormal, AlignEnum.LEFT, false); + dotBreak(); + } + + // ---------- QR HOST (optional) ---------- if (!TextUtils.isEmpty(sp.getSecHostName())) { printer.appendPrnStr("QR HOST", fontNormal, AlignEnum.LEFT, true); printer.appendPrnStr("Name : " + sp.getSecHostName(), fontNormal, AlignEnum.LEFT, false); @@ -1861,24 +1877,43 @@ public abstract class BaseXPrint { printer.appendPrnStr("Secondary Ip : " + secHostSecIp[0], fontNormal, AlignEnum.LEFT, false); printer.appendPrnStr("Secondary Port: " + secHostSecIp[1], fontNormal, AlignEnum.LEFT, false); String qrHostCurrency = TextUtils.isEmpty(sp.getSecHostCurrency()) ? String.valueOf(sp.getCurrencyType()) : sp.getSecHostCurrency(); - printer.appendPrnStr("Currency Code : " + qrHostCurrency, fontNormal, AlignEnum.LEFT, false); + printer.appendPrnStr("Currency : " + formatCurrency(qrHostCurrency), fontNormal, AlignEnum.LEFT, false); dotBreak(); printer.appendPrnStr("App Version : " + getAppVersion(), fontNormal, AlignEnum.LEFT, false); } - // ---------- THIRD HOST (optional) ---------- - if (!TextUtils.isEmpty(sp.getThirdHostName())) { - printer.appendPrnStr("SECONDARY HOST", fontNormal, AlignEnum.LEFT, true); - printer.appendPrnStr("Name : " + sp.getThirdHostName(), fontNormal, AlignEnum.LEFT, false); - printer.appendPrnStr("SHORT CODE : " + sp.getThirdHostShortCode(), fontNormal, AlignEnum.LEFT, false); - String[] thirdHostIp = splitIpAndPort(sp.getThirdHostIpAddress()); - printer.appendPrnStr("Primary Ip : " + thirdHostIp[0], fontNormal, AlignEnum.LEFT, false); - printer.appendPrnStr("Primary Port : " + thirdHostIp[1], fontNormal, AlignEnum.LEFT, false); - String[] thirdHostSecIp = splitIpAndPort(sp.getThirdHostSecIpAddress()); - printer.appendPrnStr("Secondary Ip : " + thirdHostSecIp[0], fontNormal, AlignEnum.LEFT, false); - printer.appendPrnStr("Secondary Port: " + thirdHostSecIp[1], fontNormal, AlignEnum.LEFT, false); - printer.appendPrnStr("Currency Code : " + sp.getThirdHostCurrency(), fontNormal, AlignEnum.LEFT, false); - dotBreak(); + } + + private String formatCurrency(String raw) { + if (TextUtils.isEmpty(raw)) { + return ""; + } + + String value = raw.trim().toUpperCase(Locale.US); + switch (value) { + case "0104": + case "104": + case "MMK": + return "MMK"; + case "0840": + case "840": + case "USD": + return "USD"; + case "0156": + case "156": + case "CNY": + case "RMB": + return "CNY"; + case "0764": + case "764": + case "THB": + return "THB"; + case "0643": + case "643": + case "RUB": + return "RUB"; + default: + return value; } }