combined settlement receipt
This commit is contained in:
parent
808e87b2f9
commit
9e119e7c7e
@ -494,7 +494,11 @@ public class SharedViewModel extends ViewModel {
|
|||||||
|
|
||||||
if (payDetail.getValue() == null) return;
|
if (payDetail.getValue() == null) return;
|
||||||
|
|
||||||
PrintXReceipt.getInstance().printSmileSettlementReport(payDetail.getValue(), printXStatus);
|
if (payDetails.getValue() != null && !payDetails.getValue().isEmpty()) {
|
||||||
|
PrintXReceipt.getInstance().printSmileSettlementReport(payDetail.getValue(), QRSettleData.convertFromPayDetail(payDetails.getValue()), printXStatus);
|
||||||
|
} else {
|
||||||
|
PrintXReceipt.getInstance().printSmileSettlementReport(payDetail.getValue(), printXStatus);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startPrintProcessQRSettlement(PrintXStatus printXStatus) {
|
private void startPrintProcessQRSettlement(PrintXStatus printXStatus) {
|
||||||
|
|||||||
@ -331,7 +331,7 @@ public class QRSettlementTransactionFragment extends DataBindingFragment impleme
|
|||||||
|
|
||||||
sharedViewModel.setAmount(POSUtil.getInstance().getDecimalAmountSeparatorFormat(totalAmount));
|
sharedViewModel.setAmount(POSUtil.getInstance().getDecimalAmountSeparatorFormat(totalAmount));
|
||||||
|
|
||||||
sharedViewModel.payDetails.setValue(qrTransactionsList);
|
sharedViewModel.payDetails.setValue(new ArrayList<>(qrTransactionsList));
|
||||||
sharedViewModel.payDetail.setValue(payDetail);
|
sharedViewModel.payDetail.setValue(payDetail);
|
||||||
|
|
||||||
for (PayDetail pay : qrTransactionsList) {
|
for (PayDetail pay : qrTransactionsList) {
|
||||||
|
|||||||
@ -612,7 +612,7 @@ public class SettlementTransactionFragment extends DataBindingFragment implement
|
|||||||
sharedViewModel.insertPayDetail(payDetail);
|
sharedViewModel.insertPayDetail(payDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
sharedViewModel.payDetails.setValue(qrTransactionsList);
|
sharedViewModel.payDetails.setValue(new ArrayList<>(qrTransactionsList));
|
||||||
|
|
||||||
for (PayDetail pay : qrTransactionsList) {
|
for (PayDetail pay : qrTransactionsList) {
|
||||||
settlementViewModel.deletePayDetail(pay);
|
settlementViewModel.deletePayDetail(pay);
|
||||||
|
|||||||
@ -267,6 +267,38 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void printMMQRReport(List<QRSettleData> qrList) {
|
||||||
|
if (qrList == null || qrList.isEmpty()) return;
|
||||||
|
|
||||||
|
boolean isDecimalEnabled = SystemParamsOperation.getInstance().isQrDecimalEnable();
|
||||||
|
long saleTotal = 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);
|
||||||
|
dashBreak();
|
||||||
|
printString("MMQR REPORT", true);
|
||||||
|
dashBreak();
|
||||||
|
print3ColumnsString("QR SALE ", countStringFormat(saleCount), "MMK " + PrintUtils.getInstance().getSeparatorNumberFormat(saleTotal, isDecimalEnabled));
|
||||||
|
print3ColumnsString("QR REFUND ", countStringFormat(refundCount), "MMK -" + PrintUtils.getInstance().getSeparatorNumberFormat(refundTotal, isDecimalEnabled));
|
||||||
|
dotBreak();
|
||||||
|
print3ColumnsString("QR TOTAL ", countStringFormat(saleCount + refundCount), "MMK " + PrintUtils.getInstance().getSeparatorNumberFormat(grandTotal, isDecimalEnabled));
|
||||||
|
emptyLine(1);
|
||||||
|
}
|
||||||
|
|
||||||
private void printSettlementCurrencySection(String currencyLabel, CurrencySettlementSummary summary) {
|
private void printSettlementCurrencySection(String currencyLabel, CurrencySettlementSummary summary) {
|
||||||
// if (!summary.hasAnyValue()) {
|
// if (!summary.hasAnyValue()) {
|
||||||
// return;
|
// return;
|
||||||
|
|||||||
@ -24,6 +24,8 @@ public interface PrintX {
|
|||||||
|
|
||||||
void printSmileSettlementReport(PayDetail payDetail,PrintXStatus printXStatus);
|
void printSmileSettlementReport(PayDetail payDetail,PrintXStatus printXStatus);
|
||||||
|
|
||||||
|
void printSmileSettlementReport(PayDetail payDetail, List<QRSettleData> qrList, PrintXStatus printXStatus);
|
||||||
|
|
||||||
void printQRSettlementReport(PayDetail payDetail, List<QRSettleData> list, PrintXStatus printXStatus);
|
void printQRSettlementReport(PayDetail payDetail, List<QRSettleData> list, PrintXStatus printXStatus);
|
||||||
|
|
||||||
void printDetailReport(PayDetail payDetail, List<PayDetail> lists, HostType hostType,PrintXStatus printXStatus);
|
void printDetailReport(PayDetail payDetail, List<PayDetail> lists, HostType hostType,PrintXStatus printXStatus);
|
||||||
|
|||||||
@ -203,6 +203,29 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void printSmileSettlementReport(PayDetail payDetail, List<QRSettleData> qrList, PrintXStatus printXStatus) {
|
||||||
|
|
||||||
|
this.callbackStatus = printXStatus;
|
||||||
|
|
||||||
|
try {
|
||||||
|
LogUtil.d(TAG, payDetail.getSettleDataObj().toString());
|
||||||
|
|
||||||
|
setHeight(0x12);
|
||||||
|
printLogo();
|
||||||
|
printMerchantHeader();
|
||||||
|
printTransHeader(payDetail);
|
||||||
|
printTransDetailSettlement(payDetail);
|
||||||
|
printMMQRReport(qrList);
|
||||||
|
printTransFooterForSettlement();
|
||||||
|
|
||||||
|
emptyLine(1);
|
||||||
|
startPrintNex();
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void printQRSettlementReport(PayDetail payDetail, List<QRSettleData> list, PrintXStatus printXStatus) {
|
public void printQRSettlementReport(PayDetail payDetail, List<QRSettleData> list, PrintXStatus printXStatus) {
|
||||||
this.callbackStatus = printXStatus;
|
this.callbackStatus = printXStatus;
|
||||||
|
|||||||
@ -36,6 +36,10 @@ public class PrintXReceipt {
|
|||||||
printX.printSmileSettlementReport(payDetail,printXStatus);
|
printX.printSmileSettlementReport(payDetail,printXStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void printSmileSettlementReport(PayDetail payDetail, List<QRSettleData> qrList, PrintXStatus printXStatus) {
|
||||||
|
printX.printSmileSettlementReport(payDetail, qrList, printXStatus);
|
||||||
|
}
|
||||||
|
|
||||||
public void printQRSettlementReport(PayDetail payDetail, List<QRSettleData> lists, PrintXStatus printXStatus) {
|
public void printQRSettlementReport(PayDetail payDetail, List<QRSettleData> lists, PrintXStatus printXStatus) {
|
||||||
printX.printQRSettlementReport(payDetail,lists,printXStatus);
|
printX.printQRSettlementReport(payDetail,lists,printXStatus);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user