seperated QR and Card Latest Transaction Records
This commit is contained in:
parent
e873606e4c
commit
7b8728da8f
@ -27,6 +27,8 @@ import java.util.List;
|
||||
|
||||
import com.utsmyanmar.paylibs.utils.LogUtil;
|
||||
import com.utsmyanmar.paylibs.utils.enums.HostType;
|
||||
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
|
||||
import com.utsmyanmar.paylibs.utils.POSUtil;
|
||||
|
||||
public class ReprintReceiptFragment extends DataBindingFragment {
|
||||
|
||||
@ -150,6 +152,8 @@ public class ReprintReceiptFragment extends DataBindingFragment {
|
||||
navigateMainScreen();
|
||||
return;
|
||||
}
|
||||
sharedViewModel.totalAmount.postValue(payDetail.getAmount());
|
||||
sharedViewModel.setAmount(POSUtil.getInstance().getDecimalAmountSeparatorFormat(payDetail.getAmount()));
|
||||
String transType = payDetail.getTransType();
|
||||
if (transType == null) {
|
||||
transType = "";
|
||||
@ -177,7 +181,7 @@ public class ReprintReceiptFragment extends DataBindingFragment {
|
||||
|
||||
private void printReceipt(PayDetail payDetail) {
|
||||
|
||||
if(sharedViewModel.hostType.getValue() == HostType.QR) {
|
||||
if (payDetail.getTransactionType() == TransactionsType.MMQR_SETTLEMENT.value) {
|
||||
|
||||
PrintXReceipt.getInstance().printQRSettlementReport(payDetail, payDetail.getQrSettleData(), printXStatus);
|
||||
|
||||
|
||||
@ -265,38 +265,59 @@ public class SelectHostFragment extends DataBindingFragment implements DataBindi
|
||||
});
|
||||
}
|
||||
|
||||
private PayDetail findLastByType(List<PayDetail> payDetails, int transactionType) {
|
||||
if (payDetails == null) {
|
||||
return null;
|
||||
}
|
||||
for (int i = payDetails.size() - 1; i >= 0; i--) {
|
||||
PayDetail payDetail = payDetails.get(i);
|
||||
if (payDetail != null && payDetail.getTransactionType() == transactionType) {
|
||||
return payDetail;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void observeLastSettlement() {
|
||||
managementViewModel.getLastSettlement(SystemParamsOperation.getInstance().getCurrentSerialNum()).observe(getViewLifecycleOwner(), new Observer<List<PayDetail>>() {
|
||||
@Override
|
||||
public void onChanged(List<PayDetail> payDetails) {
|
||||
if (payDetails != null) {
|
||||
if (!payDetails.isEmpty()) {
|
||||
managementViewModel.payDetails.setValue(payDetails);
|
||||
HostType hostType = sharedViewModel.hostType.getValue();
|
||||
if (hostType == HostType.QR) {
|
||||
managementViewModel.getLastSettlementQR(SystemParamsOperation.getInstance().getCurrentSerialNum())
|
||||
.observe(getViewLifecycleOwner(), payDetails -> handleLastSettlement(payDetails, HostType.QR));
|
||||
} else {
|
||||
managementViewModel.getLastSettlement(SystemParamsOperation.getInstance().getCurrentSerialNum())
|
||||
.observe(getViewLifecycleOwner(), payDetails -> handleLastSettlement(payDetails, hostType));
|
||||
}
|
||||
}
|
||||
|
||||
PayDetail payDetail = payDetails.get(payDetails.size() - 1);
|
||||
private void handleLastSettlement(List<PayDetail> payDetails, HostType hostType) {
|
||||
if (payDetails == null || payDetails.isEmpty()) {
|
||||
showSingleInfoDialog(getString(R.string.txt_no_trans_to_print));
|
||||
routeId = R.id.action_selectHostFragment_to_nav_main;
|
||||
safeNavigateToRouteId();
|
||||
return;
|
||||
}
|
||||
|
||||
if(sharedViewModel.hostType.getValue() == HostType.QR && payDetail.getTransactionType() == TransactionsType.MMQR_SETTLEMENT.value) {
|
||||
PayDetail payDetail;
|
||||
if (hostType == HostType.QR) {
|
||||
payDetail = findLastByType(payDetails, TransactionsType.MMQR_SETTLEMENT.value);
|
||||
if (payDetail != null) {
|
||||
managementViewModel.payDetails.setValue(java.util.Collections.singletonList(payDetail));
|
||||
routeId = R.id.action_selectHostFragment_to_QRSettlementTransactionFragment;
|
||||
} else if(sharedViewModel.hostType.getValue() != HostType.MPU && payDetail.getTransactionType() == TransactionsType.SETTLEMENT.value) {
|
||||
} else {
|
||||
showSingleInfoDialog(getString(R.string.txt_no_trans_to_print));
|
||||
routeId = R.id.action_selectHostFragment_to_nav_main;
|
||||
}
|
||||
} else {
|
||||
payDetail = findLastByType(payDetails, TransactionsType.SETTLEMENT.value);
|
||||
if (payDetail != null) {
|
||||
routeId = R.id.action_selectHostFragment_to_settlementTransactionFragment;
|
||||
} else {
|
||||
showSingleInfoDialog(getString(R.string.txt_no_trans_to_print));
|
||||
routeId = R.id.action_selectHostFragment_to_nav_main;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
showSingleInfoDialog(getString(R.string.txt_no_trans_to_print));
|
||||
routeId = R.id.action_selectHostFragment_to_nav_main;
|
||||
}
|
||||
safeNavigateToRouteId();
|
||||
} else {
|
||||
showSingleInfoDialog(getString(R.string.txt_no_trans_to_print));
|
||||
routeId = R.id.action_selectHostFragment_to_nav_main;
|
||||
safeNavigateToRouteId();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -142,7 +142,20 @@ public class SettlementTransactionFragment extends DataBindingFragment implement
|
||||
settlementViewModel.getLastSettlement(SystemParamsOperation.getInstance().getCurrentSerialNum()).observe(getViewLifecycleOwner(), payDetails -> {
|
||||
if (payDetails != null) {
|
||||
if (!payDetails.isEmpty()) {
|
||||
PayDetail payDetail = payDetails.get(payDetails.size() - 1);
|
||||
PayDetail payDetail = null;
|
||||
for (int i = payDetails.size() - 1; i >= 0; i--) {
|
||||
PayDetail candidate = payDetails.get(i);
|
||||
if (candidate != null && candidate.getTransactionType() == TransactionsType.SETTLEMENT.value) {
|
||||
payDetail = candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (payDetail == null) {
|
||||
settlementViewModel.isNoData.setValue(true);
|
||||
setSettlementViewModelData(0, 0, 0, 0, 0, 0, 0, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
saleCount = payDetail.getSettleDataObj().getSaleCount();
|
||||
@ -164,6 +177,7 @@ public class SettlementTransactionFragment extends DataBindingFragment implement
|
||||
settlementViewModel.setPayDetails(payDetails);
|
||||
|
||||
managementViewModel.payDetail.setValue(payDetail);
|
||||
sharedViewModel.payDetail.setValue(payDetail);
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user