modified the physical receipt
This commit is contained in:
parent
05eed5776d
commit
e864630aaf
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -28,6 +28,7 @@ import com.utsmyanmar.paylibs.model.PayDetail;
|
||||
import com.utsmyanmar.paylibs.model.SettleData;
|
||||
import com.utsmyanmar.paylibs.print.PrintUtils;
|
||||
import com.utsmyanmar.paylibs.system.BaseErrorCode;
|
||||
import com.utsmyanmar.paylibs.utils.POSUtil;
|
||||
import com.utsmyanmar.paylibs.utils.core_utils.ByteUtil;
|
||||
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
|
||||
import com.utsmyanmar.paylibs.utils.enums.CardScheme;
|
||||
@ -84,7 +85,8 @@ public abstract class BaseXPrint {
|
||||
protected int fontSmall = 16;
|
||||
// protected FontEntity fontSmall = new FontEntity(DotMatrixFontEnum.CH_SONG_20X20, DotMatrixFontEnum.ASC_SONG_8X16);
|
||||
|
||||
protected int fontNormal = 20;
|
||||
protected int fontNormal = 21;
|
||||
protected int fontLarge = 22;
|
||||
|
||||
// protected FontEntity fontNormal = new FontEntity(DotMatrixFontEnum.CH_SONG_24X24, DotMatrixFontEnum.ASC_SONG_12X24);
|
||||
protected FontEntity fontBold = new FontEntity(DotMatrixFontEnum.CH_SONG_24X24, DotMatrixFontEnum.ASC_SONG_BOLD_16X24);
|
||||
@ -117,13 +119,14 @@ public abstract class BaseXPrint {
|
||||
Resources resources = PayLibsUtils.getInstance().context.getResources();
|
||||
// Typeface typeface = ResourcesCompat.getFont(PayLibsUtils.getInstance().context, R.font.consolas);
|
||||
// printer.setTypeface(typeface);
|
||||
printer.setTypeface(Typeface.createFromAsset(PayLibsUtils.getInstance().context.getAssets(), "fonts/firacode_regular.ttf"));
|
||||
// printer.setTypeface(Typeface.createFromAsset(PayLibsUtils.getInstance().context.getAssets(), "fonts/firacode_regular.ttf"));
|
||||
printer.setTypeface(Typeface.createFromAsset(PayLibsUtils.getInstance().context.getAssets(), "fonts/fira_code_semibold.ttf"));
|
||||
printer.setGray(getGrayLevel());
|
||||
|
||||
}
|
||||
|
||||
private GrayLevelEnum getGrayLevel() {
|
||||
int gray = 2;
|
||||
int gray = 1;
|
||||
GrayLevelEnum grayLevelEnum = GrayLevelEnum.LEVEL_1;
|
||||
|
||||
|
||||
@ -186,12 +189,12 @@ public abstract class BaseXPrint {
|
||||
}
|
||||
|
||||
protected void lineBreak() {
|
||||
printer.appendPrnStr("******************************", fontNormal, AlignEnum.LEFT,false);
|
||||
printer.appendPrnStr("*****************************", fontNormal, AlignEnum.LEFT,false);
|
||||
|
||||
}
|
||||
|
||||
protected void dashBreak() {
|
||||
printer.appendPrnStr("------------------------------", fontNormal, AlignEnum.LEFT,false);
|
||||
printer.appendPrnStr("-----------------------------", fontNormal, AlignEnum.LEFT,false);
|
||||
|
||||
}
|
||||
|
||||
@ -380,7 +383,9 @@ public abstract class BaseXPrint {
|
||||
batchNum = payDetail.getBatchNo();
|
||||
|
||||
|
||||
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);
|
||||
printer.appendPrnStr("TIME :" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT, false);
|
||||
if (Objects.equals(payDetail.getAccountType(), CardScheme.MPU_CTLS.name)) {
|
||||
hostName = HOST_NAME_MPU;
|
||||
} else {
|
||||
@ -627,6 +632,10 @@ public abstract class BaseXPrint {
|
||||
printer.appendPrnStr(first + " " + second, fontNormal, align,true);
|
||||
}
|
||||
|
||||
protected void print2ColumnsStringBoldCenter(String first, String second, int fontSize, AlignEnum align) {
|
||||
printer.appendPrnStr(first + " " + second, fontSize, align,true);
|
||||
}
|
||||
|
||||
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);
|
||||
@ -778,6 +787,9 @@ public abstract class BaseXPrint {
|
||||
cvmText = "NO SIGNATURE REQUIRED";
|
||||
break;
|
||||
}
|
||||
if(payDetail.getTransactionType() == TransactionsType.MMQR.value || payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value){
|
||||
cvmText = "";
|
||||
}
|
||||
|
||||
addSignatureBitmap(payDetail);
|
||||
|
||||
@ -791,10 +803,11 @@ public abstract class BaseXPrint {
|
||||
// }
|
||||
|
||||
emptyLine(0);
|
||||
printer.appendPrnStr("I AGREE TO PAY THE ABOVE TOTAL AMOUNT", fontSmall, AlignEnum.CENTER,false);
|
||||
// printer.appendPrnStr("I AGREE TO PAY THE ABOVE TOTAL AMOUNT", fontSmall, AlignEnum.CENTER,false);
|
||||
if (isQR) {
|
||||
printer.appendPrnStr("ACCORDING TO THE ISSUER AGREEMENT", fontSmall, AlignEnum.CENTER,false);
|
||||
// printer.appendPrnStr("ACCORDING TO THE ISSUER AGREEMENT", fontSmall, AlignEnum.CENTER,false);
|
||||
} else {
|
||||
printer.appendPrnStr("I AGREE TO PAY THE ABOVE TOTAL AMOUNT", fontSmall, AlignEnum.CENTER,false);
|
||||
printer.appendPrnStr("ACCORDING TO THE CARD ISSUER AGREEMENT", fontSmall, AlignEnum.CENTER,false);
|
||||
}
|
||||
|
||||
@ -846,12 +859,14 @@ public abstract class BaseXPrint {
|
||||
String merchantAddress = "";
|
||||
String merchantAddress2 = "";
|
||||
String merchantPhoneNo = "";
|
||||
String terminalName = "";
|
||||
|
||||
merchantName = SystemParamsOperation.getInstance().getMerchantName();
|
||||
receiptHeader = SystemParamsOperation.getInstance().getReceiptHeader();
|
||||
merchantAddress = SystemParamsOperation.getInstance().getMerchantAddress();
|
||||
merchantAddress2 = SystemParamsOperation.getInstance().getMerchantAddress2();
|
||||
merchantPhoneNo = SystemParamsOperation.getInstance().getMerchantPhoneNo();
|
||||
terminalName = SystemParamsOperation.getInstance().getTerminalName();
|
||||
|
||||
if (receiptHeader == null || TextUtils.equals(receiptHeader, "") || receiptHeader.trim().isEmpty()) {
|
||||
receiptHeader = merchantName;
|
||||
@ -865,13 +880,18 @@ public abstract class BaseXPrint {
|
||||
// if (TextUtils.equals(merchantPhoneNo, "") || merchantPhoneNo == null) {
|
||||
// merchantPhoneNo = "MERCHANT PHONENO";
|
||||
// }
|
||||
|
||||
if(TextUtils.equals(terminalName, "") || terminalName == null){
|
||||
terminalName = "Terminal Name";
|
||||
}
|
||||
|
||||
printer.appendPrnStr(receiptHeader, fontNormal, AlignEnum.CENTER,false);
|
||||
printer.appendPrnStr(merchantAddress, fontNormal, AlignEnum.CENTER,false);
|
||||
printer.appendPrnStr(merchantAddress2, fontNormal, AlignEnum.CENTER,false);
|
||||
printer.appendPrnStr(terminalName, fontNormal, AlignEnum.LEFT, false);
|
||||
// printer.appendPrnStr(merchantPhoneNo, fontNormal, AlignEnum.CENTER,false);
|
||||
emptyLine(1);
|
||||
// emptyLine(1);
|
||||
// dashBreak();
|
||||
lineBreak();
|
||||
}
|
||||
|
||||
protected void printKeyInfo() {
|
||||
@ -925,8 +945,9 @@ public abstract class BaseXPrint {
|
||||
batchNum = payDetail.getBatchNo();
|
||||
|
||||
|
||||
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);
|
||||
printer.appendPrnStr("TIME :" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT, false);
|
||||
if (payDetail.getTransactionType() == TransactionsType.MMQR.value && payDetail.getQrTransStatus() == 1) {
|
||||
printer.appendPrnStr("TRACE NO:" + traceNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
||||
} else if (!payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.MMQR_REFUND.value && payDetail.getTransactionType() != TransactionsType.MMQR.value) {
|
||||
@ -949,7 +970,6 @@ public abstract class BaseXPrint {
|
||||
printer.appendPrnStr(transType.replace("_", " "),fontNormal, AlignEnum.CENTER,true);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
|
||||
SimpleDateFormat dfm = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.getDefault());
|
||||
currentTime = dfm.format(new Date());
|
||||
BitmapFactory.Options opts = new BitmapFactory.Options();
|
||||
bitmap = BitmapFactory.decodeResource(resources, R.drawable.print_kbz_logo_new_1, opts);
|
||||
bitmap = BitmapFactory.decodeResource(resources, R.drawable.print_kbz_logo_new, opts);
|
||||
}
|
||||
|
||||
|
||||
@ -172,7 +172,7 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
|
||||
|
||||
}
|
||||
|
||||
emptyLine(1);
|
||||
// emptyLine(1);
|
||||
startPrintNex();
|
||||
|
||||
} catch (RemoteException | NullPointerException e) {
|
||||
@ -234,7 +234,7 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
|
||||
printTransHeader(payDetail);
|
||||
printTransDetailReport(lists,hostType);
|
||||
|
||||
emptyLine(1);
|
||||
// emptyLine(1);
|
||||
startPrintNex();
|
||||
} catch (RemoteException e) {
|
||||
e.printStackTrace();
|
||||
@ -310,9 +310,6 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
|
||||
try {
|
||||
|
||||
// payDetail.getCustomerMobile() // as channel type
|
||||
|
||||
|
||||
|
||||
if(payDetail.getTransactionType() == TransactionsType.MMQR.value && payDetail.getQrTransStatus() == 1 ) {
|
||||
print2ColumnsStringNoSpace("PAYMENT TYPE ",": "+ (payDetail.getCustomerMobile() == null || payDetail.getCustomerMobile().isEmpty() ? "-": payDetail.getCustomerMobile().toUpperCase()));
|
||||
print2ColumnsStringNoSpace("TRXN REF ",": "+ payDetail.getReferNo());
|
||||
@ -342,7 +339,9 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
|
||||
if (payDetail.getQrTransStatus() == 1) {
|
||||
|
||||
boolean isNeedMinusSign = payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value;
|
||||
print2ColumnsStringBoldCenter("TOTAL MMK", isNeedMinusSign? "- "+PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()): PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()), AlignEnum.LEFT);
|
||||
lineBreak();
|
||||
print2ColumnsStringBoldCenter("TOTAL MMK", isNeedMinusSign? "- "+PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()): PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()),fontLarge, AlignEnum.LEFT);
|
||||
lineBreak();
|
||||
|
||||
// if(payDetail.getTransactionType() == TransactionsType.MMQR.value) {
|
||||
// String data = payDetail.getReferNo()+"-"+payDetail.getAmount()+"-"+payDetail.getQrTransId()+"-"+payDetail.getMerchantNo()+"-"+payDetail.getCustomerMobile().toUpperCase()+"-"+payDetail.getOriginalTransDate();
|
||||
|
||||
@ -553,6 +553,21 @@ public class POSUtil {
|
||||
|
||||
}
|
||||
|
||||
public String formatDisplayDate(String input){
|
||||
|
||||
SimpleDateFormat inputFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
|
||||
SimpleDateFormat outputFormat = new SimpleDateFormat("dd MMM yyyy", Locale.getDefault());
|
||||
|
||||
try {
|
||||
Date date = inputFormat.parse(input);
|
||||
return outputFormat.format(date);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return input;
|
||||
}
|
||||
|
||||
public Date getDateByTransDateTime(String transDate,String transTime) {
|
||||
String dateFormatPattern = "dd/MM/yy HH:mm";
|
||||
SimpleDateFormat formatter = new SimpleDateFormat(dateFormatPattern,Locale.getDefault());
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Loading…
Reference in New Issue
Block a user