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 6dcb0e7..5edb088 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 @@ -219,7 +219,9 @@ public abstract class BaseXPrint { String schemeName = ""; schemeName = payDetail.getAccountType() == null ? "" : payDetail.getAccountType(); - sunmiPrinterService.setFontSize(18, innerResultCallback); + sunmiPrinterService.setFontSize(20, innerResultCallback); + sunmiPrinterService.setAlignment(0, innerResultCallback); + sunmiPrinterService.setFontName("libre_basker_ville.ttf", innerResultCallback); String secondLineName = PrintUtils.getInstance().processNameSpaceSecondLine(PrintUtils.getInstance().getCardHolderName(payDetail.getCardHolderName())); String firstLineName = PrintUtils.getInstance().processNameSpaceFirstLine(PrintUtils.getInstance().getCardHolderName(payDetail.getCardHolderName()), secondLineName); @@ -227,32 +229,45 @@ public abstract class BaseXPrint { if(payDetail.getAccountType().contains("Ctls")) { cardType = payDetail.getAccountType().replace(" Ctls",""); } - sunmiPrinterService.printColumnsString(new String[]{"CARD NUM :", PrintUtils.getInstance().cardNumMasking(payDetail.getCardNo())}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"CARD NUM :", PrintUtils.getInstance().cardNumMasking(payDetail.getCardNo())}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback); + sunmiPrinterService.printText("CARD NUMBER : "+ PrintUtils.getInstance().cardNumMasking(payDetail.getCardNo()) + "\n", innerResultCallback); if(!firstLineName.isEmpty()) { - sunmiPrinterService.printColumnsString(new String[]{"CARD HOLDER NAME:", firstLineName}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback); + sunmiPrinterService.printText("CARD HOLDER NAME: " + firstLineName + "\n", innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"CARD HOLDER NAME:", firstLineName}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback); } if(!secondLineName.isEmpty()) { - sunmiPrinterService.printColumnsString(new String[]{secondLineName, ""}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback); + sunmiPrinterService.printText(" " + secondLineName + "\n", innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{secondLineName, ""}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback); } - sunmiPrinterService.printColumnsString(new String[]{"ENTRY MODE:" + PrintUtils.getInstance().getEntryType(payDetail.getCardType()), "EXPIRY DATE:" + PrintUtils.getInstance().getFormatExpDate(payDetail.getEXPDate())}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback); + sunmiPrinterService.printText("ENTRY MODE : " + PrintUtils.getInstance().getEntryType(payDetail.getCardType()) + "\n", innerResultCallback); + sunmiPrinterService.printText("EXPIRY DATE : " + PrintUtils.getInstance().getFormatExpDate(payDetail.getEXPDate()) + "\n", innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"ENTRY MODE:" + PrintUtils.getInstance().getEntryType(payDetail.getCardType()), "EXPIRY DATE:" + PrintUtils.getInstance().getFormatExpDate(payDetail.getEXPDate())}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback); if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED)) { - sunmiPrinterService.printColumnsString(new String[]{"CARD TYPE:" + cardType, "APPRCODE:" + payDetail.getApprovalCode()}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback); + sunmiPrinterService.printText("CARD TYPE : " + cardType + "\n", innerResultCallback); +// sunmiPrinterService.printText("APPROVAL CODE : " + cardType + "\n", innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"CARD TYPE:" + cardType, "APPRCODE:" + payDetail.getApprovalCode()}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback); } else { - sunmiPrinterService.printColumnsString(new String[]{"CARD TYPE:" + cardType, ""}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback); + sunmiPrinterService.printText("CARD TYPE : " + cardType + "\n", innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"CARD TYPE:" + cardType, ""}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback); } if(payDetail.getAID() == null || payDetail.getAID().isEmpty()){ - sunmiPrinterService.printColumnsString(new String[]{"AID", ":" + MPU_AID}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); + sunmiPrinterService.printText("AID : " + MPU_AID + "\n", innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"AID", ":" + MPU_AID}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); } else { - sunmiPrinterService.printColumnsString(new String[]{"AID", ":" + payDetail.getAID()}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); + sunmiPrinterService.printText("AID : " + payDetail.getAID() + "\n" , innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"AID", ":" + payDetail.getAID()}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); } if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED)) { - sunmiPrinterService.printColumnsString(new String[]{"TXN ID", ":" + payDetail.getReferNo()}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); +// sunmiPrinterService.printText("TXN ID : " + payDetail.getAID() + "\n" , innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"TXN ID", ":" + payDetail.getReferNo()}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); } - sunmiPrinterService.printColumnsString(new String[]{"REF NUM", ":" + payDetail.getReferNo()}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); - sunmiPrinterService.printColumnsString(new String[]{"TRACE No", ":" + payDetail.getVoucherNo()}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); + sunmiPrinterService.printText("REF NUM : " + payDetail.getReferNo() + "\n", innerResultCallback); + sunmiPrinterService.printText("TRACE NO : " + payDetail.getVoucherNo() + "\n", innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"REF NUM", ":" + payDetail.getReferNo()}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); +// sunmiPrinterService.printColumnsString(new String[]{"TRACE No", ":" + payDetail.getVoucherNo()}, new int[]{1, 2}, new int[]{0, 0}, innerResultCallback); if (payDetail.getTradeAnswerCode().equals("00") || payDetail.getTradeAnswerCode().equals("000")) { if (payDetail.getTransactionType() == TransactionType.CASH_ADVANCE) { @@ -800,7 +815,6 @@ public abstract class BaseXPrint { String merchantName = ""; String merchantAddress = ""; String merchantPhoneNo = ""; - String terminalName = ""; List wrappedAddressText = new ArrayList<>(); merchantName = SystemParamsOperation.getInstance().getMerchantName(); @@ -825,14 +839,11 @@ public abstract class BaseXPrint { merchantPhoneNo = ""; } - try { - sunmiPrinterService.sendRAWData(boldOn(), innerResultCallback); sunmiPrinterService.setFontName(typeface_name, innerResultCallback); sunmiPrinterService.setFontSize(22, innerResultCallback); sunmiPrinterService.printText(receiptHeader + "\n", innerResultCallback); -// sunmiPrinterService.printTextWithFont(merchantName + "\n", "", 24, null); sunmiPrinterService.sendRAWData(boldOff(), innerResultCallback); sunmiPrinterService.setFontSize(textSize, innerResultCallback); for (String addressLine : wrappedAddressText) { @@ -876,12 +887,8 @@ public abstract class BaseXPrint { protected void printTransHeader(PayDetail payDetail) { String invoiceNo = payDetail.getInvoiceNo().isEmpty()?SystemParamsOperation.getInstance().getCurrentInvoiceNum() : payDetail.getInvoiceNo(); String transType = payDetail.getTransType(); - String batchNum = ""; String traceNum = payDetail.getVoucherNo(); -// String traceNum = SystemParamsOperation.getInstance().getCurrentSerialNum(); - - - batchNum = payDetail.getBatchNo(); + String batchNum = payDetail.getBatchNo(); try { sunmiPrinterService.setFontSize(20, innerResultCallback); @@ -894,26 +901,13 @@ public abstract class BaseXPrint { } else if (payDetail.getTransType().equals(SUMMARY)) { sunmiPrinterService.printColumnsString(new String[]{"HOST :" + HOST_NAME_MPU, ""}, new int[]{2, 1}, new int[]{0, 2}, innerResultCallback); } - - /* 17 Sept 2024 Yoma requested to changed slip design for QR*/ -// sunmiPrinterService.printColumnsString(new String[]{"MID :" + payDetail.getMerchantNo(), ""}, new int[]{3, 1}, new int[]{0, 2}, innerResultCallback); -// sunmiPrinterService.printColumnsString(new String[]{"TID :" + payDetail.getTerminalNo(), ""}, new int[]{3, 1}, new int[]{0, 2}, innerResultCallback); - - sunmiPrinterService.printText("MID :"+payDetail.getMerchantNo()+"\n",innerResultCallback); - sunmiPrinterService.printText("TID :"+payDetail.getTerminalNo()+"\n",innerResultCallback); - + sunmiPrinterService.printText("MID :"+payDetail.getMerchantNo()+"\n",innerResultCallback); + sunmiPrinterService.printText("TID :"+payDetail.getTerminalNo()+"\n",innerResultCallback); sunmiPrinterService.lineWrap(2, innerResultCallback); - sunmiPrinterService.sendRAWData(boldOn(), innerResultCallback); sunmiPrinterService.setAlignment(1, innerResultCallback); sunmiPrinterService.setFontSize(22, innerResultCallback); -// if(payDetail.transactionType == TransactionsType.WAVEPAY_REFUND.value) { -// sunmiPrinterService.printText("WAVEPAY (REFUND)" + "" + "\n", null); -// } else { -// sunmiPrinterService.printText(transType.replace("_", " ") + "" + "\n", null); -// } sunmiPrinterService.printText(transType.replace("_", " ") + "" + "\n", null); - sunmiPrinterService.sendRAWData(boldOff(), innerResultCallback); sunmiPrinterService.setFontSize(textSize, innerResultCallback); if (!(payDetail.getQrTransStatus() != 1 && (payDetail.getTransactionType() == TransactionsType.WAVEPAY_REFUND.value || payDetail.getTransactionType() == TransactionsType.WAVEPAY.value))) {