change date format 00/00/00 to 00/00/0000

This commit is contained in:
moon 2026-08-25 23:00:42 +06:30
parent bb9db73182
commit 2ca1b5eee0
7 changed files with 21 additions and 8 deletions

View File

@ -23,6 +23,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.mob.utsmyanmar.ui.theme.Color
import com.mob.utsmyanmar.utils.convertDateString
import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.utils.POSUtil
@ -62,7 +63,7 @@ internal fun HistoryTransactionCard(
Text("Trace ${payDetail.voucherNo.ifBlank { "-" }}", style = MaterialTheme.typography.bodySmall)
Text("RRN ${payDetail.referNo.ifBlank { "-" }}", style = MaterialTheme.typography.bodySmall, color = Color.Gray)
Text(
"${payDetail.transDate} ${payDetail.transTime}",
"${convertDateString(payDetail.transDate)} ${payDetail.transTime}",
style = MaterialTheme.typography.bodySmall,
color = Color.Gray
)

View File

@ -47,6 +47,7 @@ import com.mob.utsmyanmar.ui.theme.Color
import com.mob.utsmyanmar.ui.theme.MOBPOSTheme
import com.mob.utsmyanmar.ui.transaction_result.TransactionResultState
import com.mob.utsmyanmar.ui.transaction_result.TransactionResultViewModel
import com.mob.utsmyanmar.utils.convertDateString
import com.mob.utsmyanmar.viewmodel.SharedViewModel
import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.utils.POSUtil
@ -265,7 +266,7 @@ fun ReceiptPreview(
)
Spacer(modifier = Modifier.height(16.dp))
ReceiptDivider()
ReceiptRow("Date", state.payDetail?.transDate.toString())
ReceiptRow("Date", convertDateString(state.payDetail?.transDate.toString()))
ReceiptRow("Time", state.payDetail?.transTime.toString())
ReceiptRow("Merchant Name", state.payDetail?.merchantName.toString())
ReceiptRow("TID", state.payDetail?.terminalNo.toString())
@ -358,7 +359,7 @@ private fun PrintReceiptScreenPreview() {
voucherNo = "000001"
amount = 100000
cardNo = "1234********5678"
transDate = "2023-10-27"
transDate = "25-08-26"
transTime = "10:30:00"
referNo = "123456789012"
transType = "SALE"

View File

@ -28,6 +28,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.mob.utsmyanmar.ui.components.appbar.AppBar
import com.mob.utsmyanmar.ui.theme.Color
import com.mob.utsmyanmar.utils.convertDateString
import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.utils.POSUtil
@ -131,7 +132,7 @@ private fun TransactionDetailsCard(transaction: PayDetail) {
fontWeight = FontWeight.Bold,
fontSize = 16.sp
)
DetailRow("Date", transaction.transDate)
DetailRow("Date", convertDateString(transaction.transDate))
DetailRow("Time", transaction.transTime)
DetailRow("Amount", POSUtil.getInstance().formatAmount(transaction.amount))
DetailRow("Trace No", transaction.voucherNo)

View File

@ -24,7 +24,7 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.mob.utsmyanmar.ui.preview.P2Preview
import com.mob.utsmyanmar.ui.theme.Color
import com.mob.utsmyanmar.utils.toFormattedDate
import com.mob.utsmyanmar.utils.convertDateString
import com.mob.utsmyanmar.utils.toFormattedTime
import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.print.PrintReceipt
@ -82,7 +82,7 @@ fun TransactionResultScreen(
Spacer(modifier = Modifier.height(16.dp))
InfoCard(
date = "${state.payDetail?.transDate?.toFormattedDate()}",
date = convertDateString(state.payDetail?.transDate.toString()),
time = "${state.payDetail?.transTime?.toFormattedTime()}",
transactionId = state.payDetail?.referNo.toString()
)

View File

@ -2,6 +2,7 @@ package com.mob.utsmyanmar.utils
import android.annotation.SuppressLint
@SuppressLint("DefaultLocale")
fun Long?.formatAmount(): String {
val amount = (this ?: 0L) / 100.0
@ -17,4 +18,8 @@ fun String?.maskCardNumber(): String {
maskedPan.append(" ")
}
return maskedPan.toString()
}
fun convertDateString(dateStr: String): String {
return dateStr.replace(Regex("/(\\d{2})$"), "/20$1")
}

View File

@ -155,6 +155,11 @@ public class PrintUtils {
}
}
public String toFullYearDate(String dateStr) {
if (TextUtils.isEmpty(dateStr)) return dateStr;
return dateStr.replaceFirst("/(\\d{2})$", "/20$1");
}
public String getFormatTransactionTime(String transTime) {
if (!TextUtils.equals("", transTime)) {
return transTime.substring(0, 2) + ":" + transTime.substring(2, 4) + ":" + transTime.substring(4, 6);

View File

@ -376,7 +376,7 @@ public abstract class BaseXPrint {
try {
sunmiPrinterService.setFontSize(20, innerResultCallback);
sunmiPrinterService.setAlignment(0, innerResultCallback);
sunmiPrinterService.printColumnsString(new String[]{"DATE :" + payDetail.getTransDate(), "TIME: " + payDetail.getTransTime()}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback);
sunmiPrinterService.printColumnsString(new String[]{"DATE :" + PrintUtils.getInstance().toFullYearDate(payDetail.getTransDate()), "TIME: " + payDetail.getTransTime()}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback);
if(Objects.equals(payDetail.getAccountType(), CardScheme.MPU_CTLS.name) || Objects.equals(payDetail.getAccountType(), CardScheme.UPI.name) ) {
hostName = HOST_NAME_MPU;
} else {
@ -895,7 +895,7 @@ public abstract class BaseXPrint {
try {
sunmiPrinterService.setFontSize(18, innerResultCallback);
sunmiPrinterService.setAlignment(0, innerResultCallback);
sunmiPrinterService.printColumnsString(new String[]{"DATE :" + payDetail.getTransDate(), "TIME: " + payDetail.getTransTime()}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback);
sunmiPrinterService.printColumnsString(new String[]{"DATE :" + PrintUtils.getInstance().toFullYearDate(payDetail.getTransDate()), "TIME: " + payDetail.getTransTime()}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback);
if (payDetail.getTransactionType() == TransactionsType.WAVEPAY.value && payDetail.getQrTransStatus() == 1) {
sunmiPrinterService.printColumnsString(new String[]{"TRACE NO :" + traceNum, "INV NO: " + invoiceNo}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback);
} else if (!payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.WAVEPAY_REFUND.value && payDetail.getTransactionType() != TransactionsType.WAVEPAY.value) {