QR settlement added crash handling
This commit is contained in:
parent
c46b8793a1
commit
7d8f9f5af2
@ -146,6 +146,58 @@ public class QRSettlementTransactionFragment extends DataBindingFragment impleme
|
||||
count = 0;
|
||||
totalAmount = 0;
|
||||
|
||||
try {
|
||||
for (PayDetail payDetail : payDetailList) {
|
||||
// Filter for QR transactions only
|
||||
if ((payDetail.getTransactionType() == TransactionsType.MMQR.value
|
||||
|| payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value)
|
||||
&& payDetail.getQrTransStatus() == 1
|
||||
&& POSUtil.getInstance().getYesterdayDate().compareTo(POSUtil.getInstance().getDateByString(payDetail.transDate)) < 1) {
|
||||
|
||||
boolean isNeedMinusSign = payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value;
|
||||
qrTransactionsList.add(payDetail);
|
||||
count++;
|
||||
if (isNeedMinusSign) {
|
||||
totalAmount -= payDetail.getAmount();
|
||||
} else {
|
||||
totalAmount += payDetail.getAmount();
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (IllegalStateException e) {
|
||||
// Handle cursor window size exceeded error
|
||||
android.util.Log.e("QRSettlement", "Database cursor error - likely due to large data size", e);
|
||||
showEmptyDataView();
|
||||
settlementViewModel.isNoData.setValue(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (qrTransactionsList.isEmpty()) {
|
||||
showEmptyDataView();
|
||||
settlementViewModel.isNoData.setValue(true);
|
||||
} else {
|
||||
|
||||
showDataView();
|
||||
settlementViewModel.isNoData.setValue(false);
|
||||
|
||||
setupSettlementDisplayData();
|
||||
}
|
||||
|
||||
} else {
|
||||
showEmptyDataView();
|
||||
settlementViewModel.isNoData.setValue(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void observeQRLastSettlementTransactions() {
|
||||
List<PayDetail> payDetailList = managementViewModel.payDetails.getValue();
|
||||
if( payDetailList != null) {
|
||||
qrTransactionsList.clear();
|
||||
count = 0;
|
||||
totalAmount = 0;
|
||||
|
||||
try {
|
||||
for (PayDetail payDetail : payDetailList) {
|
||||
// Filter for QR transactions only
|
||||
if ((payDetail.getTransactionType() == TransactionsType.MMQR.value
|
||||
@ -163,50 +215,12 @@ public class QRSettlementTransactionFragment extends DataBindingFragment impleme
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (qrTransactionsList.isEmpty()) {
|
||||
showEmptyDataView();
|
||||
settlementViewModel.isNoData.setValue(true);
|
||||
} else {
|
||||
|
||||
showDataView();
|
||||
settlementViewModel.isNoData.setValue(false);
|
||||
|
||||
setupSettlementDisplayData();
|
||||
}
|
||||
|
||||
// setupSettlementDisplayData();
|
||||
|
||||
} else {
|
||||
} catch (IllegalStateException e) {
|
||||
// Handle cursor window size exceeded error
|
||||
android.util.Log.e("QRSettlement", "Database cursor error in last settlement - likely due to large data size", e);
|
||||
showEmptyDataView();
|
||||
settlementViewModel.isNoData.setValue(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void observeQRLastSettlementTransactions() {
|
||||
List<PayDetail> payDetailList = managementViewModel.payDetails.getValue();
|
||||
if( payDetailList != null) {
|
||||
qrTransactionsList.clear();
|
||||
count = 0;
|
||||
totalAmount = 0;
|
||||
|
||||
for (PayDetail payDetail : payDetailList) {
|
||||
// Filter for QR transactions only
|
||||
if ((payDetail.getTransactionType() == TransactionsType.MMQR.value
|
||||
|| payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value)
|
||||
&& payDetail.getQrTransStatus() == 1
|
||||
&& POSUtil.getInstance().getYesterdayDate().compareTo(POSUtil.getInstance().getDateByString(payDetail.transDate)) < 1) {
|
||||
|
||||
boolean isNeedMinusSign = payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value;
|
||||
qrTransactionsList.add(payDetail);
|
||||
count++;
|
||||
if (isNeedMinusSign) {
|
||||
totalAmount -= payDetail.getAmount();
|
||||
} else {
|
||||
totalAmount += payDetail.getAmount();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (qrTransactionsList.isEmpty()) {
|
||||
@ -217,8 +231,6 @@ public class QRSettlementTransactionFragment extends DataBindingFragment impleme
|
||||
settlementViewModel.isNoData.setValue(false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
showEmptyDataView();
|
||||
settlementViewModel.isNoData.setValue(true);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user