diff --git a/paylibs/src/main/assets/fonts/consolab.ttf b/paylibs/src/main/assets/fonts/consolab.ttf deleted file mode 100644 index ef6d555..0000000 Binary files a/paylibs/src/main/assets/fonts/consolab.ttf and /dev/null differ diff --git a/paylibs/src/main/assets/fonts/consolas.ttf b/paylibs/src/main/assets/fonts/consolas.ttf deleted file mode 100644 index 2162134..0000000 Binary files a/paylibs/src/main/assets/fonts/consolas.ttf and /dev/null differ diff --git a/paylibs/src/main/assets/fonts/firacode.ttf b/paylibs/src/main/assets/fonts/fira_code.ttf similarity index 100% rename from paylibs/src/main/assets/fonts/firacode.ttf rename to paylibs/src/main/assets/fonts/fira_code.ttf diff --git a/paylibs/src/main/assets/fonts/firacode_bold.ttf b/paylibs/src/main/assets/fonts/fira_code_bold.ttf similarity index 100% rename from paylibs/src/main/assets/fonts/firacode_bold.ttf rename to paylibs/src/main/assets/fonts/fira_code_bold.ttf diff --git a/paylibs/src/main/assets/fonts/firacode_semibold.ttf b/paylibs/src/main/assets/fonts/fira_code_semibold.ttf similarity index 100% rename from paylibs/src/main/assets/fonts/firacode_semibold.ttf rename to paylibs/src/main/assets/fonts/fira_code_semibold.ttf diff --git a/paylibs/src/main/assets/fonts/firacode_regular.ttf b/paylibs/src/main/assets/fonts/firacode_regular.ttf deleted file mode 100644 index 3a57209..0000000 Binary files a/paylibs/src/main/assets/fonts/firacode_regular.ttf and /dev/null differ diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java index 4472e4a..d23b1bf 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java @@ -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,12 +945,13 @@ 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); + 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) { - 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)) { printer.appendPrnStr("HOST :" + HOST_NAME_MPU + "", fontNormal, AlignEnum.LEFT,false); } @@ -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); } diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/PrintXImpl.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/PrintXImpl.java index 830853b..afe203b 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/PrintXImpl.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/PrintXImpl.java @@ -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,16 +310,13 @@ 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()); if(payDetail.getQrReferNo() != null && !payDetail.getQrReferNo().isEmpty()) { print2ColumnsStringNoSpace("MMQR REF ",": "+ payDetail.getQrReferNo()); } - print2ColumnsStringNoSpace("TRXN ID ",": "+ (payDetail.getQrTransId() == null || payDetail.getQrTransId().isEmpty() ? "-": payDetail.getQrTransId())); + print2ColumnsStringNoSpace("TRXN ID",":"+ (payDetail.getQrTransId() == null || payDetail.getQrTransId().isEmpty() ? "-": payDetail.getQrTransId())); print2ColumnsStringNoSpace("STATUS ",": "+ PrintUtils.getInstance().getQrTransStatus(payDetail.getQrTransStatus())); } else if(payDetail.getTransactionType() == TransactionsType.MMQR_REFUND.value && payDetail.getQrTransStatus() == 1) { @@ -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(); diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/POSUtil.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/POSUtil.java index a1ef4cf..676d597 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/POSUtil.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/POSUtil.java @@ -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()); diff --git a/paylibs/src/main/res/drawable/print_kbz_logo_new.png b/paylibs/src/main/res/drawable/print_kbz_logo_new.png index 7d22681..f6444bd 100644 Binary files a/paylibs/src/main/res/drawable/print_kbz_logo_new.png and b/paylibs/src/main/res/drawable/print_kbz_logo_new.png differ diff --git a/paylibs/src/main/res/drawable/print_kbz_logo_new_1.png b/paylibs/src/main/res/drawable/print_kbz_logo_new1.png similarity index 100% rename from paylibs/src/main/res/drawable/print_kbz_logo_new_1.png rename to paylibs/src/main/res/drawable/print_kbz_logo_new1.png