Compare commits
4 Commits
f8066d50fb
...
5bb07df9e3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5bb07df9e3 | ||
|
|
f0799455cb | ||
|
|
66c969873e | ||
|
|
46bf866de7 |
@ -8,7 +8,13 @@
|
|||||||
* fixed recent transaction only working for top 3
|
* fixed recent transaction only working for top 3
|
||||||
* routed to dashboard after printing receipt
|
* routed to dashboard after printing receipt
|
||||||
* receipt printing animation re-scale
|
* receipt printing animation re-scale
|
||||||
*
|
|
||||||
### version 3.4
|
### version 3.4
|
||||||
* disable display always on
|
* disable display always on
|
||||||
|
|
||||||
* auto-settlement
|
* auto-settlement
|
||||||
|
* show expiry date as "`**`/`**`"
|
||||||
|
* align the customer name, in paper slip
|
||||||
|
* settlement fixed in both UI and system
|
||||||
|
* amount, date, time fixed in Void Preview
|
||||||
|
* show reversal status in trans records
|
||||||
@ -50,7 +50,6 @@ import androidx.compose.ui.draw.clip
|
|||||||
import androidx.compose.ui.draw.rotate
|
import androidx.compose.ui.draw.rotate
|
||||||
import androidx.compose.ui.graphics.vector.ImageVector
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
@ -524,26 +523,3 @@ fun Item(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val previewTransactions = listOf(
|
|
||||||
TrnxRecord(
|
|
||||||
1L, "Sale", "MMK 10,000", "**** 1234", "06/10 14:32",
|
|
||||||
isVoided = false, isApproved = true
|
|
||||||
),
|
|
||||||
TrnxRecord(
|
|
||||||
2L, "Void", "MMK 5,500", "**** 5678", "06/10 13:10",
|
|
||||||
isVoided = true, isApproved = false
|
|
||||||
),
|
|
||||||
TrnxRecord(
|
|
||||||
3L, "Refund", "MMK 2,000", "**** 9012", "06/09 09:45",
|
|
||||||
isVoided = false, isApproved = true
|
|
||||||
),
|
|
||||||
TrnxRecord(
|
|
||||||
4L, "Sale", "MMK 30,000", "**** 3456", "06/09 08:00",
|
|
||||||
isVoided = false, isApproved = true
|
|
||||||
),
|
|
||||||
TrnxRecord(
|
|
||||||
5L, "Settlement", "MMK 0", "----", "06/08 18:00",
|
|
||||||
isVoided = false, isApproved = true
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|||||||
@ -55,8 +55,6 @@ import com.mob.utsmyanmar.BuildConfig
|
|||||||
import com.mob.utsmyanmar.R
|
import com.mob.utsmyanmar.R
|
||||||
import com.mob.utsmyanmar.ui.components.appbar.AppBar
|
import com.mob.utsmyanmar.ui.components.appbar.AppBar
|
||||||
import com.mob.utsmyanmar.ui.device_info.DeviceInfoUiState
|
import com.mob.utsmyanmar.ui.device_info.DeviceInfoUiState
|
||||||
import com.mob.utsmyanmar.ui.preview.P2Preview
|
|
||||||
import com.mob.utsmyanmar.ui.preview.P3Preview
|
|
||||||
import com.mob.utsmyanmar.ui.theme.Color
|
import com.mob.utsmyanmar.ui.theme.Color
|
||||||
import com.utsmyanmar.paylibs.sign_on.EchoTestProcess
|
import com.utsmyanmar.paylibs.sign_on.EchoTestProcess
|
||||||
import com.utsmyanmar.paylibs.sign_on.SignOnListener
|
import com.utsmyanmar.paylibs.sign_on.SignOnListener
|
||||||
@ -447,11 +445,3 @@ fun DashboardScreen2(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.N)
|
|
||||||
@P3Preview
|
|
||||||
@P2Preview
|
|
||||||
@Composable
|
|
||||||
fun PreviewDashboardScreen2() {
|
|
||||||
DashboardScreen2(dashboardUiState = DashboardUiState(previewTransactions))
|
|
||||||
}
|
|
||||||
|
|||||||
@ -88,7 +88,12 @@ class DashboardViewModel @Inject constructor(
|
|||||||
|
|
||||||
private fun PayDetail.toRecord(): TrnxRecord {
|
private fun PayDetail.toRecord(): TrnxRecord {
|
||||||
val baseType = transType?.takeIf { it.isNotBlank() }?.let { formatTypeLabel(it) } ?: "Transaction"
|
val baseType = transType?.takeIf { it.isNotBlank() }?.let { formatTypeLabel(it) } ?: "Transaction"
|
||||||
val type = if (isCanceled) "Void" else baseType
|
val type = when {
|
||||||
|
transactionType == TransactionsType.REVERSAL.value && !baseType.equals("Reversal", ignoreCase = true) ->
|
||||||
|
"$baseType (Reversal)"
|
||||||
|
isCanceled -> "Void"
|
||||||
|
else -> baseType
|
||||||
|
}
|
||||||
val displayAmount = displayAmount()
|
val displayAmount = displayAmount()
|
||||||
val amountText = "MMK ${formatAmount(displayAmount)}"
|
val amountText = "MMK ${formatAmount(displayAmount)}"
|
||||||
val card = CardNo?.takeIf { it.length >= 4 }?.let { "**** ${it.takeLast(4)}" } ?: "----"
|
val card = CardNo?.takeIf { it.length >= 4 }?.let { "**** ${it.takeLast(4)}" } ?: "----"
|
||||||
|
|||||||
@ -49,7 +49,7 @@ internal fun HistoryTransactionCard(
|
|||||||
horizontalArrangement = Arrangement.SpaceBetween
|
horizontalArrangement = Arrangement.SpaceBetween
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = payDetail.transType.ifBlank { "UNKNOWN" },
|
text = displayTransactionTitle(payDetail),
|
||||||
color = Color.LegacyRed,
|
color = Color.LegacyRed,
|
||||||
style = MaterialTheme.typography.titleSmall
|
style = MaterialTheme.typography.titleSmall
|
||||||
)
|
)
|
||||||
@ -81,7 +81,7 @@ internal fun HistoryTransactionDetailCard(payDetail: PayDetail) {
|
|||||||
verticalArrangement = Arrangement.spacedBy(8.dp)
|
verticalArrangement = Arrangement.spacedBy(8.dp)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = payDetail.transType.ifBlank { "Transaction" },
|
text = displayTransactionTitle(payDetail),
|
||||||
color = Color.LegacyRed,
|
color = Color.LegacyRed,
|
||||||
style = MaterialTheme.typography.titleMedium
|
style = MaterialTheme.typography.titleMedium
|
||||||
)
|
)
|
||||||
@ -92,7 +92,7 @@ internal fun HistoryTransactionDetailCard(payDetail: PayDetail) {
|
|||||||
SummaryLine("Approval", payDetail.approvalCode.orEmpty())
|
SummaryLine("Approval", payDetail.approvalCode.orEmpty())
|
||||||
SummaryLine("Date", payDetail.tradeDate)
|
SummaryLine("Date", payDetail.tradeDate)
|
||||||
SummaryLine("Time", payDetail.tradeTime)
|
SummaryLine("Time", payDetail.tradeTime)
|
||||||
SummaryLine("Status", payDetail.tradeAnswerCode.orEmpty())
|
SummaryLine("Status", displayTransactionStatus(payDetail))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,6 +26,22 @@ internal fun prepareReprintPayDetail(payDetail: PayDetail): PayDetail {
|
|||||||
return payDetail
|
return payDetail
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal fun displayTransactionStatus(payDetail: PayDetail): String {
|
||||||
|
if (payDetail.transactionType == TransactionsType.REVERSAL.value) {
|
||||||
|
return if (payDetail.isNeedReversal) "REVERSAL FAILED" else "REVERSAL SUCCESS"
|
||||||
|
}
|
||||||
|
return POSUtil.getInstance().getResponse(payDetail.tradeAnswerCode.orEmpty().ifBlank { "-" })
|
||||||
|
}
|
||||||
|
|
||||||
|
internal fun displayTransactionTitle(payDetail: PayDetail): String {
|
||||||
|
val title = payDetail.transType.ifBlank { "TRANSACTION" }
|
||||||
|
return if (payDetail.transactionType == TransactionsType.REVERSAL.value) {
|
||||||
|
"$title (REVERSAL)"
|
||||||
|
} else {
|
||||||
|
title
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal fun isValidForReprint(payDetail: PayDetail): Boolean {
|
internal fun isValidForReprint(payDetail: PayDetail): Boolean {
|
||||||
if (payDetail.transactionType == TransactionsType.SETTLEMENT.value) return false
|
if (payDetail.transactionType == TransactionsType.SETTLEMENT.value) return false
|
||||||
if (payDetail.transactionType == TransactionsType.WAVEPAY.value && payDetail.qrTransStatus != 1) {
|
if (payDetail.transactionType == TransactionsType.WAVEPAY.value && payDetail.qrTransStatus != 1) {
|
||||||
|
|||||||
@ -38,6 +38,8 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.mob.utsmyanmar.ui.components.appbar.AppBar
|
import com.mob.utsmyanmar.ui.components.appbar.AppBar
|
||||||
|
import com.mob.utsmyanmar.ui.history_functions.displayTransactionStatus
|
||||||
|
import com.mob.utsmyanmar.ui.history_functions.displayTransactionTitle
|
||||||
import com.mob.utsmyanmar.ui.theme.Color
|
import com.mob.utsmyanmar.ui.theme.Color
|
||||||
import com.mob.utsmyanmar.ui.transaction_result.TransactionResultState
|
import com.mob.utsmyanmar.ui.transaction_result.TransactionResultState
|
||||||
import com.mob.utsmyanmar.ui.transaction_result.TransactionResultViewModel
|
import com.mob.utsmyanmar.ui.transaction_result.TransactionResultViewModel
|
||||||
@ -240,11 +242,11 @@ fun ReceiptPreview(
|
|||||||
ReceiptRow("Merchant", state.payDetail?.merchantName.toString() )
|
ReceiptRow("Merchant", state.payDetail?.merchantName.toString() )
|
||||||
ReceiptRow("Terminal ID", state.payDetail?.terminalNo.toString() )
|
ReceiptRow("Terminal ID", state.payDetail?.terminalNo.toString() )
|
||||||
ReceiptRow("Trace No", state.payDetail?.voucherNo.toString() )
|
ReceiptRow("Trace No", state.payDetail?.voucherNo.toString() )
|
||||||
ReceiptRow("Transaction", state.payDetail?.transType.toString())
|
ReceiptRow("Transaction", state.payDetail?.let(::displayTransactionTitle).orEmpty())
|
||||||
ReceiptRow("Amount", POSUtil.getInstance().getDecimalAmountSeparatorFormat(state.payDetail?.amount?:0))
|
ReceiptRow("Amount", POSUtil.getInstance().getDecimalAmountSeparatorFormat(state.payDetail?.amount?:0))
|
||||||
ReceiptRow("Card Type", state.payDetail?.accountType.toString())
|
ReceiptRow("Card Type", state.payDetail?.accountType.toString())
|
||||||
ReceiptRow("Card No", state.payDetail?.cardNo.toString())
|
ReceiptRow("Card No", state.payDetail?.cardNo.toString())
|
||||||
ReceiptRow("Status", POSUtil.getInstance().getResponse(state.payDetail?.tradeAnswerCode?: "-"))
|
ReceiptRow("Status", state.payDetail?.let(::displayTransactionStatus).orEmpty())
|
||||||
ReceiptRow("Date", state.payDetail?.transDate.toString() )
|
ReceiptRow("Date", state.payDetail?.transDate.toString() )
|
||||||
ReceiptRow("Time", state.payDetail?.transTime.toString())
|
ReceiptRow("Time", state.payDetail?.transTime.toString())
|
||||||
ReceiptRow("Ref No", state.payDetail?.referNo.toString())
|
ReceiptRow("Ref No", state.payDetail?.referNo.toString())
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package com.mob.utsmyanmar.ui.sale_void
|
package com.mob.utsmyanmar.ui.sale_void
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
@ -138,8 +137,8 @@ private fun TransactionDetailsCard(transaction: PayDetail) {
|
|||||||
DetailRow("Card No", transaction.cardNo)
|
DetailRow("Card No", transaction.cardNo)
|
||||||
DetailRow("Reference", transaction.referNo)
|
DetailRow("Reference", transaction.referNo)
|
||||||
DetailRow("Approval", transaction.approvalCode.orEmpty())
|
DetailRow("Approval", transaction.approvalCode.orEmpty())
|
||||||
DetailRow("Date", transaction.tradeDate)
|
DetailRow("Date", transaction.transDate)
|
||||||
DetailRow("Time", transaction.tradeTime)
|
DetailRow("Time", transaction.transTime)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -125,7 +125,9 @@ class TransactionResultViewModel @Inject constructor(
|
|||||||
when {
|
when {
|
||||||
isNonApprovedTrade(payDetail) &&
|
isNonApprovedTrade(payDetail) &&
|
||||||
isNonWavepayTransaction(transactionType) -> {
|
isNonWavepayTransaction(transactionType) -> {
|
||||||
|
if (SystemParamsOperation.getInstance().isPrintErrorSlip) {
|
||||||
startPrintProcess(sharedViewModel, false)
|
startPrintProcess(sharedViewModel, false)
|
||||||
|
}
|
||||||
isCardInside()
|
isCardInside()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -174,6 +174,7 @@ class TMSSetupsImpl : TMSSetups {
|
|||||||
"clear_batch_time" -> ops.clearBatchTime = data
|
"clear_batch_time" -> ops.clearBatchTime = data
|
||||||
"alert_sound_enable" -> ops.isAlertSound = parseBoolean(data)
|
"alert_sound_enable" -> ops.isAlertSound = parseBoolean(data)
|
||||||
"auto_print_enable" -> ops.isAutoPrintCustomerCopy = parseBoolean(data)
|
"auto_print_enable" -> ops.isAutoPrintCustomerCopy = parseBoolean(data)
|
||||||
|
"print_error_slip" -> ops.setPrintErrorSlip(parseBoolean(data))
|
||||||
"ecr_enable" -> ops.ecrStatus = parseBoolean(data)
|
"ecr_enable" -> ops.ecrStatus = parseBoolean(data)
|
||||||
"manual_entry_enable" -> ops.setManualEntyrStatus(parseBoolean(data))
|
"manual_entry_enable" -> ops.setManualEntyrStatus(parseBoolean(data))
|
||||||
"mmqr_interval_waiting_time" -> ops.waveIntervalTime = data
|
"mmqr_interval_waiting_time" -> ops.waveIntervalTime = data
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import android.graphics.BitmapFactory;
|
|||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.sunmi.peripheral.printer.InnerPrinterCallback;
|
|
||||||
import com.sunmi.peripheral.printer.InnerResultCallback;
|
import com.sunmi.peripheral.printer.InnerResultCallback;
|
||||||
import com.sunmi.peripheral.printer.SunmiPrinterService;
|
import com.sunmi.peripheral.printer.SunmiPrinterService;
|
||||||
import com.utsmyanmar.paylibs.Constant;
|
import com.utsmyanmar.paylibs.Constant;
|
||||||
@ -17,7 +16,6 @@ import com.utsmyanmar.paylibs.model.SettleData;
|
|||||||
import com.utsmyanmar.paylibs.model.TradeData;
|
import com.utsmyanmar.paylibs.model.TradeData;
|
||||||
import com.utsmyanmar.paylibs.system.BaseErrorCode;
|
import com.utsmyanmar.paylibs.system.BaseErrorCode;
|
||||||
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
|
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
|
||||||
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsSettings;
|
|
||||||
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionType;
|
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionType;
|
||||||
import com.utsmyanmar.paylibs.utils.params.Params;
|
import com.utsmyanmar.paylibs.utils.params.Params;
|
||||||
import com.utsmyanmar.paylibs.utils.print_utils.BitmapUtils;
|
import com.utsmyanmar.paylibs.utils.print_utils.BitmapUtils;
|
||||||
@ -302,7 +300,8 @@ public class PrintReceipt {
|
|||||||
if (!secondLineName.equals("")) {
|
if (!secondLineName.equals("")) {
|
||||||
sunmiPrinterService.printColumnsString(new String[]{secondLineName, ""}, new int[]{2, 2}, new int[]{0, 1}, null);
|
sunmiPrinterService.printColumnsString(new String[]{secondLineName, ""}, new int[]{2, 2}, new int[]{0, 1}, null);
|
||||||
}
|
}
|
||||||
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}, null);
|
// 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}, null);
|
||||||
|
sunmiPrinterService.printColumnsString(new String[]{"ENTRY MODE:" + PrintUtils.getInstance().getEntryType(payDetail.getCardType()), "EXPIRY DATE:" + "**/**"}, new int[]{2, 2}, new int[]{0, 2}, null);
|
||||||
if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED)) {
|
if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED)) {
|
||||||
sunmiPrinterService.printColumnsString(new String[]{"CARD TYPE:" + payDetail.getAccountType(), "APPRCODE:" + payDetail.getApprovalCode()}, new int[]{2, 2}, new int[]{0, 2}, null);
|
sunmiPrinterService.printColumnsString(new String[]{"CARD TYPE:" + payDetail.getAccountType(), "APPRCODE:" + payDetail.getApprovalCode()}, new int[]{2, 2}, new int[]{0, 2}, null);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -233,7 +233,7 @@ public abstract class BaseXPrint {
|
|||||||
sunmiPrinterService.printText("CARD NUMBER : "+ PrintUtils.getInstance().cardNumMasking(payDetail.getCardNo()) + "\n", innerResultCallback);
|
sunmiPrinterService.printText("CARD NUMBER : "+ PrintUtils.getInstance().cardNumMasking(payDetail.getCardNo()) + "\n", innerResultCallback);
|
||||||
|
|
||||||
if(!firstLineName.isEmpty()) {
|
if(!firstLineName.isEmpty()) {
|
||||||
sunmiPrinterService.printText("CARD HOLDER NAME: " + firstLineName + "\n", innerResultCallback);
|
sunmiPrinterService.printText("CARD HOLDER : " + firstLineName + "\n", innerResultCallback);
|
||||||
// sunmiPrinterService.printColumnsString(new String[]{"CARD HOLDER NAME:", firstLineName}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback);
|
// sunmiPrinterService.printColumnsString(new String[]{"CARD HOLDER NAME:", firstLineName}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback);
|
||||||
}
|
}
|
||||||
if(!secondLineName.isEmpty()) {
|
if(!secondLineName.isEmpty()) {
|
||||||
@ -241,7 +241,8 @@ public abstract class BaseXPrint {
|
|||||||
// sunmiPrinterService.printColumnsString(new String[]{secondLineName, ""}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback);
|
// sunmiPrinterService.printColumnsString(new String[]{secondLineName, ""}, new int[]{2, 2}, new int[]{0, 1}, innerResultCallback);
|
||||||
}
|
}
|
||||||
sunmiPrinterService.printText("ENTRY MODE : " + PrintUtils.getInstance().getEntryType(payDetail.getCardType()) + "\n", innerResultCallback);
|
sunmiPrinterService.printText("ENTRY MODE : " + PrintUtils.getInstance().getEntryType(payDetail.getCardType()) + "\n", innerResultCallback);
|
||||||
sunmiPrinterService.printText("EXPIRY DATE : " + PrintUtils.getInstance().getFormatExpDate(payDetail.getEXPDate()) + "\n", innerResultCallback);
|
// sunmiPrinterService.printText("EXPIRY DATE : " + PrintUtils.getInstance().getFormatExpDate(payDetail.getEXPDate()) + "\n", innerResultCallback);
|
||||||
|
sunmiPrinterService.printText("EXPIRY DATE : " + "**/**" + "\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);
|
// 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)) {
|
if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED)) {
|
||||||
sunmiPrinterService.printText("CARD TYPE : " + cardType + "\n", innerResultCallback);
|
sunmiPrinterService.printText("CARD TYPE : " + cardType + "\n", innerResultCallback);
|
||||||
|
|||||||
@ -57,13 +57,12 @@ public class ReversalAction {
|
|||||||
public ReversalAction setData(TradeData tradeData) {
|
public ReversalAction setData(TradeData tradeData) {
|
||||||
this.tradeData = tradeData;
|
this.tradeData = tradeData;
|
||||||
payDetail = tradeData.getPayDetail();
|
payDetail = tradeData.getPayDetail();
|
||||||
payDetail.setTransactionType(TransactionsType.REVERSAL.value);
|
|
||||||
// payDetail.setTransType(REVERSAL);
|
|
||||||
if (TextUtils.equals(payDetail.getAccountType(), MPU)) {
|
if (TextUtils.equals(payDetail.getAccountType(), MPU)) {
|
||||||
BITMAP = getBitmapMPU(payDetail);
|
BITMAP = getBitmapMPU(payDetail);
|
||||||
} else {
|
} else {
|
||||||
BITMAP = getBitmapUPI(payDetail);
|
BITMAP = getBitmapUPI(payDetail);
|
||||||
}
|
}
|
||||||
|
payDetail.setTransactionType(TransactionsType.REVERSAL.value);
|
||||||
|
|
||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,6 +42,7 @@ public class POSUtil {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public long convertAmount(String amount) {
|
public long convertAmount(String amount) {
|
||||||
long amountValue = 0;
|
long amountValue = 0;
|
||||||
if (amount != null) {
|
if (amount != null) {
|
||||||
@ -170,7 +171,11 @@ public class POSUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String formatAmount(long amount) {
|
public String formatAmount(long amount) {
|
||||||
return String.format("%012d", amount);
|
return String.format(
|
||||||
|
Locale.US,
|
||||||
|
"%,.2f",
|
||||||
|
amount / 100.0
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String responseCodeConverter(String responseCode) {
|
public String responseCodeConverter(String responseCode) {
|
||||||
@ -466,8 +471,7 @@ public class POSUtil {
|
|||||||
} else if (payDetail.getTransactionType() == TransactionsType.CASH_OUT.value) {
|
} else if (payDetail.getTransactionType() == TransactionsType.CASH_OUT.value) {
|
||||||
long totalAmount = payDetail.getAmount() + payDetail.getAdditionalAmount();
|
long totalAmount = payDetail.getAmount() + payDetail.getAdditionalAmount();
|
||||||
return "Transaction for Amount \n" + getDecimalAmountFormat(totalAmount) + " " + currencySign + " Received.";
|
return "Transaction for Amount \n" + getDecimalAmountFormat(totalAmount) + " " + currencySign + " Received.";
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return "Transaction for Amount \n" + getDecimalAmountFormat(payDetail.getAmount()) + " " + currencySign + " Received.";
|
return "Transaction for Amount \n" + getDecimalAmountFormat(payDetail.getAmount()) + " " + currencySign + " Received.";
|
||||||
}
|
}
|
||||||
} else if (TextUtils.equals(payDetail.getAccountType(), "WALLET")) {
|
} else if (TextUtils.equals(payDetail.getAccountType(), "WALLET")) {
|
||||||
@ -496,8 +500,7 @@ public class POSUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return checkResultCode(payDetail.getTradeAnswerCode());
|
return checkResultCode(payDetail.getTradeAnswerCode());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -715,6 +718,7 @@ public class POSUtil {
|
|||||||
}
|
}
|
||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean checkBooleanCardNo(String cardNo) {
|
public boolean checkBooleanCardNo(String cardNo) {
|
||||||
return !cardNo.equals("-");
|
return !cardNo.equals("-");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -781,6 +781,11 @@ public class SystemParamsOperation {
|
|||||||
return params.isAutoPrintCustomerCopy();
|
return params.isAutoPrintCustomerCopy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isPrintErrorSlip() {
|
||||||
|
SystemParamsSettings params = getSystemParamsSettings();
|
||||||
|
return params.isPrintErrorSlip();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean getManualEntryStatus() {
|
public boolean getManualEntryStatus() {
|
||||||
SystemParamsSettings params = getSystemParamsSettings();
|
SystemParamsSettings params = getSystemParamsSettings();
|
||||||
return params.getManualEntryStatus();
|
return params.getManualEntryStatus();
|
||||||
@ -897,6 +902,12 @@ public class SystemParamsOperation {
|
|||||||
saveSystemParamsSettings(params);
|
saveSystemParamsSettings(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPrintErrorSlip(boolean printErrorSlip) {
|
||||||
|
SystemParamsSettings params = getSystemParamsSettings();
|
||||||
|
params.setPrintErrorSlip(printErrorSlip);
|
||||||
|
saveSystemParamsSettings(params);
|
||||||
|
}
|
||||||
|
|
||||||
public void setReceiptHeader(String receiptHeader) {
|
public void setReceiptHeader(String receiptHeader) {
|
||||||
SystemParamsSettings params = getSystemParamsSettings();
|
SystemParamsSettings params = getSystemParamsSettings();
|
||||||
params.setReceiptHeader(receiptHeader);
|
params.setReceiptHeader(receiptHeader);
|
||||||
|
|||||||
@ -172,6 +172,8 @@ public class SystemParamsSettings implements Serializable {
|
|||||||
|
|
||||||
private boolean isAutoPrintCustomerCopy = false;
|
private boolean isAutoPrintCustomerCopy = false;
|
||||||
|
|
||||||
|
private boolean isPrintErrorSlip = false;
|
||||||
|
|
||||||
private boolean isRandomPinPad = false;
|
private boolean isRandomPinPad = false;
|
||||||
|
|
||||||
private boolean auto_update_status = true;
|
private boolean auto_update_status = true;
|
||||||
@ -420,6 +422,10 @@ public class SystemParamsSettings implements Serializable {
|
|||||||
|
|
||||||
protected void setAutoPrintCustomerCopy(boolean flag) { this.isAutoPrintCustomerCopy = flag; }
|
protected void setAutoPrintCustomerCopy(boolean flag) { this.isAutoPrintCustomerCopy = flag; }
|
||||||
|
|
||||||
|
protected boolean isPrintErrorSlip() { return isPrintErrorSlip; }
|
||||||
|
|
||||||
|
protected void setPrintErrorSlip(boolean flag) { this.isPrintErrorSlip = flag; }
|
||||||
|
|
||||||
protected boolean getWavePayInquiryStatus() {
|
protected boolean getWavePayInquiryStatus() {
|
||||||
return wave_pay_inquiry_status;
|
return wave_pay_inquiry_status;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user