From b3406a12bb72bbaa8a289c0fc867ee315f2b5fe9 Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Fri, 6 Feb 2026 00:02:56 +0630 Subject: [PATCH] history added in Dashboard History Screen --- .../core_ui/ConfirmTransactionFragment.java | 17 +- .../ui/core_viewmodel/SharedViewModel.java | 2 + .../dashboard/DashboardHistoryFragment.java | 109 ++---------- .../kbz/ui/management/HistoryAdapter.java | 8 +- .../ReprintAnyTransactionFragment.java | 1 + .../utsmm/kbz/ui/tms/TMSProcessFragment.java | 20 ++- .../fragment_dashboard_history_screen.xml | 163 +++++++++++------- .../main/res/navigation/mobile_navigation.xml | 3 + 8 files changed, 156 insertions(+), 167 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/ConfirmTransactionFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/ConfirmTransactionFragment.java index 268e42f..109f350 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/ConfirmTransactionFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/ConfirmTransactionFragment.java @@ -107,6 +107,9 @@ public class ConfirmTransactionFragment extends DataBindingFragment implements D isMerchantCopy = true; sharedViewModel.printerDisabled.setValue(!SystemParamsOperation.getInstance().getPrinterEnabled()); + if (sharedViewModel.getTransMenu().getValue() != TransMenu.REPRINT) { + sharedViewModel.suppressReprintButtons.setValue(false); + } if(sharedViewModel.getTransMenu().getValue() == TransMenu.REVIEW) { @@ -123,9 +126,17 @@ public class ConfirmTransactionFragment extends DataBindingFragment implements D } else if(sharedViewModel.getTransMenu().getValue() == TransMenu.REPRINT) { sharedViewModel.reprintTransTypeMsg.setValue(getResourceString(R.string.txt_print_merchant_copy)); - sharedViewModel.oneBtnLayout.setValue(8); - sharedViewModel.twoBtnLayout.setValue(8); - sharedViewModel.reprintBtnLayout.setValue(sharedViewModel.printerDisabled.getValue() != null && sharedViewModel.printerDisabled.getValue() ? 8 : 0); + boolean suppress = sharedViewModel.suppressReprintButtons.getValue() != null + && sharedViewModel.suppressReprintButtons.getValue(); + if (suppress) { + sharedViewModel.oneBtnLayout.setValue(8); + sharedViewModel.twoBtnLayout.setValue(8); + sharedViewModel.reprintBtnLayout.setValue(8); + } else { + sharedViewModel.oneBtnLayout.setValue(8); + sharedViewModel.twoBtnLayout.setValue(8); + sharedViewModel.reprintBtnLayout.setValue(sharedViewModel.printerDisabled.getValue() != null && sharedViewModel.printerDisabled.getValue() ? 8 : 0); + } // printReceipt(true); diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java index 4756136..fefc498 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java @@ -116,6 +116,7 @@ public class SharedViewModel extends ViewModel { public MutableLiveData printReceiptButtons = new MutableLiveData<>(0); public SingleLiveEvent printerDisabled = new SingleLiveEvent<>(); + public SingleLiveEvent suppressReprintButtons = new SingleLiveEvent<>(); public SingleLiveEvent printReceiptMsg = new SingleLiveEvent<>(); @@ -178,6 +179,7 @@ public class SharedViewModel extends ViewModel { this.repository = repository; setPrintStatus(PrintStatus.FIRST_PRINT); isReprint.setValue(false); + suppressReprintButtons.setValue(false); cardNo.setValue(""); String sn = TerminalUtil.getInstance().getSerialNo(); serialNumber.setValue(sn); diff --git a/app/src/main/java/com/utsmm/kbz/ui/dashboard/DashboardHistoryFragment.java b/app/src/main/java/com/utsmm/kbz/ui/dashboard/DashboardHistoryFragment.java index d920d40..881900d 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/dashboard/DashboardHistoryFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/dashboard/DashboardHistoryFragment.java @@ -8,24 +8,17 @@ import androidx.annotation.Nullable; import com.utsmyanmar.baselib.fragment.DataBindingFragment; import com.utsmyanmar.baselib.util.DataBindingConfig; -import com.utsmyanmar.baselib.util.DialogCallback; import com.utsmyanmar.paylibs.model.PayDetail; -import com.utsmyanmar.paylibs.model.TradeData; -import com.utsmyanmar.paylibs.print.PrintHelper; -import com.utsmyanmar.paylibs.print.printx.PrintXReceipt; -import com.utsmyanmar.paylibs.print.printx.PrintXStatus; import com.utsmyanmar.paylibs.utils.POSUtil; -import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation; import com.utsmyanmar.paylibs.utils.enums.HostType; +import com.utsmyanmar.paylibs.utils.enums.TransMenu; import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType; -import com.utsmyanmar.paylibs.utils.params.Params; -import com.nexgo.oaf.apiv3.SdkResult; import com.utsmm.kbz.BR; import com.utsmm.kbz.R; import com.utsmm.kbz.config.Constants; import com.utsmm.kbz.databinding.FragmentDashboardHistoryScreenBinding; import com.utsmm.kbz.ui.core_viewmodel.SharedViewModel; -import com.utsmm.kbz.ui.management.HistoryAdapter; +import com.utsmm.kbz.ui.management.CardViewAdapter; import com.utsmm.kbz.ui.management.ManagementViewModel; import java.util.ArrayList; @@ -34,7 +27,7 @@ public class DashboardHistoryFragment extends DataBindingFragment { private ManagementViewModel managementViewModel; private SharedViewModel sharedViewModel; - private HistoryAdapter detailReportAdapter; + private CardViewAdapter cardViewAdapter; private int routeId; private final ArrayList lists = new ArrayList<>(); @@ -48,8 +41,7 @@ public class DashboardHistoryFragment extends DataBindingFragment { @Override protected DataBindingConfig getDataBindingConfig() { return new DataBindingConfig(R.layout.fragment_dashboard_history_screen, BR.manageViewModel, managementViewModel) - .addBindingParam(BR.sharedViewModel, sharedViewModel) - .addBindingParam(BR.click, new ClickEvent()); + .addBindingParam(BR.sharedViewModel, sharedViewModel); } @Override @@ -78,8 +70,6 @@ public class DashboardHistoryFragment extends DataBindingFragment { super.onResume(); setToolBarTitleWithBackIcon(getString(R.string.title_history)); - managementViewModel.detailReportLayoutVisibility.setValue(0); - managementViewModel.detailReportBottomLayoutVisibility.setValue(0); } private void observeHistory() { @@ -98,23 +88,14 @@ public class DashboardHistoryFragment extends DataBindingFragment { managementViewModel.detailReportBottomLayoutVisibility.setValue(0); } - HostType hostType = sharedViewModel.hostType.getValue(); - for (PayDetail payDetail : payDetailList) { - if (hostType == HostType.MPU) { - if (payDetail.getTransactionType() != TransactionsType.MMQR.value - && payDetail.getTransactionType() != TransactionsType.REVERSAL.value - && payDetail.getTransactionType() != TransactionsType.SETTLEMENT.value - && POSUtil.getInstance().getYesterdayDate() - .compareTo(POSUtil.getInstance().getDateByString(payDetail.transDate)) < 1) { - lists.add(payDetail); - } - } else if (hostType == HostType.QR) { - if (payDetail.getTransactionType() == TransactionsType.MMQR.value - && payDetail.getQrTransStatus() == 1) { - lists.add(payDetail); - } - } else { + if (payDetail.getTransactionType() == TransactionsType.MMQR.value + || payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value) { + continue; + } + + if (POSUtil.getInstance().getYesterdayDate() + .compareTo(POSUtil.getInstance().getDateByString(payDetail.transDate)) < 1) { lists.add(payDetail); } } @@ -124,67 +105,15 @@ public class DashboardHistoryFragment extends DataBindingFragment { managementViewModel.detailReportLayoutVisibility.setValue(0); } - detailReportAdapter = new HistoryAdapter(lists); - ((FragmentDashboardHistoryScreenBinding) mBinding).setAdapter(detailReportAdapter); + cardViewAdapter = new CardViewAdapter(lists, payDetail -> { + sharedViewModel.setTransMenu(TransMenu.REPRINT); + sharedViewModel.suppressReprintButtons.setValue(true); + sharedViewModel.payDetail.postValue(payDetail); + routeId = R.id.action_dashboardHistoryFragment_to_confirmTransactionFragment; + safeRouteTo(currentId(), routeId, hostId()); + }); + ((FragmentDashboardHistoryScreenBinding) mBinding).setMyAdapter(cardViewAdapter); }); } - private void navigateMain() { - routeId = R.id.action_dashboardHistoryFragment_to_nav_main; - safeNavigateToRouteId(); - } - - public class ClickEvent { - public void onCancel() { - navigateMain(); - } - - public void onPrint() { - TradeData tradeData = Params.newTrade(false); - PayDetail payDetail = tradeData.getPayDetail(); - payDetail.setTransType(TransactionsType.DETAIL_REPORT.name); - payDetail.setTransactionType(TransactionsType.DETAIL_REPORT.value); - - if (PrintHelper.getInstance().paperRollStatus() == SdkResult.Printer_PaperLack) { - showPrinterAlertDialog(getString(R.string.txt_paper_roll_not_ready), new DialogCallback() { - @Override - public void onClickCancel() { - dismissPrinterAlertDialog(); - } - - @Override - public void onClickRetry() { - dismissPrinterAlertDialog(); - - if (PrintHelper.getInstance().paperRollStatus() != SdkResult.Success) { - return; - } - - PrintXReceipt.getInstance().printDetailReport(payDetail, lists, sharedViewModel.hostType.getValue(), new PrintXStatus() { - @Override - public void onSuccess() { - } - - @Override - public void onFailure() { - } - }); - } - }); - if (SystemParamsOperation.getInstance().isAlertSound()) { - startSound(getString(R.string.txt_audio_printer_alert)); - } - } else if (PrintHelper.getInstance().paperRollStatus() == SdkResult.Success) { - PrintXReceipt.getInstance().printDetailReport(payDetail, lists, sharedViewModel.hostType.getValue(), new PrintXStatus() { - @Override - public void onSuccess() { - } - - @Override - public void onFailure() { - } - }); - } - } - } } diff --git a/app/src/main/java/com/utsmm/kbz/ui/management/HistoryAdapter.java b/app/src/main/java/com/utsmm/kbz/ui/management/HistoryAdapter.java index b6c251a..796068a 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/management/HistoryAdapter.java +++ b/app/src/main/java/com/utsmm/kbz/ui/management/HistoryAdapter.java @@ -10,7 +10,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.utsmyanmar.paylibs.model.PayDetail; import com.utsmm.kbz.R; -import com.utsmm.kbz.databinding.ItemViewDetailReportBinding; +import com.utsmm.kbz.databinding.ItemViewHistoryBinding; import java.util.List; @@ -35,7 +35,7 @@ public class HistoryAdapter extends RecyclerView.Adapter - + name="myAdapter" + type="com.utsmm.kbz.ui.management.CardViewAdapter" /> + android:layout_height="match_parent" + android:background="@color/white"> + + + + + + + + + + + + + + + + + + + app:layout_constraintBottom_toBottomOf="parent"> + + - + android:textColor="@color/colorPrimary" + android:textSize="20sp" + android:textStyle="bold" + android:fontFamily="sans-serif-medium" + android:layout_marginBottom="8dp" /> - - - - - + + android:text="No card transactions found" + android:textAlignment="center" + android:textColor="@color/colorPrimary" + android:textSize="14sp" + android:alpha="0.7" + android:fontFamily="sans-serif" + android:paddingHorizontal="32dp" /> - diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index 9e718c3..b6297cb 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -688,6 +688,9 @@ app:popUpToInclusive="true" android:id="@+id/action_dashboardHistoryFragment_to_nav_main" app:destination="@id/nav_main" /> +