From 6b9660a7d31077475c8bca11dc206e8fc6f077f6 Mon Sep 17 00:00:00 2001 From: kizzy Date: Tue, 28 Jul 2026 12:47:33 +0700 Subject: [PATCH] fixed for sale transactions are not updated at print settlement slip. --- .../SettlementTransactionFragment.java | 17 ++--------------- .../kbz/ui/settlement/SettlementViewModel.java | 3 +-- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementTransactionFragment.java b/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementTransactionFragment.java index b134df8..5772f02 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementTransactionFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementTransactionFragment.java @@ -260,7 +260,7 @@ public class SettlementTransactionFragment extends DataBindingFragment implement settlementViewModel.getSettlementPOS().observe(getViewLifecycleOwner(), payDetails -> { resetSettlementCounters(); if(payDetails != null && !payDetails.isEmpty()) { - cardTransactionsList = payDetails; + cardTransactionsList = new ArrayList<>(payDetails); for(PayDetail payDetail:payDetails) { int transType = payDetail.getTransactionType(); @@ -702,20 +702,7 @@ public class SettlementTransactionFragment extends DataBindingFragment implement private void updateData() { PayDetail payDetail = settlementViewModel.getPayDetail(); - List cardSettleSource = new ArrayList<>(); - if (cardTransactionsList != null && !cardTransactionsList.isEmpty()) { - cardSettleSource.addAll(cardTransactionsList); - } - for (PayDetail pay : settlementViewModel.deleteTrans) { - if (pay.getTransactionType() == TransactionType.VOID && !pay.isCanceled) { - cardSettleSource.add(pay); - } else if (pay.getTransactionType() == TransactionType.SALE && pay.isCanceled) { - cardSettleSource.add(pay); - } - } - if (!cardSettleSource.isEmpty()) { - payDetail.setCardSettleData(CardSettleData.convertFromPayDetail(cardSettleSource)); - } + // Keep cardSettleData from ViewModel (built before updateDB clears payDetails). if (qrTransactionsList != null && !qrTransactionsList.isEmpty()) { payDetail.setQrSettleData(QRSettleData.convertFromPayDetail(qrTransactionsList)); diff --git a/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementViewModel.java index 61dc606..4f09c0e 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementViewModel.java +++ b/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementViewModel.java @@ -228,8 +228,7 @@ public class SettlementViewModel extends ViewModel { public void setPayDetails(List payDetailList) { - - this.payDetails = payDetailList; + this.payDetails = payDetailList == null ? null : new ArrayList<>(payDetailList); } public void updatePayDetail(PayDetail payDetail){