Compare commits
3 Commits
3e342a71ca
...
6bb3ab45c1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6bb3ab45c1 | ||
|
|
f071f03dd2 | ||
|
|
654e7ddc7e |
@ -5,6 +5,7 @@ import static com.utsmyanmar.paylibs.utils.enums.CurrencyType.MMK;
|
|||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
|
import android.icu.util.LocaleData;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
@ -39,6 +40,8 @@ import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
|
|||||||
import com.utsmyanmar.paylibs.utils.print_utils.BitmapUtils;
|
import com.utsmyanmar.paylibs.utils.print_utils.BitmapUtils;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
@ -191,6 +194,7 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void dashBreak() {
|
protected void dashBreak() {
|
||||||
printer.appendPrnStr("-----------------------------", fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("-----------------------------", fontNormal, AlignEnum.LEFT,false);
|
||||||
|
|
||||||
@ -557,7 +561,6 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
protected void printTransDetailSummary(PayDetail payDetail) {
|
protected void printTransDetailSummary(PayDetail payDetail) {
|
||||||
|
|
||||||
|
|
||||||
String MMK = "MMK";
|
String MMK = "MMK";
|
||||||
SettleData settleData = payDetail.getSettleDataObj();
|
SettleData settleData = payDetail.getSettleDataObj();
|
||||||
boolean isQrDecimalEnabled = SystemParamsOperation.getInstance().isQrDecimalEnable();
|
boolean isQrDecimalEnabled = SystemParamsOperation.getInstance().isQrDecimalEnable();
|
||||||
@ -572,49 +575,19 @@ public abstract class BaseXPrint {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (payDetail.getAccountType().equals("WALLET")) {
|
if (payDetail.getAccountType().equals("WALLET")) {
|
||||||
printer.appendPrnStr("PAYMENT NAME: QR", fontNormal, AlignEnum.LEFT,false);
|
// printer.appendPrnStr("PAYMENT NAME: PAY BY QR", fontNormal, AlignEnum.LEFT,false);
|
||||||
|
printString("TYPE : " + "PAY BY QR");
|
||||||
} else {
|
} else {
|
||||||
printer.appendPrnStr("CARD NAME:" + payDetail.getAccountType(), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("CARD NAME:" + payDetail.getAccountType(), fontNormal, AlignEnum.LEFT,false);
|
||||||
}
|
}
|
||||||
// printer.appendPrnStr(" " + "COUNT " + " " + " TOTAL", fontNormal, AlignEnum.LEFT,false);
|
// printer.appendPrnStr(" " + "COUNT " + " " + " TOTAL", fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("COUNT", "TOTAL", fontNormal, false);
|
// printer.appendPrnStr("COUNT", "TOTAL", fontNormal, false);
|
||||||
// printer.printColumnsString(new String[]{"", "COUNT", "TOTAL"}, new int[]{2,1, 1}, new int[]{ 2,1, 2}, innerResultCallback);
|
// printer.printColumnsString(new String[]{"", "COUNT", "TOTAL"}, new int[]{2,1, 1}, new int[]{ 2,1, 2}, innerResultCallback);
|
||||||
// emptyLine(1);
|
// emptyLine(1);
|
||||||
if (settleData.getSaleCount() > 0)
|
emptyLine(1);
|
||||||
printColumnString("SALES", settleData.getSaleCount(), settleData.getSaleAmount(), false);
|
|
||||||
// printer.appendPrnStr("SALES "+ countStringFormat(settleData.getSaleCount())+MMK+" "+ PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount()), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("(COUNT)TRANS", "AMOUNT(MMK)", fontNormal, false);
|
||||||
if (settleData.getVoidSaleCount() > 0)
|
|
||||||
printColumnString("VOID SALES", settleData.getVoidSaleCount(), settleData.getVoidSaleAmount(), true);
|
|
||||||
if (settleData.getCashAdvanceCount() > 0)
|
|
||||||
printColumnString("CASH OUT", settleData.getCashAdvanceCount(), settleData.getCashAdvanceAmount(), false);
|
|
||||||
if (settleData.getPreAuthCount() > 0)
|
|
||||||
printColumnString("PRE AUTH", settleData.getPreAuthCount(), settleData.getPreAuthAmount(), false);
|
|
||||||
if (settleData.getPreAuthVoidCount() > 0)
|
|
||||||
printColumnString("VOID PREAUTH", settleData.getPreAuthVoidCount(), settleData.getPreAuthVoidAmount(), true);
|
|
||||||
if (settleData.getRefundCount() > 0)
|
|
||||||
printColumnString("REFUND", settleData.getRefundCount(), settleData.getRefundAmount(), true);
|
|
||||||
if (settleData.getPreAuthCompCount() > 0)
|
|
||||||
printColumnString("PREAUTH COMP", settleData.getPreAuthCompCount(), settleData.getPreAuthCompAmount(), false);
|
|
||||||
if (settleData.getPreAuthCompVoidCount() > 0)
|
|
||||||
printColumnString("VOID PREAUTH COMPLETE", settleData.getPreAuthCompVoidCount(), settleData.getPreAuthCompVoidAmount(), true);
|
|
||||||
if (settleData.getWavePayCount() > 0){
|
|
||||||
// printColumnString("QR PAY", settleData.getWavePayCount(), settleData.getWavePayAmount(), false);
|
|
||||||
printer.appendPrnStr( "QR PAY " + countStringFormat(settleData.getWavePayCount()) + " " + "MMK" , PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWavePayAmount(), isQrDecimalEnabled) , fontNormal, false);
|
|
||||||
}
|
|
||||||
if (settleData.getWaveRefundCount() > 0) {
|
|
||||||
// printColumnString("QR REFUND", settleData.getWaveRefundCount(), settleData.getWaveRefundAmount(), true);
|
|
||||||
printer.appendPrnStr( "QR REFUND " + countStringFormat(settleData.getWaveRefundCount()) + " " + "MMK" , PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWaveRefundAmount(), isQrDecimalEnabled) , fontNormal, false);
|
|
||||||
}
|
|
||||||
dashBreak();
|
|
||||||
// printColumnString("TOTAL", totalCount, totalAmount, false);
|
|
||||||
printer.appendPrnStr( "TOTAL " + countStringFormat(totalCount) + " " + "MMK", PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount, isQrDecimalEnabled) , fontNormal, false);
|
|
||||||
|
|
||||||
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
|
||||||
printer.appendPrnStr("GRAND TOTAL", fontNormal, AlignEnum.LEFT,false);
|
|
||||||
// printer.appendPrnStr(" " + "COUNT " + " " + " TOTAL", fontNormal, AlignEnum.LEFT,false);
|
|
||||||
printer.appendPrnStr("COUNT", "TOTAL", fontNormal, false);
|
|
||||||
// printer.printColumnsString(new String[]{"", "COUNT", "TOTAL"}, new int[]{2,1, 1}, new int[]{ 2,1, 2}, innerResultCallback);
|
|
||||||
// emptyLine(1);
|
|
||||||
if (settleData.getSaleCount() > 0)
|
if (settleData.getSaleCount() > 0)
|
||||||
printColumnString("SALES", settleData.getSaleCount(), settleData.getSaleAmount(), false);
|
printColumnString("SALES", settleData.getSaleCount(), settleData.getSaleAmount(), false);
|
||||||
// printer.appendPrnStr("SALES "+ countStringFormat(settleData.getSaleCount())+MMK+" "+ PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount()), fontNormal, AlignEnum.LEFT,false);
|
// printer.appendPrnStr("SALES "+ countStringFormat(settleData.getSaleCount())+MMK+" "+ PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount()), fontNormal, AlignEnum.LEFT,false);
|
||||||
@ -632,17 +605,56 @@ public abstract class BaseXPrint {
|
|||||||
printColumnString("PREAUTH COMP", settleData.getPreAuthCompCount(), settleData.getPreAuthCompAmount(), false);
|
printColumnString("PREAUTH COMP", settleData.getPreAuthCompCount(), settleData.getPreAuthCompAmount(), false);
|
||||||
if (settleData.getPreAuthCompVoidCount() > 0)
|
if (settleData.getPreAuthCompVoidCount() > 0)
|
||||||
printColumnString("VOID PREAUTH COMPLETE", settleData.getPreAuthCompVoidCount(), settleData.getPreAuthCompVoidAmount(), true);
|
printColumnString("VOID PREAUTH COMPLETE", settleData.getPreAuthCompVoidCount(), settleData.getPreAuthCompVoidAmount(), true);
|
||||||
if (settleData.getWavePayCount() > 0) {
|
if (settleData.getWavePayCount() >= 0){
|
||||||
// printColumnString("QR PAY", settleData.getWavePayCount(), settleData.getWavePayAmount(), false);
|
// printColumnString("QR PAY", settleData.getWavePayCount(), settleData.getWavePayAmount(), false);
|
||||||
printer.appendPrnStr( "QR PAY " + countStringFormat(settleData.getWavePayCount()) + " " + "MMK" , PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWavePayAmount(), isQrDecimalEnabled) , fontNormal, false);
|
// printer.appendPrnStr( "QR PAY " + countStringFormat(settleData.getWavePayCount()) + " " + "MMK" , PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWavePayAmount(), isQrDecimalEnabled) , fontNormal, false);
|
||||||
|
printer.appendPrnStr( "(" + settleData.getWavePayCount() + ")" + "QR PAY" , PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWavePayAmount(), isQrDecimalEnabled) , fontNormal, false);
|
||||||
}
|
}
|
||||||
if (settleData.getWaveRefundCount() > 0){
|
if (settleData.getWaveRefundCount() >= 0) {
|
||||||
// printColumnString("QR REFUND", settleData.getWaveRefundCount(), settleData.getWaveRefundAmount(), true);
|
// printColumnString("QR REFUND", settleData.getWaveRefundCount(), settleData.getWaveRefundAmount(), true);
|
||||||
printer.appendPrnStr( "QR REFUND " + countStringFormat(settleData.getWaveRefundCount()) + " " + "MMK" , PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWaveRefundAmount(), isQrDecimalEnabled) , fontNormal, false);
|
// printer.appendPrnStr( "QR REFUND " + countStringFormat(settleData.getWaveRefundCount()) + " " + "MMK" , PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWaveRefundAmount(), isQrDecimalEnabled) , fontNormal, false);
|
||||||
|
printer.appendPrnStr( "(" + settleData.getWaveRefundCount() + ")" + "QR REFUND", "- " + PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWaveRefundAmount(), isQrDecimalEnabled) , fontNormal, false);
|
||||||
}
|
}
|
||||||
dashBreak();
|
// dashBreak();
|
||||||
|
dotBreak();
|
||||||
// printColumnString("TOTAL", totalCount, totalAmount, false);
|
// printColumnString("TOTAL", totalCount, totalAmount, false);
|
||||||
printer.appendPrnStr( "TOTAL " + countStringFormat(totalCount) + " " + "MMK", PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount, isQrDecimalEnabled) , fontNormal, false);
|
// printer.appendPrnStr( "TOTAL " + countStringFormat(totalCount) + " " + "MMK", PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount, isQrDecimalEnabled) , fontNormal, false);
|
||||||
|
printer.appendPrnStr( "TOTAL", PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount, isQrDecimalEnabled) , fontNormal, false);
|
||||||
|
|
||||||
|
// printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
||||||
|
// printer.appendPrnStr("GRAND TOTAL", fontNormal, AlignEnum.LEFT,false);
|
||||||
|
//// printer.appendPrnStr(" " + "COUNT " + " " + " TOTAL", fontNormal, AlignEnum.LEFT,false);
|
||||||
|
// printer.appendPrnStr("COUNT", "TOTAL", fontNormal, false);
|
||||||
|
//// printer.printColumnsString(new String[]{"", "COUNT", "TOTAL"}, new int[]{2,1, 1}, new int[]{ 2,1, 2}, innerResultCallback);
|
||||||
|
//// emptyLine(1);
|
||||||
|
// if (settleData.getSaleCount() > 0)
|
||||||
|
// printColumnString("SALES", settleData.getSaleCount(), settleData.getSaleAmount(), false);
|
||||||
|
//// printer.appendPrnStr("SALES "+ countStringFormat(settleData.getSaleCount())+MMK+" "+ PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getSaleAmount()), fontNormal, AlignEnum.LEFT,false);
|
||||||
|
// if (settleData.getVoidSaleCount() > 0)
|
||||||
|
// printColumnString("VOID SALES", settleData.getVoidSaleCount(), settleData.getVoidSaleAmount(), true);
|
||||||
|
// if (settleData.getCashAdvanceCount() > 0)
|
||||||
|
// printColumnString("CASH OUT", settleData.getCashAdvanceCount(), settleData.getCashAdvanceAmount(), false);
|
||||||
|
// if (settleData.getPreAuthCount() > 0)
|
||||||
|
// printColumnString("PRE AUTH", settleData.getPreAuthCount(), settleData.getPreAuthAmount(), false);
|
||||||
|
// if (settleData.getPreAuthVoidCount() > 0)
|
||||||
|
// printColumnString("VOID PREAUTH", settleData.getPreAuthVoidCount(), settleData.getPreAuthVoidAmount(), true);
|
||||||
|
// if (settleData.getRefundCount() > 0)
|
||||||
|
// printColumnString("REFUND", settleData.getRefundCount(), settleData.getRefundAmount(), true);
|
||||||
|
// if (settleData.getPreAuthCompCount() > 0)
|
||||||
|
// printColumnString("PREAUTH COMP", settleData.getPreAuthCompCount(), settleData.getPreAuthCompAmount(), false);
|
||||||
|
// if (settleData.getPreAuthCompVoidCount() > 0)
|
||||||
|
// printColumnString("VOID PREAUTH COMPLETE", settleData.getPreAuthCompVoidCount(), settleData.getPreAuthCompVoidAmount(), true);
|
||||||
|
// if (settleData.getWavePayCount() > 0) {
|
||||||
|
//// printColumnString("QR PAY", settleData.getWavePayCount(), settleData.getWavePayAmount(), false);
|
||||||
|
// printer.appendPrnStr( "QR PAY " + countStringFormat(settleData.getWavePayCount()) + " " + "MMK" , PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWavePayAmount(), isQrDecimalEnabled) , fontNormal, false);
|
||||||
|
// }
|
||||||
|
// if (settleData.getWaveRefundCount() > 0){
|
||||||
|
//// printColumnString("QR REFUND", settleData.getWaveRefundCount(), settleData.getWaveRefundAmount(), true);
|
||||||
|
// printer.appendPrnStr( "QR REFUND " + countStringFormat(settleData.getWaveRefundCount()) + " " + "MMK" , PrintUtils.getInstance().getSeparatorNumberFormat(settleData.getWaveRefundAmount(), isQrDecimalEnabled) , fontNormal, false);
|
||||||
|
// }
|
||||||
|
// dashBreak();
|
||||||
|
//// printColumnString("TOTAL", totalCount, totalAmount, false);
|
||||||
|
// printer.appendPrnStr( "TOTAL " + countStringFormat(totalCount) + " " + "MMK", PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount, isQrDecimalEnabled) , fontNormal, false);
|
||||||
|
|
||||||
|
|
||||||
// printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
// printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
||||||
@ -729,9 +741,11 @@ public abstract class BaseXPrint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void print2ColumnsStringBoldCenter(String first, String second, int fontSize, AlignEnum align) {
|
protected void print2ColumnsStringBoldCenter(String first, String second, int fontSize, AlignEnum align) {
|
||||||
printer.appendPrnStr(first + " " + second, fontSize, align,true);
|
printer.appendPrnStr(first + " " + second, fontSize, align,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected void print3ColumnsString(String first, String second, String third) {
|
protected void print3ColumnsString(String first, String second, String third) {
|
||||||
// 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,false);
|
printer.appendPrnStr(first + " " + second + " " + third, fontNormal, AlignEnum.LEFT,false);
|
||||||
@ -746,23 +760,6 @@ public abstract class BaseXPrint {
|
|||||||
printer.appendPrnStr(new String(new char[29]).replace("\0", "."), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr(new String(new char[29]).replace("\0", "."), fontNormal, AlignEnum.LEFT, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void printTranHeader(String title){
|
|
||||||
SimpleDateFormat date = new SimpleDateFormat("dd MMM yyyy", Locale.getDefault());
|
|
||||||
String printedDate = date.format(new Date());
|
|
||||||
|
|
||||||
SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
|
|
||||||
String printedTime = time.format(new Date());
|
|
||||||
|
|
||||||
printer.appendPrnStr("PRINTED DATE", printedDate, fontNormal, false);
|
|
||||||
printer.appendPrnStr("", printedTime, fontNormal, false);
|
|
||||||
printer.appendPrnStr(title, fontNormal , AlignEnum.CENTER, false);
|
|
||||||
|
|
||||||
// if (payDetail.getTransactionType() == TransactionsType.MMQR.value && payDetail.getQrTransStatus() == 1) {
|
|
||||||
//// printer.appendPrnStr("TRACE NO:" + traceNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
|
||||||
// printer.appendPrnStr("INV NO :" + invoiceNo , fontNormal, AlignEnum.LEFT,false);
|
|
||||||
// }
|
|
||||||
dotBreak();
|
|
||||||
}
|
|
||||||
protected void printTransDetailReport(List<PayDetail> lists, HostType hostType) {
|
protected void printTransDetailReport(List<PayDetail> lists, HostType hostType) {
|
||||||
|
|
||||||
|
|
||||||
@ -773,23 +770,22 @@ public abstract class BaseXPrint {
|
|||||||
print2ColumnsString("AMOUNT", "");
|
print2ColumnsString("AMOUNT", "");
|
||||||
print2ColumnsString("REF NUM", "");
|
print2ColumnsString("REF NUM", "");
|
||||||
} else if (hostType == HostType.QR) {
|
} else if (hostType == HostType.QR) {
|
||||||
print2ColumnsString("PAYMENT NAME", "");
|
// print2ColumnsString("PAYMENT NAME", "");
|
||||||
print2ColumnsString("DATE", "TIME");
|
// print2ColumnsString("DATE", "TIME");
|
||||||
print2ColumnsString("TRANSACTION", "TRACE NO");
|
// print2ColumnsString("TRANSACTION", "TRACE NO");
|
||||||
print2ColumnsString("TRXN ID", "");
|
// print2ColumnsString("TRXN ID", "");
|
||||||
print2ColumnsString("AMOUNT", "");
|
// print2ColumnsString("AMOUNT", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// breakingLine();
|
// breakingLine();
|
||||||
lineBreak();
|
|
||||||
|
|
||||||
long totalAmount = 0;
|
long totalAmount = 0;
|
||||||
|
|
||||||
for (PayDetail pay : lists) {
|
for (PayDetail pay : lists) {
|
||||||
|
|
||||||
boolean isNeedMinusSign = pay.getTransactionType() == TransactionsType.VOID.value || pay.getTransactionType() == TransactionsType.REFUND.value || pay.getTransactionType() == TransactionsType.MMQR_REFUND.value;
|
boolean isNeedMinusSign = pay.getTransactionType() == TransactionsType.VOID.value || pay.getTransactionType() == TransactionsType.REFUND.value || pay.getTransactionType() == TransactionsType.MMQR_REFUND.value;
|
||||||
boolean isDecimalEnabled = SystemParamsOperation.getInstance().isQrDecimalEnable();
|
boolean isDecimalEnabled = SystemParamsOperation.getInstance().isQrDecimalEnable();
|
||||||
|
|
||||||
if (hostType == HostType.MPU || hostType == HostType.VISA_MASTER) {
|
if (hostType == HostType.MPU || hostType == HostType.VISA_MASTER) {
|
||||||
print2ColumnsString(pay.getAccountType(), PrintUtils.getInstance().maskCardNumberPciDss(pay.getCardNo()));
|
print2ColumnsString(pay.getAccountType(), PrintUtils.getInstance().maskCardNumberPciDss(pay.getCardNo()));
|
||||||
print2ColumnsString("**/**", pay.getVoucherNo());
|
print2ColumnsString("**/**", pay.getVoucherNo());
|
||||||
@ -797,20 +793,43 @@ public abstract class BaseXPrint {
|
|||||||
print2ColumnsString(pay.getReferNo(), "");
|
print2ColumnsString(pay.getReferNo(), "");
|
||||||
|
|
||||||
} else if (hostType == HostType.QR) {
|
} else if (hostType == HostType.QR) {
|
||||||
|
|
||||||
|
printString("TRANS ID:" + pay.getQrTransId());
|
||||||
|
printString("STATUS :" + pay.getTC());
|
||||||
|
printString("SOURCE :" +
|
||||||
|
(pay.getTransactionType() == TransactionsType.MMQR_REFUND.value
|
||||||
|
? "QR PAYMENT"
|
||||||
|
: pay.getCustomerMobile())
|
||||||
|
);
|
||||||
|
// printString("TXN NAME:" + pay.getTransType().replace("_", " "));
|
||||||
|
printString("DATE :" + POSUtil.getInstance().formatDisplayDate(pay.getTransDate()) + " " + pay.getTransTime());
|
||||||
|
printString("TRACE NO:" + pay.getVoucherNo());
|
||||||
if (pay.getTransactionType() == TransactionsType.MMQR_REFUND.value) {
|
if (pay.getTransactionType() == TransactionsType.MMQR_REFUND.value) {
|
||||||
print2ColumnsString("QR PAYMENT", "");
|
printString("RRN :" + pay.getReferNo());
|
||||||
} else {
|
|
||||||
print2ColumnsString(pay.getCustomerMobile(), "");
|
|
||||||
}
|
|
||||||
print2ColumnsString(pay.getTransDate(), pay.getTransTime());
|
|
||||||
print2ColumnsString(pay.getTransType().replace("_", " "), pay.getVoucherNo());
|
|
||||||
if (pay.getTransactionType() == TransactionsType.MMQR_REFUND.value) {
|
|
||||||
print2ColumnsString(pay.getReferNo() + "(RRN)", "");
|
|
||||||
print2ColumnsString(isNeedMinusSign ? "-" + PrintUtils.getInstance().getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled) : "" + PrintUtils.getInstance().getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled), "");
|
|
||||||
} else {
|
|
||||||
print2ColumnsString(pay.getQrTransId(), "");
|
|
||||||
print2ColumnsString(isNeedMinusSign ? "-" + PrintUtils.getInstance().getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled) : "" + PrintUtils.getInstance().getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled) , "");
|
|
||||||
}
|
}
|
||||||
|
printString("AMOUNT :" +
|
||||||
|
(isNeedMinusSign
|
||||||
|
? "-" + PrintUtils.getInstance()
|
||||||
|
.getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled)
|
||||||
|
: PrintUtils.getInstance()
|
||||||
|
.getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled))
|
||||||
|
+ " " +"MMK");
|
||||||
|
dotBreak();
|
||||||
|
|
||||||
|
// if (pay.getTransactionType() == TransactionsType.MMQR_REFUND.value) {
|
||||||
|
// print2ColumnsString("QR PAYMENT", "");
|
||||||
|
// } else {
|
||||||
|
// print2ColumnsString(pay.getCustomerMobile(), "");
|
||||||
|
// }
|
||||||
|
// print2ColumnsString(pay.getTransDate(), pay.getTransTime());
|
||||||
|
// print2ColumnsString(pay.getTransType().replace("_", " "), pay.getVoucherNo());
|
||||||
|
// if (pay.getTransactionType() == TransactionsType.MMQR_REFUND.value) {
|
||||||
|
// print2ColumnsString(pay.getReferNo() + "(RRN)", "");
|
||||||
|
// print2ColumnsString(isNeedMinusSign ? "-" + PrintUtils.getInstance().getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled) : "" + PrintUtils.getInstance().getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled), "");
|
||||||
|
// } else {
|
||||||
|
// print2ColumnsString(pay.getQrTransId(), "");
|
||||||
|
// print2ColumnsString(isNeedMinusSign ? "-" + PrintUtils.getInstance().getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled) : "" + PrintUtils.getInstance().getSeparatorNumberFormat(pay.getAmount(), isDecimalEnabled) , "");
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -875,6 +894,8 @@ public abstract class BaseXPrint {
|
|||||||
print2ColumnsString("Refund Total:MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(refundTotal));
|
print2ColumnsString("Refund Total:MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(refundTotal));
|
||||||
dashBreak();
|
dashBreak();
|
||||||
print2ColumnsString("Sale Total :MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(totalAmount));
|
print2ColumnsString("Sale Total :MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(totalAmount));
|
||||||
|
dashBreak();
|
||||||
|
print2ColumnsString("Sale Total :MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(totalAmount - refundTotal));
|
||||||
dashBreakEnding();
|
dashBreakEnding();
|
||||||
// emptyLine(2);
|
// emptyLine(2);
|
||||||
|
|
||||||
@ -1018,7 +1039,7 @@ public abstract class BaseXPrint {
|
|||||||
// merchantPhoneNo = "MERCHANT PHONENO";
|
// merchantPhoneNo = "MERCHANT PHONENO";
|
||||||
// }
|
// }
|
||||||
if(TextUtils.equals(terminalName, "") || terminalName == null){
|
if(TextUtils.equals(terminalName, "") || terminalName == null){
|
||||||
terminalName = "Terminal Name";
|
terminalName = "";
|
||||||
}
|
}
|
||||||
// emptyLine(1);
|
// emptyLine(1);
|
||||||
// printer.appendPrnStr(receiptHeader, fontNormal, AlignEnum.CENTER,false);
|
// printer.appendPrnStr(receiptHeader, fontNormal, AlignEnum.CENTER,false);
|
||||||
@ -1028,8 +1049,7 @@ public abstract class BaseXPrint {
|
|||||||
printer.appendPrnStr(merchantAddress3, fontNormal, AlignEnum.CENTER,false);
|
printer.appendPrnStr(merchantAddress3, fontNormal, AlignEnum.CENTER,false);
|
||||||
// printer.appendPrnStr(merchantPhoneNo, fontNormal, AlignEnum.CENTER,false);
|
// printer.appendPrnStr(merchantPhoneNo, fontNormal, AlignEnum.CENTER,false);
|
||||||
// emptyLine(1);
|
// emptyLine(1);
|
||||||
// dashBreak();
|
dotBreak();
|
||||||
lineBreak();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void printKeyInfo() {
|
protected void printKeyInfo() {
|
||||||
@ -1086,34 +1106,27 @@ public abstract class BaseXPrint {
|
|||||||
boolean isCardTransaction = !payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.MMQR_REFUND.value && payDetail.getTransactionType() != TransactionsType.MMQR.value;
|
boolean isCardTransaction = !payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.MMQR_REFUND.value && payDetail.getTransactionType() != TransactionsType.MMQR.value;
|
||||||
// String traceNum = SystemParamsOperation.getInstance().getCurrentSerialNum();
|
// String traceNum = SystemParamsOperation.getInstance().getCurrentSerialNum();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
batchNum = payDetail.getBatchNo();
|
batchNum = payDetail.getBatchNo();
|
||||||
|
|
||||||
if(isCardTransaction) {
|
// printer.appendPrnStr("DATE :" + payDetail.getTransDate() + " TIME:" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("DATE :" + payDetail.getTransDate() + " TIME:" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("DATE :" + POSUtil.getInstance().formatDisplayDate(payDetail.getTransDate()), fontNormal, AlignEnum.LEFT, false);
|
||||||
} else {
|
printer.appendPrnStr("TIME :" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT, false);
|
||||||
printer.appendPrnStr("DATE :" + POSUtil.getInstance().formatDisplayDate(payDetail.getTransDate()), fontNormal, AlignEnum.LEFT, false);
|
|
||||||
printer.appendPrnStr("TIME :" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (payDetail.getTransactionType() == TransactionsType.MMQR.value && payDetail.getQrTransStatus() == 1) {
|
if (payDetail.getTransactionType() == TransactionsType.MMQR.value && payDetail.getQrTransStatus() == 1) {
|
||||||
// printer.appendPrnStr("TRACE NO:" + traceNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
// printer.appendPrnStr("TRACE NO:" + traceNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("INV NO :" + invoiceNo , fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("INV NO :" + invoiceNo , fontNormal, AlignEnum.LEFT,false);
|
||||||
} else if (isCardTransaction) {
|
} else if (!payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.MMQR_REFUND.value && payDetail.getTransactionType() != TransactionsType.MMQR.value) {
|
||||||
printer.appendPrnStr("BTH NO :" + batchNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("BTH NO :" + batchNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
||||||
} else if (payDetail.getTransType().equals(SUMMARY)) {
|
} else if (payDetail.getTransType().equals(SUMMARY)) {
|
||||||
printer.appendPrnStr("HOST :" + HOST_NAME_MPU + "", fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("HOST :" + HOST_NAME_MPU + "", fontNormal, AlignEnum.LEFT,false);
|
||||||
}
|
}
|
||||||
/* 17 Sept 2024 Yoma requested to changed slip design for QR*/
|
/* 17 Sept 2024 Yoma requested to changed slip design for QR*/
|
||||||
// printer.printColumnsString(new String[]{"MID :" + payDetail.getMerchantNo(), ""}, new int[]{3, 1}, new int[]{0, 2}, innerResultCallback);
|
// printer.printColumnsString(new String[]{"MID :" + payDetail.getMerchantNo(), ""}, new int[]{3, 1}, new int[]{0, 2}, innerResultCallback);
|
||||||
// printer.printColumnsString(new String[]{"TID :" + payDetail.getTerminalNo(), ""}, new int[]{3, 1}, new int[]{0, 2}, innerResultCallback);
|
// printer.printColumnsString(new String[]{"TID :" + payDetail.getTerminalNo(), ""}, new int[]{3, 1}, new int[]{0, 2}, innerResultCallback);
|
||||||
if (payDetail.getTransactionType() == TransactionsType.MMQR.value || payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value){
|
if (payDetail.getTransactionType() == TransactionsType.MMQR.value || payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value){
|
||||||
printer.appendPrnStr("SHORT CODE:" + payDetail.getMerchantNo(), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("SHORT CODE :" + payDetail.getMerchantNo(), fontNormal, AlignEnum.LEFT,false);
|
||||||
}else{
|
}else{
|
||||||
printer.appendPrnStr("TID :" + payDetail.getTerminalNo(), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("MID :" + payDetail.getMerchantNo(), fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("MID :" + payDetail.getMerchantNo(), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("TID :" + payDetail.getTerminalNo(), fontNormal, AlignEnum.LEFT,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isSettlement) {
|
if(isSettlement) {
|
||||||
@ -1131,6 +1144,7 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
|
|
||||||
printer.appendPrnStr(transType.replace("_", " "),fontNormal, AlignEnum.CENTER,true);
|
printer.appendPrnStr(transType.replace("_", " "),fontNormal, AlignEnum.CENTER,true);
|
||||||
|
// printer.appendPrnStr("TRAN TYPE :" + transType.replace("_", " "),fontNormal, AlignEnum.LEFT,false);
|
||||||
|
|
||||||
if (!(payDetail.getQrTransStatus() != 1 && (payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value || payDetail.getTransactionType() == TransactionsType.MMQR.value))) {
|
if (!(payDetail.getQrTransStatus() != 1 && (payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value || payDetail.getTransactionType() == TransactionsType.MMQR.value))) {
|
||||||
// printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
// printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
||||||
@ -1138,6 +1152,36 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void printDetailReportHeader(){
|
||||||
|
SimpleDateFormat date = new SimpleDateFormat("dd MMM yyyy", Locale.getDefault());
|
||||||
|
String printedDate = date.format(new Date());
|
||||||
|
|
||||||
|
SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
|
||||||
|
String printedTime = time.format(new Date());
|
||||||
|
|
||||||
|
printer.appendPrnStr("PRINTED DATE", printedDate, fontNormal, false);
|
||||||
|
printer.appendPrnStr("", printedTime, fontNormal, false);
|
||||||
|
printer.appendPrnStr("DETAIL REPORT", fontNormal , AlignEnum.CENTER, false);
|
||||||
|
dotBreak();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void printTranHeader(String title){
|
||||||
|
SimpleDateFormat date = new SimpleDateFormat("dd MMM yyyy", Locale.getDefault());
|
||||||
|
String printedDate = date.format(new Date());
|
||||||
|
|
||||||
|
SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
|
||||||
|
String printedTime = time.format(new Date());
|
||||||
|
|
||||||
|
printer.appendPrnStr("PRINTED DATE", printedDate, fontNormal, false);
|
||||||
|
printer.appendPrnStr("", printedTime, fontNormal, false);
|
||||||
|
printer.appendPrnStr(title, fontNormal , AlignEnum.CENTER, false);
|
||||||
|
|
||||||
|
// if (payDetail.getTransactionType() == TransactionsType.MMQR.value && payDetail.getQrTransStatus() == 1) {
|
||||||
|
//// printer.appendPrnStr("TRACE NO:" + traceNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
||||||
|
// printer.appendPrnStr("INV NO :" + invoiceNo , fontNormal, AlignEnum.LEFT,false);
|
||||||
|
// }
|
||||||
|
dotBreak();
|
||||||
|
}
|
||||||
protected void printTransHeader(PayDetail payDetail, HostType hostType) {
|
protected void printTransHeader(PayDetail payDetail, HostType hostType) {
|
||||||
String invoiceNo = payDetail.getInvoiceNo().isEmpty() ? SystemParamsOperation.getInstance().getCurrentInvoiceNum() : payDetail.getInvoiceNo();
|
String invoiceNo = payDetail.getInvoiceNo().isEmpty() ? SystemParamsOperation.getInstance().getCurrentInvoiceNum() : payDetail.getInvoiceNo();
|
||||||
String transType = payDetail.getTransType();
|
String transType = payDetail.getTransType();
|
||||||
@ -1228,11 +1272,11 @@ public abstract class BaseXPrint {
|
|||||||
printer.appendPrnStr("Secondary Ip : " + secIpPort[0], fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("Secondary Ip : " + secIpPort[0], fontNormal, AlignEnum.LEFT, false);
|
||||||
printer.appendPrnStr("Secondary Port: " + secIpPort[1], fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("Secondary Port: " + secIpPort[1], fontNormal, AlignEnum.LEFT, false);
|
||||||
printer.appendPrnStr("Currency Code : " + sp.getCurrencyType(), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("Currency Code : " + sp.getCurrencyType(), fontNormal, AlignEnum.LEFT, false);
|
||||||
lineBreak();
|
dotBreak();
|
||||||
// ---------- SECONDARY HOST (optional) ----------
|
// ---------- SECONDARY HOST (optional) ----------
|
||||||
if (!TextUtils.isEmpty(sp.getSecHostName())) {
|
if (!TextUtils.isEmpty(sp.getSecHostName())) {
|
||||||
printer.appendPrnStr("SECONDARY HOST", fontNormal, AlignEnum.LEFT, true);
|
printer.appendPrnStr("SECONDARY HOST", fontNormal, AlignEnum.LEFT, true);
|
||||||
printer.appendPrnStr("Name : " + sp.getSecHostName(), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("Name : " + sp.getSecHostName(), fontNormal, AlignEnum.LEFT, false);
|
||||||
printer.appendPrnStr("SHORT CODE : " + sp.getShortCode(), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("SHORT CODE : " + sp.getShortCode(), fontNormal, AlignEnum.LEFT, false);
|
||||||
String[] secHostIp = splitIpAndPort(sp.getSecHostIpAddress());
|
String[] secHostIp = splitIpAndPort(sp.getSecHostIpAddress());
|
||||||
printer.appendPrnStr("Primary Ip : " + secHostIp[0], fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("Primary Ip : " + secHostIp[0], fontNormal, AlignEnum.LEFT, false);
|
||||||
@ -1241,7 +1285,7 @@ public abstract class BaseXPrint {
|
|||||||
printer.appendPrnStr("Secondary Ip : " + secHostSecIp[0], fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("Secondary Ip : " + secHostSecIp[0], fontNormal, AlignEnum.LEFT, false);
|
||||||
printer.appendPrnStr("Secondary Port: " + secHostSecIp[1], fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("Secondary Port: " + secHostSecIp[1], fontNormal, AlignEnum.LEFT, false);
|
||||||
printer.appendPrnStr("Currency Code : " + sp.getCurrencyType(), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("Currency Code : " + sp.getCurrencyType(), fontNormal, AlignEnum.LEFT, false);
|
||||||
lineBreak();
|
dotBreak();
|
||||||
printer.appendPrnStr("App Version : " + getAppVersion(), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("App Version : " + getAppVersion(), fontNormal, AlignEnum.LEFT, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user