Update InputRRNFragment.java

This commit is contained in:
MooN 2026-02-18 21:28:49 +06:30
parent b7830491d5
commit 74bed47d68

View File

@ -479,15 +479,19 @@ public class InputRRNFragment extends DataBindingFragment {
} }
private void refundProcessEmv(boolean isECR) { private void refundProcessEmv(boolean isECR) {
PayDetail payDetail = emvTransactionProcessViewModel.getPayDetail(); rrnViewModel.searchPayDetail(cardNo, rrnNo).observe(getViewLifecycleOwner(), payDetail -> {
payDetail.setReferNo(rrnNo); if (payDetail != null && isCurrentBatchUnsettled(payDetail)) {
terminatedTransRefund(isECR);
return;
}
PayDetail newPay = emvTransactionProcessViewModel.getPayDetail();
newPay.setReferNo(rrnNo);
emvTransactionProcessViewModel.setPayDetail(newPay);
emvTransactionProcessViewModel.setPayDetail(payDetail); sharedViewModel.rrNNo.setValue(rrnNo);
callNextScreen();
sharedViewModel.rrNNo.setValue(rrnNo); });
callNextScreen();
} }
private void checkRRNRefund(boolean isECR) { private void checkRRNRefund(boolean isECR) {
@ -518,6 +522,11 @@ public class InputRRNFragment extends DataBindingFragment {
LogUtil.d(TAG,"Trans Type:"+payDetail.getTransactionType()); LogUtil.d(TAG,"Trans Type:"+payDetail.getTransactionType());
if (isCurrentBatchUnsettled(payDetail)) {
terminatedTransRefund(isECR);
return;
}
if(payDetail.getTransactionType() != TransactionsType.SALE.value) { if(payDetail.getTransactionType() != TransactionsType.SALE.value) {
terminatedTransRefund(isECR); terminatedTransRefund(isECR);
return; return;
@ -559,6 +568,17 @@ public class InputRRNFragment extends DataBindingFragment {
} }
private boolean isCurrentBatchUnsettled(PayDetail payDetail) {
if (payDetail == null) {
return false;
}
String currentBatch = SystemParamsOperation.getInstance().getCurrentBatchNum();
String batchNo = payDetail.getBatchNo();
return batchNo != null
&& batchNo.equals(currentBatch)
&& !payDetail.isSettle;
}
private void terminatedTransRefund(boolean isECR) { private void terminatedTransRefund(boolean isECR) {
showDeclineDialog(getResourceString(R.string.txt_refund_not_allow)); showDeclineDialog(getResourceString(R.string.txt_refund_not_allow));
if (isECR) { if (isECR) {