From 4ce7a9355c6472a57f5bff3b22693e12c1ed8183 Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Mon, 15 Dec 2025 22:35:22 +0630 Subject: [PATCH] shrinking physical receipt --- .../kbz/ui/settings/HostConfigFragment.java | 7 +- .../kbz/ui/settings/HostConfigViewModel.java | 13 +- .../java/com/utsmm/kbz/util/EReceiptUtil.java | 3 + .../com/utsmm/kbz/util/tms/TMSSetupsImpl.java | 1 + .../main/res/layout/fragment_host_config.xml | 308 +++++++++++++----- .../paylibs/print/printx/BaseXPrint.java | 26 +- .../paylibs/print/printx/PrintXImpl.java | 2 +- .../core_utils/SystemParamsOperation.java | 11 + .../core_utils/SystemParamsSettings.java | 9 + 9 files changed, 277 insertions(+), 103 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java b/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java index 26b1eba..c83b297 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java @@ -112,7 +112,7 @@ public class HostConfigFragment extends DataBindingFragment { Log.e("Print Config", "Printer Error: " + printerStatus); return; } - printer.setGray(GrayLevelEnum.LEVEL_2); + printer.setGray(GrayLevelEnum.LEVEL_1); Typeface typeface = ResourcesCompat.getFont(requireContext(), R.font.consolas_bold); printer.setTypeface(typeface); SystemParamsOperation sp = SystemParamsOperation.getInstance(); @@ -147,8 +147,9 @@ public class HostConfigFragment extends DataBindingFragment { if (!TextUtils.isEmpty(sp.getSecHostName())) { printer.appendPrnStr("SECONDARY HOST", FONT_NORMAL, AlignEnum.LEFT, true); printer.appendPrnStr("Name : " + sp.getSecHostName(), FONT_NORMAL, AlignEnum.LEFT, false); - printer.appendPrnStr("TID : " + sp.getSecHostTerminalId(), FONT_NORMAL, AlignEnum.LEFT, false); - printer.appendPrnStr("MID : " + sp.getSecHostMerchantId(), FONT_NORMAL, AlignEnum.LEFT, false); +// printer.appendPrnStr("TID : " + sp.getSecHostTerminalId(), FONT_NORMAL, AlignEnum.LEFT, false); +// printer.appendPrnStr("MID : " + sp.getSecHostMerchantId(), FONT_NORMAL, AlignEnum.LEFT, false); + printer.appendPrnStr("SHORT CODE : " + sp.getShortCode(), FONT_NORMAL, AlignEnum.LEFT, false); String secHostIpAddress = sp.getSecHostIpAddress(); String[] secHostIpAndPort = splitIpAndPort(secHostIpAddress); String secHostIp = secHostIpAndPort[0]; diff --git a/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigViewModel.java index 27aec15..3c60f7f 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigViewModel.java +++ b/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigViewModel.java @@ -23,13 +23,16 @@ public class HostConfigViewModel extends ViewModel { // Secondary Host public MutableLiveData secHostName = new MutableLiveData<>(); - public MutableLiveData secHostTid = new MutableLiveData<>(); - public MutableLiveData secHostMid = new MutableLiveData<>(); +// public MutableLiveData secHostTid = new MutableLiveData<>(); +// public MutableLiveData secHostMid = new MutableLiveData<>(); + public MutableLiveData shortCode = new MutableLiveData<>(); public MutableLiveData secHostPrimaryIp = new MutableLiveData<>(); public MutableLiveData secHostPrimaryPort = new MutableLiveData<>(); public MutableLiveData secHostSecondaryIp = new MutableLiveData<>(); public MutableLiveData secHostSecondaryPort = new MutableLiveData<>(); + public MutableLiveData terminalName = new MutableLiveData<>(); + public void loadConfig() { @@ -40,6 +43,7 @@ public class HostConfigViewModel extends ViewModel { merchantPhone.setValue(sp.getMerchantPhoneNo()); merchantAddress1.setValue(sp.getMerchantAddress()); merchantAddress2.setValue(sp.getMerchantAddress2()); + terminalName.setValue(sp.getTerminalName()); // PRIMARY HOST hostName.setValue(sp.getHostName()); @@ -60,8 +64,9 @@ public class HostConfigViewModel extends ViewModel { if (sp.getSecHostName() != null && !sp.getSecHostName().isEmpty()) { secHostName.setValue(sp.getSecHostName()); - secHostTid.setValue(sp.getSecHostTerminalId()); - secHostMid.setValue(sp.getSecHostMerchantId()); +// secHostTid.setValue(sp.getSecHostTerminalId()); +// secHostMid.setValue(sp.getSecHostMerchantId()); + shortCode.setValue(sp.getShortCode()); String[] shp = split(sp.getSecHostIpAddress()); secHostPrimaryIp.setValue(shp[0]); 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 502e9a4..2bb0e75 100644 --- a/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java +++ b/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java @@ -108,6 +108,7 @@ public class EReceiptUtil { double realAmount = amt / 100.0; DecimalFormat df = new DecimalFormat("0.00"); String amount = df.format(realAmount); + String terminalIdForEreceipt = SystemParamsOperation.getInstance().getTerminalIdForEreceipt(); String currentTimeStamp = new java.text.SimpleDateFormat("MMddHHmmss", java.util.Locale.getDefault()) .format(new java.util.Date()); @@ -122,6 +123,8 @@ public class EReceiptUtil { request.setAppId(packageName); request.setDE41(qrTerminalId); request.setDE42(qrMerchantId); + request.setTerminalId(terminalIdForEreceipt); + request.setShortCode(qrMerchantId); request.setInvoiceNumber(invoiceNo != null ? invoiceNo : ""); request.setDE11(voucherNo != null ? voucherNo : ""); 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 e269b7b..9efb090 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 @@ -157,6 +157,7 @@ public class TMSSetupsImpl implements TMSSetups{ SystemParamsOperation.getInstance().setMerchantAddress(siriusMerchant.getAddress()); SystemParamsOperation.getInstance().setMerchantAddress2(siriusMerchant.getAddress2()); SystemParamsOperation.getInstance().setMerchantPhoneNo(siriusMerchant.getMobile()); + SystemParamsOperation.getInstance().setTerminalName(siriusMerchant.getDescription()); } diff --git a/app/src/main/res/layout/fragment_host_config.xml b/app/src/main/res/layout/fragment_host_config.xml index bcb612e..b94797b 100644 --- a/app/src/main/res/layout/fragment_host_config.xml +++ b/app/src/main/res/layout/fragment_host_config.xml @@ -6,7 +6,7 @@ - + @@ -46,129 +46,270 @@ android:scrollbars="none"> + android:layout_height="wrap_content" + android:orientation="vertical"> + + android:textAlignment="center" + android:paddingBottom="12dp" + tools:text="TERMINAL CONFIGURATION"/> - - - - - - - + + + + + + + android:paddingBottom="8dp" + tools:text="--------------------------------------------------------------------------"/> - - - - - - - - - - - - - - - - + android:fontFamily="@font/rubik_regular" + android:textSize="14sp" + android:textStyle="bold" + tools:text="PRIMARY HOST"/> + android:text='@{"Name : " + viewModel.hostName}' + android:fontFamily="@font/rubik_regular" + android:textSize="14sp" + android:textStyle="bold" + tools:text="Name : Card Host"/> - - + android:text='@{"TID : " + viewModel.tid}' + android:fontFamily="@font/rubik_regular" + android:textSize="14sp" + android:textStyle="bold" + tools:text="TID : 12345678"/> + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + android:fontFamily="@font/rubik_regular" + android:textSize="14sp" + android:textStyle="bold" + tools:text="SECONDARY HOST"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:paddingBottom="8dp" + tools:text="--------------------------------------------------------------------------"/> - - + android:textStyle="bold" + tools:text="Cancel"/>