Compare commits
No commits in common. "820dcf9aa672b134f27a19d2c1843ef4641078b8" and "f646c62362df7461da4076c7eb7541df106d8944" have entirely different histories.
820dcf9aa6
...
f646c62362
@ -14,8 +14,8 @@ android {
|
|||||||
applicationId "com.utsmm.kbz"
|
applicationId "com.utsmm.kbz"
|
||||||
minSdk 24
|
minSdk 24
|
||||||
targetSdk 33
|
targetSdk 33
|
||||||
versionCode 26
|
versionCode 28
|
||||||
versionName "2.6"
|
versionName "2.8"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -244,7 +244,6 @@ public abstract class BaseXPrint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void printTransDetailSettlement(PayDetail payDetail, List<CardSettleData> cardSettleDataList) {
|
protected void printTransDetailSettlement(PayDetail payDetail, List<CardSettleData> cardSettleDataList) {
|
||||||
boolean isDecimalEnabled = SystemParamsOperation.getInstance().getDecimalEnable();
|
|
||||||
|
|
||||||
lineBreak();
|
lineBreak();
|
||||||
print2SideStringMargin("CARD TYPE ","CARD NUMBER");
|
print2SideStringMargin("CARD TYPE ","CARD NUMBER");
|
||||||
@ -256,7 +255,7 @@ public abstract class BaseXPrint {
|
|||||||
for (CardSettleData cardSettleData:cardSettleDataList) {
|
for (CardSettleData cardSettleData:cardSettleDataList) {
|
||||||
print2SideStringMargin(cardSettleData.getCardType(),PrintUtils.getInstance().maskCardNumberPciDss(cardSettleData.getCardNum()));
|
print2SideStringMargin(cardSettleData.getCardType(),PrintUtils.getInstance().maskCardNumberPciDss(cardSettleData.getCardNum()));
|
||||||
print2SideStringMargin("XX/XX",cardSettleData.getInvoiceNum());
|
print2SideStringMargin("XX/XX",cardSettleData.getInvoiceNum());
|
||||||
print2SideStringMargin(cardSettleData.getTransType(),"MMK "+PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount(), isDecimalEnabled));
|
print2SideStringMargin(cardSettleData.getTransType(),"MMK "+PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount(),true));
|
||||||
print2SideStringMargin(cardSettleData.getApprovalCode(),cardSettleData.getTransDate() + " " + cardSettleData.getTransTime() );
|
print2SideStringMargin(cardSettleData.getApprovalCode(),cardSettleData.getTransDate() + " " + cardSettleData.getTransTime() );
|
||||||
emptyLine(1);
|
emptyLine(1);
|
||||||
}
|
}
|
||||||
@ -267,23 +266,23 @@ public abstract class BaseXPrint {
|
|||||||
long totalAmount = settleData.getSaleAmount() + settleData.getPreAuthCompAmount() + settleData.getCashAdvanceAmount();
|
long totalAmount = settleData.getSaleAmount() + settleData.getPreAuthCompAmount() + settleData.getCashAdvanceAmount();
|
||||||
|
|
||||||
print3ColumnsString("TRX TYPE ", "CNT", "AMOUNT");
|
print3ColumnsString("TRX TYPE ", "CNT", "AMOUNT");
|
||||||
print3ColumnsString("SALE ", countStringFormat(settleData.getSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount(), isDecimalEnabled));
|
print3ColumnsString("SALE ", countStringFormat(settleData.getSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount()));
|
||||||
print3ColumnsString("VOID SALE ", countStringFormat(settleData.getVoidSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getVoidSaleAmount(), isDecimalEnabled));
|
print3ColumnsString("VOID SALE ", countStringFormat(settleData.getVoidSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getVoidSaleAmount()));
|
||||||
print3ColumnsString("PREAUTH COMP ", countStringFormat(settleData.getPreAuthCompCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getPreAuthCompAmount(), isDecimalEnabled));
|
print3ColumnsString("PREAUTH COMP ", countStringFormat(settleData.getPreAuthCompCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getPreAuthCompAmount()));
|
||||||
if (settleData.getCashAdvanceCount() != 0)
|
if (settleData.getCashAdvanceCount() != 0)
|
||||||
print3ColumnsString("CASH ADV ", countStringFormat(settleData.getCashAdvanceCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getCashAdvanceAmount(), isDecimalEnabled));
|
print3ColumnsString("CASH ADV ", countStringFormat(settleData.getCashAdvanceCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getCashAdvanceAmount()));
|
||||||
print3ColumnsString("REFUND ", countStringFormat(settleData.getRefundCount()), "- " + PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getRefundAmount(), isDecimalEnabled));
|
print3ColumnsString("REFUND ", countStringFormat(settleData.getRefundCount()), "- " + PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getRefundAmount()));
|
||||||
emptyLine(1);
|
emptyLine(1);
|
||||||
printer.appendPrnStr("GRAND TOTAL", fontLarge, AlignEnum.LEFT,true);
|
printer.appendPrnStr("GRAND TOTAL", fontLarge, AlignEnum.LEFT,true);
|
||||||
emptyLine(1);
|
emptyLine(1);
|
||||||
// print3ColumnsString("TOTAL(MMK) ", countStringFormat(totalCount), PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount));
|
// print3ColumnsString("TOTAL(MMK) ", countStringFormat(totalCount), PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount));
|
||||||
print3ColumnsString("TRX TYPE ", "CNT", "AMOUNT");
|
print3ColumnsString("TRX TYPE ", "CNT", "AMOUNT");
|
||||||
print3ColumnsString("SALE ", countStringFormat(settleData.getSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount(), isDecimalEnabled));
|
print3ColumnsString("SALE ", countStringFormat(settleData.getSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount()));
|
||||||
print3ColumnsString("VOID SALE ", countStringFormat(settleData.getVoidSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getVoidSaleAmount(), isDecimalEnabled));
|
print3ColumnsString("VOID SALE ", countStringFormat(settleData.getVoidSaleCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getVoidSaleAmount()));
|
||||||
print3ColumnsString("PREAUTH COMP ", countStringFormat(settleData.getPreAuthCompCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getPreAuthCompAmount(), isDecimalEnabled));
|
print3ColumnsString("PREAUTH COMP ", countStringFormat(settleData.getPreAuthCompCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getPreAuthCompAmount()));
|
||||||
if (settleData.getCashAdvanceCount() != 0)
|
if (settleData.getCashAdvanceCount() != 0)
|
||||||
print3ColumnsString("CASH ADV ", countStringFormat(settleData.getCashAdvanceCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getCashAdvanceAmount(), isDecimalEnabled));
|
print3ColumnsString("CASH ADV ", countStringFormat(settleData.getCashAdvanceCount()), PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getCashAdvanceAmount()));
|
||||||
print3ColumnsString("REFUND ", countStringFormat(settleData.getRefundCount()), "- " + PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getRefundAmount(), isDecimalEnabled));
|
print3ColumnsString("REFUND ", countStringFormat(settleData.getRefundCount()), "- " + PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getRefundAmount()));
|
||||||
emptyLine(2);
|
emptyLine(2);
|
||||||
|
|
||||||
|
|
||||||
@ -293,20 +292,19 @@ public abstract class BaseXPrint {
|
|||||||
if (!summary.hasAnyValue()) {
|
if (!summary.hasAnyValue()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
boolean isDecimalEnabled = SystemParamsOperation.getInstance().getDecimalEnable();
|
|
||||||
|
|
||||||
int totalCount = summary.saleCount + summary.preAuthCompCount + summary.refundCount + summary.cashAdvanceCount;
|
int totalCount = summary.saleCount + summary.preAuthCompCount + summary.refundCount + summary.cashAdvanceCount;
|
||||||
long totalAmount = summary.saleAmount + summary.preAuthCompAmount + summary.cashAdvanceAmount - summary.refundAmount;
|
long totalAmount = summary.saleAmount + summary.preAuthCompAmount + summary.cashAdvanceAmount - summary.refundAmount;
|
||||||
|
|
||||||
printString("CURRENCY : " + currencyLabel, true);
|
printString("CURRENCY : " + currencyLabel, true);
|
||||||
print3ColumnsString("TRX TYPE ", "CNT", "AMOUNT");
|
print3ColumnsString("TRX TYPE ", "CNT", "AMOUNT");
|
||||||
print3ColumnsString("SALE ", countStringFormat(summary.saleCount), PrintUtils.getInstance().getSeparatorNumberFormat(summary.saleAmount, isDecimalEnabled));
|
print3ColumnsString("SALE ", countStringFormat(summary.saleCount), PrintUtils.getInstance().getSeparatorNumberFormat(summary.saleAmount));
|
||||||
print3ColumnsString("PREAUTH COMP ", countStringFormat(summary.preAuthCompCount), PrintUtils.getInstance().getSeparatorNumberFormat(summary.preAuthCompAmount, isDecimalEnabled));
|
print3ColumnsString("PREAUTH COMP ", countStringFormat(summary.preAuthCompCount), PrintUtils.getInstance().getSeparatorNumberFormat(summary.preAuthCompAmount));
|
||||||
if (summary.cashAdvanceCount != 0) {
|
if (summary.cashAdvanceCount != 0) {
|
||||||
print3ColumnsString("CASH ADVANCE ", countStringFormat(summary.cashAdvanceCount), PrintUtils.getInstance().getSeparatorNumberFormat(summary.cashAdvanceAmount, isDecimalEnabled));
|
print3ColumnsString("CASH ADVANCE ", countStringFormat(summary.cashAdvanceCount), PrintUtils.getInstance().getSeparatorNumberFormat(summary.cashAdvanceAmount));
|
||||||
}
|
}
|
||||||
print3ColumnsString("REFUND ", countStringFormat(summary.refundCount), "- " + PrintUtils.getInstance().getSeparatorNumberFormat(summary.refundAmount, isDecimalEnabled));
|
print3ColumnsString("REFUND ", countStringFormat(summary.refundCount), "- " + PrintUtils.getInstance().getSeparatorNumberFormat(summary.refundAmount));
|
||||||
print3ColumnsString("TOTAL(" + currencyLabel + ")", countStringFormat(totalCount), PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount, isDecimalEnabled));
|
print3ColumnsString("TOTAL(" + currencyLabel + ")", countStringFormat(totalCount), PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void applyCardSettlementSummary(CurrencySettlementSummary summary, CardSettleData cardSettleData) {
|
private void applyCardSettlementSummary(CurrencySettlementSummary summary, CardSettleData cardSettleData) {
|
||||||
@ -430,11 +428,10 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
boolean isDecimalEnabled = SystemParamsOperation.getInstance().getDecimalEnable();
|
|
||||||
if (payDetail.getTradeAnswerCode().equals("00") || payDetail.getTradeAnswerCode().equals("000")) {
|
if (payDetail.getTradeAnswerCode().equals("00") || payDetail.getTradeAnswerCode().equals("000")) {
|
||||||
if (payDetail.getTransactionType() == TransactionType.CASH_ADVANCE) {
|
if (payDetail.getTransactionType() == TransactionType.CASH_ADVANCE) {
|
||||||
print2ColumnsStringNoSpace("TXN AMOUNT", ":" + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount(), isDecimalEnabled));
|
print2ColumnsStringNoSpace("TXN AMOUNT", ":" + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()));
|
||||||
print2ColumnsStringNoSpace("TXN FEES", ":" + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAdditionalAmount(), isDecimalEnabled));
|
print2ColumnsStringNoSpace("TXN FEES", ":" + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAdditionalAmount()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dotBreak();
|
dotBreak();
|
||||||
@ -445,12 +442,12 @@ public abstract class BaseXPrint {
|
|||||||
printer.appendPrnStr("MMK " + PrintUtils.getInstance().getBalanceInquiryNumberFormat(payDetail.getAmount()), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("MMK " + PrintUtils.getInstance().getBalanceInquiryNumberFormat(payDetail.getAmount()), fontNormal, AlignEnum.LEFT,false);
|
||||||
|
|
||||||
} else if (payDetail.getTransactionType() == TransactionType.VOID || payDetail.getTransactionType() == TransactionType.REFUND || payDetail.getTransactionType() == TransactionType.PRE_SALE_CANCEL || payDetail.getTransactionType() == TransactionType.PRE_SALE_COMPLETE_VOID) {
|
} else if (payDetail.getTransactionType() == TransactionType.VOID || payDetail.getTransactionType() == TransactionType.REFUND || payDetail.getTransactionType() == TransactionType.PRE_SALE_CANCEL || payDetail.getTransactionType() == TransactionType.PRE_SALE_COMPLETE_VOID) {
|
||||||
print2SideString("AMT:" + currencySign, "- " + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount(), isDecimalEnabled));
|
print2SideString("AMT:" + currencySign, "- " + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()));
|
||||||
} else if (payDetail.getTransactionType() == TransactionType.CASH_ADVANCE) {
|
} else if (payDetail.getTransactionType() == TransactionType.CASH_ADVANCE) {
|
||||||
long totalAmount = payDetail.getAmount() + payDetail.getAdditionalAmount();
|
long totalAmount = payDetail.getAmount() + payDetail.getAdditionalAmount();
|
||||||
print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount, isDecimalEnabled));
|
print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount));
|
||||||
} else {
|
} else {
|
||||||
print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount(), isDecimalEnabled));
|
print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()));
|
||||||
}
|
}
|
||||||
dotBreak();
|
dotBreak();
|
||||||
} else {
|
} else {
|
||||||
@ -599,14 +596,13 @@ public abstract class BaseXPrint {
|
|||||||
dotBreak();
|
dotBreak();
|
||||||
// check is pin change
|
// check is pin change
|
||||||
if (payDetail.getTradeAnswerCode().equals("00") || payDetail.getTradeAnswerCode().equals("000")) {
|
if (payDetail.getTradeAnswerCode().equals("00") || payDetail.getTradeAnswerCode().equals("000")) {
|
||||||
boolean isDecimalEnabled = SystemParamsOperation.getInstance().getDecimalEnable();
|
|
||||||
|
|
||||||
String currencySign = currencyCodeToText(payDetail.getCurrencyCode());
|
String currencySign = currencyCodeToText(payDetail.getCurrencyCode());
|
||||||
// CurrencyType currencySign = currencyTextToCurrencyType(payDetail.getCurrencyCode());
|
// CurrencyType currencySign = currencyTextToCurrencyType(payDetail.getCurrencyCode());
|
||||||
if (payDetail.getTransactionType() == TransactionType.BALANCE_INQUIRY) {
|
if (payDetail.getTransactionType() == TransactionType.BALANCE_INQUIRY) {
|
||||||
printer.appendPrnStr("MMK " + PrintUtils.getInstance().getBalanceInquiryNumberFormat(payDetail.getAmount()), fontNormal, AlignEnum.LEFT,true);
|
printer.appendPrnStr("MMK " + PrintUtils.getInstance().getBalanceInquiryNumberFormat(payDetail.getAmount()), fontNormal, AlignEnum.LEFT,true);
|
||||||
} else {
|
} else {
|
||||||
print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount(), isDecimalEnabled));
|
print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()));
|
||||||
// printer.appendPrnStr("AMOUNT:" + currencySign + " " + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()), fontNormal, AlignEnum.LEFT,true);
|
// printer.appendPrnStr("AMOUNT:" + currencySign + " " + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()), fontNormal, AlignEnum.LEFT,true);
|
||||||
}
|
}
|
||||||
dotBreak();
|
dotBreak();
|
||||||
@ -626,12 +622,11 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
private void printColumnString(String label, int count, long amount, boolean isNegative) {
|
private void printColumnString(String label, int count, long amount, boolean isNegative) {
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
boolean isDecimalEnabled = SystemParamsOperation.getInstance().getDecimalEnable();
|
String amountString = PrintUtils.getInstance().getSeparatorNumberFormat(amount);
|
||||||
String amountString = PrintUtils.getInstance().getSeparatorNumberFormat(amount, isDecimalEnabled);
|
|
||||||
if (isNegative) {
|
if (isNegative) {
|
||||||
amountString = "-" + amountString;
|
amountString = "-" + amountString;
|
||||||
}
|
}
|
||||||
printer.appendPrnStr(label + countStringFormat(count) + MMK + " " + amountString, fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr(label + countStringFormat(count) + MMK + " " + PrintUtils.getInstance().getSeparatorNumberFormat(amount), fontNormal, AlignEnum.LEFT,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -767,169 +762,15 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
class TempSummary {
|
class TempSummary {
|
||||||
int saleCount, voidSaleCount, refundCount, cashOutCount;
|
int saleCount, voidSaleCount, refundCount, cashOutCount;
|
||||||
int preAuthSaleCount, preAuthVoidCount;
|
|
||||||
int qrPayCount, qrRefundCount;
|
int qrPayCount, qrRefundCount;
|
||||||
int preAuthCompCount, preAuthCompVoidCount;
|
int preAuthCompCount, preAuthCompVoidCount;
|
||||||
|
|
||||||
long saleAmount, voidSaleAmount, refundAmount, cashOutAmount;
|
long saleAmount, voidSaleAmount, refundAmount, cashOutAmount;
|
||||||
long preAuthSaleAmount, preAuthVoidAmount;
|
|
||||||
long qrPayAmount, qrRefundAmount;
|
long qrPayAmount, qrRefundAmount;
|
||||||
long preAuthCompAmount, preAuthCompVoidAmount;
|
long preAuthCompAmount, preAuthCompVoidAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void applyTempSummary(TempSummary summary, PayDetail item) {
|
|
||||||
int transactionType = item.getTransactionType();
|
|
||||||
long amount = item.getAmount();
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.SALE.value) {
|
|
||||||
summary.saleCount++;
|
|
||||||
summary.saleAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.VOID.value) {
|
|
||||||
summary.voidSaleCount++;
|
|
||||||
summary.voidSaleAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.REFUND.value) {
|
|
||||||
summary.refundCount++;
|
|
||||||
summary.refundAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.CASH_OUT.value) {
|
|
||||||
summary.cashOutCount++;
|
|
||||||
summary.cashOutAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.PRE_AUTH_SALE.value) {
|
|
||||||
summary.preAuthSaleCount++;
|
|
||||||
summary.preAuthSaleAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.PRE_AUTH_VOID.value) {
|
|
||||||
summary.preAuthVoidCount++;
|
|
||||||
summary.preAuthVoidAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.MMQR.value) {
|
|
||||||
summary.qrPayCount++;
|
|
||||||
summary.qrPayAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.MMQR_REFUND.value) {
|
|
||||||
summary.qrRefundCount++;
|
|
||||||
summary.qrRefundAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.PRE_AUTH_COMPLETE.value) {
|
|
||||||
summary.preAuthCompCount++;
|
|
||||||
summary.preAuthCompAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (transactionType == TransactionsType.PRE_AUTH_COMPLETE_VOID.value) {
|
|
||||||
summary.preAuthCompVoidCount++;
|
|
||||||
summary.preAuthCompVoidAmount += amount;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
String transType = item.getTransType() == null ? "" : item.getTransType().trim().toUpperCase(Locale.getDefault());
|
|
||||||
|
|
||||||
switch (transType) {
|
|
||||||
case "SALE":
|
|
||||||
summary.saleCount++;
|
|
||||||
summary.saleAmount += amount;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "VOID SALE":
|
|
||||||
case "VOID_SALE":
|
|
||||||
summary.voidSaleCount++;
|
|
||||||
summary.voidSaleAmount += amount;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "REFUND":
|
|
||||||
summary.refundCount++;
|
|
||||||
summary.refundAmount += amount;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "PRE-AUTH":
|
|
||||||
case "PRE_AUTH_SALE":
|
|
||||||
summary.preAuthSaleCount++;
|
|
||||||
summary.preAuthSaleAmount += amount;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "PREAUTH CANCELLATION":
|
|
||||||
case "PRE_AUTH_VOID":
|
|
||||||
summary.preAuthVoidCount++;
|
|
||||||
summary.preAuthVoidAmount += amount;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "CASH OUT":
|
|
||||||
case "CASH_OUT":
|
|
||||||
case "CASH_ADVANCE":
|
|
||||||
summary.cashOutCount++;
|
|
||||||
summary.cashOutAmount += amount;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "QR_PAY":
|
|
||||||
summary.qrPayCount++;
|
|
||||||
summary.qrPayAmount += amount;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "QR_REFUND":
|
|
||||||
summary.qrRefundCount++;
|
|
||||||
summary.qrRefundAmount += amount;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "PREAUTH COMPLETION":
|
|
||||||
case "PRE_AUTH_COMPLETE":
|
|
||||||
case "PREAUTH_COMP":
|
|
||||||
summary.preAuthCompCount++;
|
|
||||||
summary.preAuthCompAmount += amount;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "VOID PREAUTH COMPLETE":
|
|
||||||
case "PRE_AUTH_COMPLETE_VOID":
|
|
||||||
case "PREAUTH_COMP_VOID":
|
|
||||||
summary.preAuthCompVoidCount++;
|
|
||||||
summary.preAuthCompVoidAmount += amount;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean matchesSummaryHostType(PayDetail item, HostType hostType) {
|
|
||||||
if (hostType == null || item == null) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
int transactionType = item.getTransactionType();
|
|
||||||
|
|
||||||
if (hostType == HostType.QR) {
|
|
||||||
return transactionType == TransactionsType.MMQR.value
|
|
||||||
|| transactionType == TransactionsType.MMQR_REFUND.value;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hostType == HostType.MPU || hostType == HostType.VISA_MASTER) {
|
|
||||||
return transactionType != TransactionsType.MMQR.value
|
|
||||||
&& transactionType != TransactionsType.MMQR_REFUND.value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void printTransDetailSummary(PayDetail payDetail, List<PayDetail> list) {
|
protected void printTransDetailSummary(PayDetail payDetail, List<PayDetail> list) {
|
||||||
printTransDetailSummary(payDetail, list, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void printTransDetailSummary(PayDetail payDetail, List<PayDetail> list, HostType hostType) {
|
|
||||||
|
|
||||||
if (list == null || list.isEmpty()) {
|
if (list == null || list.isEmpty()) {
|
||||||
printErrorBlock("NO TRANSACTION FOUND");
|
printErrorBlock("NO TRANSACTION FOUND");
|
||||||
@ -942,7 +783,6 @@ public abstract class BaseXPrint {
|
|||||||
for (PayDetail item : list) {
|
for (PayDetail item : list) {
|
||||||
|
|
||||||
if (item == null) continue;
|
if (item == null) continue;
|
||||||
if (!matchesSummaryHostType(item, hostType)) continue;
|
|
||||||
|
|
||||||
String currency = item.getCurrencyCode();
|
String currency = item.getCurrencyCode();
|
||||||
TempSummary s = currencyMap.get(currency);
|
TempSummary s = currencyMap.get(currency);
|
||||||
@ -951,14 +791,52 @@ public abstract class BaseXPrint {
|
|||||||
s = new TempSummary();
|
s = new TempSummary();
|
||||||
currencyMap.put(currency, s);
|
currencyMap.put(currency, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String transType = item.getTransType();
|
||||||
|
long amount = item.getAmount();
|
||||||
|
|
||||||
applyTempSummary(s, item);
|
switch (transType) {
|
||||||
}
|
|
||||||
|
|
||||||
if (currencyMap.isEmpty()) {
|
case "SALE":
|
||||||
printErrorBlock("NO TRANSACTION FOUND");
|
s.saleCount++;
|
||||||
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
s.saleAmount += amount;
|
||||||
return;
|
break;
|
||||||
|
|
||||||
|
case "VOID_SALE":
|
||||||
|
s.voidSaleCount++;
|
||||||
|
s.voidSaleAmount += amount;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "REFUND":
|
||||||
|
s.refundCount++;
|
||||||
|
s.refundAmount += amount;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "CASH_OUT":
|
||||||
|
s.cashOutCount++;
|
||||||
|
s.cashOutAmount += amount;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "QR_PAY":
|
||||||
|
s.qrPayCount++;
|
||||||
|
s.qrPayAmount += amount;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "QR_REFUND":
|
||||||
|
s.qrRefundCount++;
|
||||||
|
s.qrRefundAmount += amount;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "PREAUTH_COMP":
|
||||||
|
s.preAuthCompCount++;
|
||||||
|
s.preAuthCompAmount += amount;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "PREAUTH_COMP_VOID":
|
||||||
|
s.preAuthCompVoidCount++;
|
||||||
|
s.preAuthCompVoidAmount += amount;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isQrDecimalEnabled = SystemParamsOperation.getInstance().isQrDecimalEnable();
|
boolean isQrDecimalEnabled = SystemParamsOperation.getInstance().isQrDecimalEnable();
|
||||||
@ -967,88 +845,68 @@ public abstract class BaseXPrint {
|
|||||||
for (String currency : currencyMap.keySet()) {
|
for (String currency : currencyMap.keySet()) {
|
||||||
|
|
||||||
TempSummary data = currencyMap.get(currency);
|
TempSummary data = currencyMap.get(currency);
|
||||||
boolean isQrHost = hostType == HostType.QR;
|
|
||||||
|
|
||||||
printer.appendPrnStr( currencyCodeToText(currency) + " " +"Transactions", fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr( currencyCodeToText(currency) + " " +"Transactions", fontNormal, AlignEnum.LEFT, false);
|
||||||
emptyLine(1);
|
emptyLine(1);
|
||||||
|
|
||||||
// printer.appendPrnStr("(COUNT)TRANS", "AMOUNT(" + currencyCodeToText(currency) + ")", fontNormal, false);
|
printer.appendPrnStr("(COUNT)TRANS", "AMOUNT(" + currencyCodeToText(currency) + ")", fontNormal, false);
|
||||||
print3ColumnsStringWithAlign("COUNT", "TRANS", "AMOUNT" + "(" + currencyCodeToText(currency) + ")", fontNormal, false);
|
|
||||||
|
|
||||||
if (isQrHost) {
|
if (data.saleCount > 0) {
|
||||||
if (data.qrPayCount > 0) {
|
printer.appendPrnStr("(" + data.saleCount + ")SALES",
|
||||||
print3ColumnsStringWithAlign("(" + data.qrPayCount + ")",
|
PrintUtils.getInstance().getSeparatorNumberFormat(data.saleAmount, isDecimalEnabled),
|
||||||
"QR PAY",
|
fontNormal, false);
|
||||||
PrintUtils.getInstance().getSeparatorNumberFormat(data.qrPayAmount, isQrDecimalEnabled),
|
}
|
||||||
fontNormal, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.qrRefundCount > 0) {
|
if (data.voidSaleCount > 0) {
|
||||||
print3ColumnsStringWithAlign("(" + data.qrRefundCount + ")",
|
printer.appendPrnStr("(" + data.voidSaleCount + ")VOID SALES",
|
||||||
"QR REFUND",
|
"- " + PrintUtils.getInstance().getSeparatorNumberFormat(data.voidSaleAmount, isDecimalEnabled),
|
||||||
"- " + PrintUtils.getInstance().getSeparatorNumberFormat(data.qrRefundAmount, isQrDecimalEnabled),
|
fontNormal, false);
|
||||||
fontNormal, false);
|
}
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (data.saleCount > 0) {
|
|
||||||
print3ColumnsStringWithAlign("(" + data.saleCount + ")",
|
|
||||||
"SALES",
|
|
||||||
PrintUtils.getInstance().getSeparatorNumberFormat(data.saleAmount, isDecimalEnabled),
|
|
||||||
fontNormal, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.voidSaleCount > 0) {
|
if (data.cashOutCount > 0) {
|
||||||
print3ColumnsStringWithAlign("(" + data.voidSaleCount + ")",
|
printer.appendPrnStr("(" + data.cashOutCount + ")CASH OUT",
|
||||||
"VOID",
|
PrintUtils.getInstance().getSeparatorNumberFormat(data.cashOutAmount, isDecimalEnabled),
|
||||||
"- " + PrintUtils.getInstance().getSeparatorNumberFormat(data.voidSaleAmount, isDecimalEnabled),
|
fontNormal, false);
|
||||||
fontNormal, false);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (data.cashOutCount > 0) {
|
if (data.refundCount > 0) {
|
||||||
print3ColumnsStringWithAlign("(" + data.cashOutCount + ")",
|
printer.appendPrnStr("(" + data.refundCount + ")REFUND",
|
||||||
"CASH ADV",
|
"- " + PrintUtils.getInstance().getSeparatorNumberFormat(data.refundAmount, isDecimalEnabled),
|
||||||
PrintUtils.getInstance().getSeparatorNumberFormat(data.cashOutAmount, isDecimalEnabled),
|
fontNormal, false);
|
||||||
fontNormal, false);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (data.preAuthSaleCount > 0) {
|
if (data.preAuthCompCount > 0) {
|
||||||
print3ColumnsStringWithAlign("(" + data.preAuthSaleCount + ")",
|
printer.appendPrnStr("(" + data.preAuthCompCount + ")PREAUTH COMP",
|
||||||
"PRE-AUTH",
|
PrintUtils.getInstance().getSeparatorNumberFormat(data.preAuthCompAmount, isDecimalEnabled),
|
||||||
PrintUtils.getInstance().getSeparatorNumberFormat(data.preAuthSaleAmount, isDecimalEnabled),
|
fontNormal, false);
|
||||||
fontNormal, false);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (data.preAuthVoidCount > 0) {
|
if (data.preAuthCompVoidCount > 0) {
|
||||||
print3ColumnsStringWithAlign("(" + data.preAuthVoidCount + ")",
|
printer.appendPrnStr("(" + data.preAuthCompVoidCount + ")VOID PREAUTH COMPLETE",
|
||||||
"PREAUTH VOID",
|
"- " + PrintUtils.getInstance().getSeparatorNumberFormat(data.preAuthCompVoidAmount, isDecimalEnabled),
|
||||||
"- " + PrintUtils.getInstance().getSeparatorNumberFormat(data.preAuthVoidAmount, isDecimalEnabled),
|
fontNormal, false);
|
||||||
fontNormal, false);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (data.refundCount > 0) {
|
if (data.qrPayCount > 0) {
|
||||||
print3ColumnsStringWithAlign("(" + data.refundCount + ")",
|
printer.appendPrnStr("(" + data.qrPayCount + ")QR PAY",
|
||||||
"REFUND",
|
PrintUtils.getInstance().getSeparatorNumberFormat(data.qrPayAmount, isQrDecimalEnabled),
|
||||||
"- " + PrintUtils.getInstance().getSeparatorNumberFormat(data.refundAmount, isDecimalEnabled),
|
fontNormal, false);
|
||||||
fontNormal, false);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (data.preAuthCompCount > 0) {
|
if (data.qrRefundCount > 0) {
|
||||||
print3ColumnsStringWithAlign("(" + data.preAuthCompCount + ")",
|
printer.appendPrnStr("(" + data.qrRefundCount + ")QR REFUND",
|
||||||
"PREAUTH COMP",
|
"- " + PrintUtils.getInstance().getSeparatorNumberFormat(data.qrRefundAmount, isQrDecimalEnabled),
|
||||||
PrintUtils.getInstance().getSeparatorNumberFormat(data.preAuthCompAmount, isDecimalEnabled),
|
fontNormal, false);
|
||||||
fontNormal, false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dotBreak();
|
dotBreak();
|
||||||
|
|
||||||
long totalAmount = isQrHost
|
long totalAmount =
|
||||||
? data.qrPayAmount - data.qrRefundAmount
|
(data.saleAmount + data.cashOutAmount + data.preAuthCompAmount + data.qrPayAmount)
|
||||||
: (data.saleAmount + data.cashOutAmount + data.preAuthSaleAmount + data.preAuthCompAmount)
|
- (data.voidSaleAmount + data.refundAmount + data.preAuthCompVoidAmount + data.qrRefundAmount);
|
||||||
- (data.voidSaleAmount + data.preAuthVoidAmount + data.refundAmount + data.preAuthCompVoidAmount);
|
|
||||||
|
|
||||||
printer.appendPrnStr( "TOTAL"+ " " + currencyCodeToText(currency),
|
printer.appendPrnStr(currencyCodeToText(currency) + " " + "TOTAL",
|
||||||
PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount, isQrHost ? isQrDecimalEnabled : isDecimalEnabled),
|
PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount, isDecimalEnabled),
|
||||||
fontNormal, false);
|
fontNormal, false);
|
||||||
|
|
||||||
emptyLine(2);
|
emptyLine(2);
|
||||||
@ -1147,11 +1005,6 @@ public abstract class BaseXPrint {
|
|||||||
// printer.appendPrnStr(first + " " + second + " " + third, fontNormal, AlignEnum.LEFT,false);
|
// printer.appendPrnStr(first + " " + second + " " + third, fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr(first + " " + second + " " + third, fontNormal, AlignEnum.LEFT,isBold);
|
printer.appendPrnStr(first + " " + second + " " + third, fontNormal, AlignEnum.LEFT,isBold);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void print3ColumnsStringWithAlign(String first, String second, String third, int font, boolean isBold){
|
|
||||||
String fixedSizeString = String.format("%-5s", first);
|
|
||||||
printer.appendPrnStr(fixedSizeString + " " + second, third, font, isBold);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void dotBreak(){
|
protected void dotBreak(){
|
||||||
printer.appendPrnStr(new String(new char[29]).replace("\0", "."), fontNormal, AlignEnum.CENTER, false);
|
printer.appendPrnStr(new String(new char[29]).replace("\0", "."), fontNormal, AlignEnum.CENTER, false);
|
||||||
|
|||||||
@ -456,7 +456,7 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
|
|||||||
printLogo();
|
printLogo();
|
||||||
printMerchantHeader();
|
printMerchantHeader();
|
||||||
printTranHeader("SUMMARY REPORT");
|
printTranHeader("SUMMARY REPORT");
|
||||||
printTransDetailSummary(payDetail, list, hostType);
|
printTransDetailSummary(payDetail, list);
|
||||||
startPrintNex();
|
startPrintNex();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user