mpu receipt fixed

This commit is contained in:
MooN 2026-01-29 14:49:21 +06:30
parent 77d1050021
commit 7346bae086
2 changed files with 17 additions and 26 deletions

View File

@ -321,7 +321,7 @@ public abstract class BaseXPrint {
String firsLineName = PrintUtils.getInstance().processNameSpaceFirstLine(PrintUtils.getInstance().getCardHolderName(payDetail.getCardHolderName()), secondLineName); String firsLineName = PrintUtils.getInstance().processNameSpaceFirstLine(PrintUtils.getInstance().getCardHolderName(payDetail.getCardHolderName()), secondLineName);
print2ColumnsStringNoSpace("CARD NUM :", PrintUtils.getInstance().maskCardNumberPciDss(payDetail.getCardNo())); print2ColumnsStringNoSpace("CARD NUM :", PrintUtils.getInstance().maskCardNumberPciDss(payDetail.getCardNo()));
print2ColumnsStringNoSpace("ENTRY MODE:", PrintUtils.getInstance().getEntryType(payDetail.getCardType())); print2ColumnsStringNoSpace("ENTRY MODE :", PrintUtils.getInstance().getEntryType(payDetail.getCardType()));
print2ColumnsStringNoSpace("EXP DATE :",PrintUtils.getInstance().getFormatExpDate(payDetail.getEXPDate())); print2ColumnsStringNoSpace("EXP DATE :",PrintUtils.getInstance().getFormatExpDate(payDetail.getEXPDate()));
print2ColumnsStringNoSpace("CARD TYPE :", payDetail.getAccountType()); print2ColumnsStringNoSpace("CARD TYPE :", payDetail.getAccountType());
print2ColumnsStringNoSpace("TRACE NUM :", payDetail.getVoucherNo()); print2ColumnsStringNoSpace("TRACE NUM :", payDetail.getVoucherNo());
@ -356,33 +356,31 @@ public abstract class BaseXPrint {
print2ColumnsStringNoSpace("TXN FEES", ":" + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAdditionalAmount())); print2ColumnsStringNoSpace("TXN FEES", ":" + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAdditionalAmount()));
} }
} }
// emptyLine(2); dotBreak();
lineBreak();
// 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")) {
String currencySign = currencyCodeToText(payDetail.getCurrencyCode()); String currencySign = currencyCodeToText(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,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("AMOUNT:" + currencySign, "- " + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount())); 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("AMOUNT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount)); print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount));
} else { } else {
print2SideString("AMOUNT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount())); print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()));
} }
lineBreak(); dotBreak();
} else { } else {
lineBreak(); dotBreak();
emptyLine(2); emptyLine(2);
printer.appendPrnStr("TRANSACTION FAIL", fontNormal, AlignEnum.CENTER,true); printer.appendPrnStr("TRANSACTION FAIL", fontNormal, AlignEnum.CENTER,true);
printer.appendPrnStr(BaseErrorCode.getCode(payDetail.getTradeAnswerCode()), fontNormal, AlignEnum.CENTER,true); printer.appendPrnStr(BaseErrorCode.getCode(payDetail.getTradeAnswerCode()), fontNormal, AlignEnum.CENTER,true);
emptyLine(2); emptyLine(2);
lineBreak(); dotBreak();
} }
} }
@ -1123,11 +1121,9 @@ public abstract class BaseXPrint {
printer.appendPrnStr("DATE :" + POSUtil.getInstance().formatDisplayDate(payDetail.getTransDate()), 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); 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("INV NO :" + invoiceNo , fontNormal, AlignEnum.LEFT,false);
printer.appendPrnStr("TRACE NO :" + traceNum , fontNormal, AlignEnum.LEFT,false); printer.appendPrnStr("TRACE NO :" + traceNum , 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) { } 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);
} }
@ -1142,19 +1138,17 @@ public abstract class BaseXPrint {
} }
if(isSettlement) { if(isSettlement) {
printer.appendPrnStr("BATCH :" + batchNum, fontNormal, AlignEnum.LEFT,false); printer.appendPrnStr("BATCH :" + batchNum, fontNormal, AlignEnum.LEFT,false);
printer.appendPrnStr("HOST :" + "KBZ Bank "+currencySign, fontNormal, AlignEnum.LEFT,false); printer.appendPrnStr("HOST :" + "KBZ Bank "+currencySign, fontNormal, AlignEnum.LEFT,false);
} }
if(isCardTransaction) { if(isCardTransaction) {
lineBreak(); dotBreak();
} else { } else {
emptyLine(1); emptyLine(1);
} }
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); // printer.appendPrnStr("TRAN TYPE :" + transType.replace("_", " "),fontNormal, AlignEnum.LEFT,false);
@ -1188,10 +1182,6 @@ public abstract class BaseXPrint {
printer.appendPrnStr("", printedTime, fontNormal, false); printer.appendPrnStr("", printedTime, fontNormal, false);
printer.appendPrnStr(title, fontNormal , AlignEnum.CENTER, 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(); dotBreak();
} }
protected void printTransHeader(PayDetail payDetail, HostType hostType) { protected void printTransHeader(PayDetail payDetail, HostType hostType) {

View File

@ -266,6 +266,7 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
printTransDetail(payDetail); printTransDetail(payDetail);
if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT)) { if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT)) {
emptyLine(2);
printTransFooter(false,payDetail, isMerchantCopy); printTransFooter(false,payDetail, isMerchantCopy);
} else { } else {
String receiptFooter = SystemParamsOperation.getInstance().getReceiptFooter(); String receiptFooter = SystemParamsOperation.getInstance().getReceiptFooter();