history show reversal records in label
This commit is contained in:
parent
66c969873e
commit
f0799455cb
@ -12,8 +12,9 @@
|
|||||||
### version 3.4
|
### version 3.4
|
||||||
* disable display always on
|
* disable display always on
|
||||||
|
|
||||||
[//]: # (* auto-settlement)
|
* auto-settlement
|
||||||
* show expiry date as "`**`/`**`"
|
* show expiry date as "`**`/`**`"
|
||||||
* align the customer name, in paper slip
|
* align the customer name, in paper slip
|
||||||
* settlement fixed in both UI and system
|
* settlement fixed in both UI and system
|
||||||
* amount, date, time fixed in Void Preview
|
* amount, date, time fixed in Void Preview
|
||||||
|
* show reversal status in trans records
|
||||||
@ -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())
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user