settlement receipt changed
This commit is contained in:
parent
9e119e7c7e
commit
aad5652988
@ -67,6 +67,7 @@ public class SettlementTransactionFragment extends DataBindingFragment implement
|
|||||||
private final CurrencyBucket mmkBucket = new CurrencyBucket();
|
private final CurrencyBucket mmkBucket = new CurrencyBucket();
|
||||||
private final CurrencyBucket usdBucket = new CurrencyBucket();
|
private final CurrencyBucket usdBucket = new CurrencyBucket();
|
||||||
|
|
||||||
|
private List<PayDetail> cardTransactionsList = new ArrayList<>();
|
||||||
private final ArrayList<PayDetail> qrTransactionsList = new ArrayList<>();
|
private final ArrayList<PayDetail> qrTransactionsList = new ArrayList<>();
|
||||||
private final ArrayList<PayDetail> qrTransListAll = new ArrayList<>();
|
private final ArrayList<PayDetail> qrTransListAll = new ArrayList<>();
|
||||||
private int qrSaleCount = 0;
|
private int qrSaleCount = 0;
|
||||||
@ -243,6 +244,7 @@ public class SettlementTransactionFragment extends DataBindingFragment implement
|
|||||||
settlementViewModel.getSettlementPOS().observe(getViewLifecycleOwner(), payDetails -> {
|
settlementViewModel.getSettlementPOS().observe(getViewLifecycleOwner(), payDetails -> {
|
||||||
resetSettlementCounters();
|
resetSettlementCounters();
|
||||||
if(payDetails != null && !payDetails.isEmpty()) {
|
if(payDetails != null && !payDetails.isEmpty()) {
|
||||||
|
cardTransactionsList = payDetails;
|
||||||
|
|
||||||
for(PayDetail payDetail:payDetails) {
|
for(PayDetail payDetail:payDetails) {
|
||||||
int transType = payDetail.getTransactionType();
|
int transType = payDetail.getTransactionType();
|
||||||
@ -584,7 +586,13 @@ public class SettlementTransactionFragment extends DataBindingFragment implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateData() {
|
private void updateData() {
|
||||||
sharedViewModel.payDetail.setValue(settlementViewModel.getPayDetail());
|
PayDetail payDetail = settlementViewModel.getPayDetail();
|
||||||
|
|
||||||
|
if (cardTransactionsList != null && !cardTransactionsList.isEmpty()) {
|
||||||
|
payDetail.setCardSettleData(CardSettleData.convertFromPayDetail(cardTransactionsList));
|
||||||
|
}
|
||||||
|
|
||||||
|
sharedViewModel.payDetail.setValue(payDetail);
|
||||||
|
|
||||||
EReceiptRequest request = EReceiptUtil.getInstance().generateMPUReceipt(sharedViewModel.payDetail.getValue());
|
EReceiptRequest request = EReceiptUtil.getInstance().generateMPUReceipt(sharedViewModel.payDetail.getValue());
|
||||||
|
|
||||||
|
|||||||
@ -213,6 +213,12 @@ public abstract class BaseXPrint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void printTransDetailSettlement(PayDetail payDetail) {
|
protected void printTransDetailSettlement(PayDetail payDetail) {
|
||||||
|
List<CardSettleData> cardSettleDataList = payDetail.getCardSettleData();
|
||||||
|
if (cardSettleDataList != null && !cardSettleDataList.isEmpty()) {
|
||||||
|
printTransDetailSettlement(payDetail, cardSettleDataList);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
SettleData settleData = payDetail.getSettleDataObj();
|
SettleData settleData = payDetail.getSettleDataObj();
|
||||||
print3ColumnsString("TRX TYPE ", "CNT", "AMOUNT");
|
print3ColumnsString("TRX TYPE ", "CNT", "AMOUNT");
|
||||||
print3ColumnsString("SALE ", countStringFormat(settleData.getSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount(), SystemParamsOperation.getInstance().getDecimalEnable()));
|
print3ColumnsString("SALE ", countStringFormat(settleData.getSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount(), SystemParamsOperation.getInstance().getDecimalEnable()));
|
||||||
@ -270,32 +276,40 @@ public abstract class BaseXPrint {
|
|||||||
protected void printMMQRReport(List<QRSettleData> qrList) {
|
protected void printMMQRReport(List<QRSettleData> qrList) {
|
||||||
if (qrList == null || qrList.isEmpty()) return;
|
if (qrList == null || qrList.isEmpty()) return;
|
||||||
|
|
||||||
boolean isDecimalEnabled = SystemParamsOperation.getInstance().isQrDecimalEnable();
|
|
||||||
long saleTotal = 0;
|
long saleTotal = 0;
|
||||||
long refundTotal = 0;
|
long refundTotal = 0;
|
||||||
int saleCount = 0;
|
|
||||||
int refundCount = 0;
|
|
||||||
|
|
||||||
for (QRSettleData data : qrList) {
|
|
||||||
if (data.getTransactionType() == TransactionsType.MMQR_REFUND.value) {
|
|
||||||
refundTotal += data.getAmount();
|
|
||||||
refundCount++;
|
|
||||||
} else {
|
|
||||||
saleTotal += data.getAmount();
|
|
||||||
saleCount++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
long grandTotal = saleTotal - refundTotal;
|
|
||||||
|
|
||||||
emptyLine(1);
|
emptyLine(1);
|
||||||
dashBreak();
|
dashBreak();
|
||||||
printString("MMQR REPORT", true);
|
printString("MMQR REPORT", true);
|
||||||
dashBreak();
|
dashBreak();
|
||||||
print3ColumnsString("QR SALE ", countStringFormat(saleCount), "MMK " + PrintUtils.getInstance().getSeparatorNumberFormat(saleTotal, isDecimalEnabled));
|
|
||||||
print3ColumnsString("QR REFUND ", countStringFormat(refundCount), "MMK -" + PrintUtils.getInstance().getSeparatorNumberFormat(refundTotal, isDecimalEnabled));
|
for (QRSettleData data : qrList) {
|
||||||
dotBreak();
|
if (data.getTransactionType() == TransactionsType.MMQR_REFUND.value) {
|
||||||
print3ColumnsString("QR TOTAL ", countStringFormat(saleCount + refundCount), "MMK " + PrintUtils.getInstance().getSeparatorNumberFormat(grandTotal, isDecimalEnabled));
|
refundTotal += data.getAmount();
|
||||||
|
} else {
|
||||||
|
saleTotal += data.getAmount();
|
||||||
|
}
|
||||||
|
|
||||||
|
printString("Trans Id:" + data.getTransId());
|
||||||
|
printString("Status :" + data.getStatus());
|
||||||
|
printString("Date :" + data.getDate());
|
||||||
|
printString("Time :" + data.getTime());
|
||||||
|
printString("Amount : MMK "
|
||||||
|
+ (data.getTransactionType() == TransactionsType.MMQR_REFUND.value ? "-" : "")
|
||||||
|
+ PrintUtils.getInstance().getSeparatorOnlyNumberFormat(data.getAmount()));
|
||||||
|
emptyLine(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
long grandTotal = saleTotal - refundTotal;
|
||||||
|
|
||||||
|
dashBreak();
|
||||||
|
printer.appendPrnStr("Refund Total:MMK", "- " + PrintUtils.getInstance().getSeparatorOnlyNumberFormat(refundTotal) + " ", fontNormal, false);
|
||||||
|
dashBreak();
|
||||||
|
printer.appendPrnStr("Sale Total :MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(saleTotal) + " ", fontNormal, false);
|
||||||
|
dashBreak();
|
||||||
|
printer.appendPrnStr("Grand Total :MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(grandTotal) + " ", fontNormal, false);
|
||||||
|
dashBreakEnding();
|
||||||
emptyLine(1);
|
emptyLine(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user