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.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.mob.utsmyanmar.ui.theme.Color import com.mob.utsmyanmar.ui.theme.Color
import com.mob.utsmyanmar.utils.convertDateString
import com.utsmyanmar.paylibs.model.PayDetail import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.utils.POSUtil import com.utsmyanmar.paylibs.utils.POSUtil
@ -62,7 +63,7 @@ internal fun HistoryTransactionCard(
Text("Trace ${payDetail.voucherNo.ifBlank { "-" }}", style = MaterialTheme.typography.bodySmall) Text("Trace ${payDetail.voucherNo.ifBlank { "-" }}", style = MaterialTheme.typography.bodySmall)
Text("RRN ${payDetail.referNo.ifBlank { "-" }}", style = MaterialTheme.typography.bodySmall, color = Color.Gray) Text("RRN ${payDetail.referNo.ifBlank { "-" }}", style = MaterialTheme.typography.bodySmall, color = Color.Gray)
Text( Text(
"${payDetail.transDate} ${payDetail.transTime}", "${convertDateString(payDetail.transDate)} ${payDetail.transTime}",
style = MaterialTheme.typography.bodySmall, style = MaterialTheme.typography.bodySmall,
color = Color.Gray 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.theme.MOBPOSTheme
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
import com.mob.utsmyanmar.utils.convertDateString
import com.mob.utsmyanmar.viewmodel.SharedViewModel import com.mob.utsmyanmar.viewmodel.SharedViewModel
import com.utsmyanmar.paylibs.model.PayDetail import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.utils.POSUtil import com.utsmyanmar.paylibs.utils.POSUtil
@ -265,7 +266,7 @@ fun ReceiptPreview(
) )
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReceiptDivider() ReceiptDivider()
ReceiptRow("Date", state.payDetail?.transDate.toString()) ReceiptRow("Date", convertDateString(state.payDetail?.transDate.toString()))
ReceiptRow("Time", state.payDetail?.transTime.toString()) ReceiptRow("Time", state.payDetail?.transTime.toString())
ReceiptRow("Merchant Name", state.payDetail?.merchantName.toString()) ReceiptRow("Merchant Name", state.payDetail?.merchantName.toString())
ReceiptRow("TID", state.payDetail?.terminalNo.toString()) ReceiptRow("TID", state.payDetail?.terminalNo.toString())
@ -358,7 +359,7 @@ private fun PrintReceiptScreenPreview() {
voucherNo = "000001" voucherNo = "000001"
amount = 100000 amount = 100000
cardNo = "1234********5678" cardNo = "1234********5678"
transDate = "2023-10-27" transDate = "25-08-26"
transTime = "10:30:00" transTime = "10:30:00"
referNo = "123456789012" referNo = "123456789012"
transType = "SALE" transType = "SALE"

View File

@ -28,6 +28,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import com.mob.utsmyanmar.ui.components.appbar.AppBar import com.mob.utsmyanmar.ui.components.appbar.AppBar
import com.mob.utsmyanmar.ui.theme.Color import com.mob.utsmyanmar.ui.theme.Color
import com.mob.utsmyanmar.utils.convertDateString
import com.utsmyanmar.paylibs.model.PayDetail import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.utils.POSUtil import com.utsmyanmar.paylibs.utils.POSUtil
@ -131,7 +132,7 @@ private fun TransactionDetailsCard(transaction: PayDetail) {
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
fontSize = 16.sp fontSize = 16.sp
) )
DetailRow("Date", transaction.transDate) DetailRow("Date", convertDateString(transaction.transDate))
DetailRow("Time", transaction.transTime) DetailRow("Time", transaction.transTime)
DetailRow("Amount", POSUtil.getInstance().formatAmount(transaction.amount)) DetailRow("Amount", POSUtil.getInstance().formatAmount(transaction.amount))
DetailRow("Trace No", transaction.voucherNo) 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 androidx.compose.ui.unit.dp
import com.mob.utsmyanmar.ui.preview.P2Preview import com.mob.utsmyanmar.ui.preview.P2Preview
import com.mob.utsmyanmar.ui.theme.Color 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.mob.utsmyanmar.utils.toFormattedTime
import com.utsmyanmar.paylibs.model.PayDetail import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.print.PrintReceipt import com.utsmyanmar.paylibs.print.PrintReceipt
@ -82,7 +82,7 @@ fun TransactionResultScreen(
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
InfoCard( InfoCard(
date = "${state.payDetail?.transDate?.toFormattedDate()}", date = convertDateString(state.payDetail?.transDate.toString()),
time = "${state.payDetail?.transTime?.toFormattedTime()}", time = "${state.payDetail?.transTime?.toFormattedTime()}",
transactionId = state.payDetail?.referNo.toString() transactionId = state.payDetail?.referNo.toString()
) )

View File

@ -2,6 +2,7 @@ package com.mob.utsmyanmar.utils
import android.annotation.SuppressLint import android.annotation.SuppressLint
@SuppressLint("DefaultLocale") @SuppressLint("DefaultLocale")
fun Long?.formatAmount(): String { fun Long?.formatAmount(): String {
val amount = (this ?: 0L) / 100.0 val amount = (this ?: 0L) / 100.0
@ -18,3 +19,7 @@ fun String?.maskCardNumber(): String {
} }
return maskedPan.toString() 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) { public String getFormatTransactionTime(String transTime) {
if (!TextUtils.equals("", transTime)) { if (!TextUtils.equals("", transTime)) {
return transTime.substring(0, 2) + ":" + transTime.substring(2, 4) + ":" + transTime.substring(4, 6); return transTime.substring(0, 2) + ":" + transTime.substring(2, 4) + ":" + transTime.substring(4, 6);

View File

@ -376,7 +376,7 @@ public abstract class BaseXPrint {
try { try {
sunmiPrinterService.setFontSize(20, innerResultCallback); sunmiPrinterService.setFontSize(20, innerResultCallback);
sunmiPrinterService.setAlignment(0, 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) ) { if(Objects.equals(payDetail.getAccountType(), CardScheme.MPU_CTLS.name) || Objects.equals(payDetail.getAccountType(), CardScheme.UPI.name) ) {
hostName = HOST_NAME_MPU; hostName = HOST_NAME_MPU;
} else { } else {
@ -895,7 +895,7 @@ public abstract class BaseXPrint {
try { try {
sunmiPrinterService.setFontSize(18, innerResultCallback); sunmiPrinterService.setFontSize(18, innerResultCallback);
sunmiPrinterService.setAlignment(0, 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) { 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); 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) { } else if (!payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.WAVEPAY_REFUND.value && payDetail.getTransactionType() != TransactionsType.WAVEPAY.value) {