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.LogUtil;
|
||||||
import com.utsmyanmar.paylibs.utils.enums.HostType;
|
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 {
|
public class ReprintReceiptFragment extends DataBindingFragment {
|
||||||
|
|
||||||
@ -150,6 +152,8 @@ public class ReprintReceiptFragment extends DataBindingFragment {
|
|||||||
navigateMainScreen();
|
navigateMainScreen();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
sharedViewModel.totalAmount.postValue(payDetail.getAmount());
|
||||||
|
sharedViewModel.setAmount(POSUtil.getInstance().getDecimalAmountSeparatorFormat(payDetail.getAmount()));
|
||||||
String transType = payDetail.getTransType();
|
String transType = payDetail.getTransType();
|
||||||
if (transType == null) {
|
if (transType == null) {
|
||||||
transType = "";
|
transType = "";
|
||||||
@ -177,7 +181,7 @@ public class ReprintReceiptFragment extends DataBindingFragment {
|
|||||||
|
|
||||||
private void printReceipt(PayDetail payDetail) {
|
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);
|
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() {
|
private void observeLastSettlement() {
|
||||||
managementViewModel.getLastSettlement(SystemParamsOperation.getInstance().getCurrentSerialNum()).observe(getViewLifecycleOwner(), new Observer<List<PayDetail>>() {
|
HostType hostType = sharedViewModel.hostType.getValue();
|
||||||
@Override
|
if (hostType == HostType.QR) {
|
||||||
public void onChanged(List<PayDetail> payDetails) {
|
managementViewModel.getLastSettlementQR(SystemParamsOperation.getInstance().getCurrentSerialNum())
|
||||||
if (payDetails != null) {
|
.observe(getViewLifecycleOwner(), payDetails -> handleLastSettlement(payDetails, HostType.QR));
|
||||||
if (!payDetails.isEmpty()) {
|
} else {
|
||||||
managementViewModel.payDetails.setValue(payDetails);
|
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;
|
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;
|
routeId = R.id.action_selectHostFragment_to_settlementTransactionFragment;
|
||||||
} else {
|
} else {
|
||||||
showSingleInfoDialog(getString(R.string.txt_no_trans_to_print));
|
showSingleInfoDialog(getString(R.string.txt_no_trans_to_print));
|
||||||
routeId = R.id.action_selectHostFragment_to_nav_main;
|
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();
|
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 -> {
|
settlementViewModel.getLastSettlement(SystemParamsOperation.getInstance().getCurrentSerialNum()).observe(getViewLifecycleOwner(), payDetails -> {
|
||||||
if (payDetails != null) {
|
if (payDetails != null) {
|
||||||
if (!payDetails.isEmpty()) {
|
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();
|
saleCount = payDetail.getSettleDataObj().getSaleCount();
|
||||||
@ -164,6 +177,7 @@ public class SettlementTransactionFragment extends DataBindingFragment implement
|
|||||||
settlementViewModel.setPayDetails(payDetails);
|
settlementViewModel.setPayDetails(payDetails);
|
||||||
|
|
||||||
managementViewModel.payDetail.setValue(payDetail);
|
managementViewModel.payDetail.setValue(payDetail);
|
||||||
|
sharedViewModel.payDetail.setValue(payDetail);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user