fixed yestarday only date for filters

This commit is contained in:
moon 2026-08-26 00:04:33 +06:30
parent c45c8adf65
commit 2323562270
4 changed files with 14 additions and 19 deletions

View File

@ -25,7 +25,6 @@ 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.mob.utsmyanmar.utils.convertDateString
import com.utsmyanmar.paylibs.model.PayDetail import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.utils.POSUtil
@Composable @Composable
internal fun HistoryTransactionCard( internal fun HistoryTransactionCard(
@ -55,7 +54,7 @@ internal fun HistoryTransactionCard(
style = MaterialTheme.typography.titleSmall style = MaterialTheme.typography.titleSmall
) )
Text( Text(
text = POSUtil.getInstance().formatAmount(payDetail.amount), text = displayAmountWithSign(payDetail),
style = MaterialTheme.typography.titleSmall style = MaterialTheme.typography.titleSmall
) )
} }
@ -88,7 +87,7 @@ internal fun HistoryTransactionDetailCard(payDetail: PayDetail) {
) )
SummaryLine("Date", payDetail.tradeDate) SummaryLine("Date", payDetail.tradeDate)
SummaryLine("Time", payDetail.tradeTime) SummaryLine("Time", payDetail.tradeTime)
SummaryLine("Amount", POSUtil.getInstance().formatAmount(payDetail.amount)) SummaryLine("Amount", displayAmountWithSign(payDetail))
SummaryLine("Trace No", payDetail.voucherNo) SummaryLine("Trace No", payDetail.voucherNo)
// SummaryLine("Card No", payDetail.cardNo) // SummaryLine("Card No", payDetail.cardNo)
SummaryLine("Reference No", payDetail.referNo) SummaryLine("Reference No", payDetail.referNo)

View File

@ -86,10 +86,7 @@ internal fun filterDetailReportTransactions(
transactions: List<PayDetail>, transactions: List<PayDetail>,
hostType: HostType hostType: HostType
): List<PayDetail> { ): List<PayDetail> {
val yesterday = POSUtil.getInstance().yesterdayDate
return transactions.filter { pay -> return transactions.filter { pay ->
if (POSUtil.getInstance().getDateByString(pay.transDate).before(yesterday)) return@filter false
if (pay.transactionType == TransactionsType.REVERSAL.value) return@filter false if (pay.transactionType == TransactionsType.REVERSAL.value) return@filter false
if (pay.transactionType == TransactionsType.SETTLEMENT.value) return@filter false if (pay.transactionType == TransactionsType.SETTLEMENT.value) return@filter false
@ -112,10 +109,20 @@ internal fun filterDetailReportTransactions(
} }
} }
internal fun displayAmountWithSign(payDetail: PayDetail): String {
val prefix = if (payDetail.transactionType == TransactionsType.VOID.value ||
payDetail.transactionType == TransactionsType.REFUND.value ||
payDetail.transactionType == TransactionsType.WAVEPAY_REFUND.value ||
payDetail.transactionType == TransactionsType.CASH_OUT.value
) "-" else ""
return prefix + POSUtil.getInstance().formatAmount(payDetail.amount)
}
internal fun detailReportSignedAmount(payDetail: PayDetail): Long { internal fun detailReportSignedAmount(payDetail: PayDetail): Long {
val isNegative = payDetail.transactionType == TransactionsType.VOID.value || val isNegative = payDetail.transactionType == TransactionsType.VOID.value ||
payDetail.transactionType == TransactionsType.REFUND.value || payDetail.transactionType == TransactionsType.REFUND.value ||
payDetail.transactionType == TransactionsType.WAVEPAY_REFUND.value payDetail.transactionType == TransactionsType.WAVEPAY_REFUND.value ||
payDetail.transactionType == TransactionsType.CASH_OUT.value
return if (isNegative) -payDetail.amount else payDetail.amount return if (isNegative) -payDetail.amount else payDetail.amount
} }

View File

@ -2,7 +2,6 @@ package com.mob.utsmyanmar.ui.history_functions
import com.utsmyanmar.paylibs.model.PayDetail import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.model.SettleData import com.utsmyanmar.paylibs.model.SettleData
import com.utsmyanmar.paylibs.utils.POSUtil
import com.utsmyanmar.paylibs.utils.enums.HostType import com.utsmyanmar.paylibs.utils.enums.HostType
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType
import java.text.ParseException import java.text.ParseException
@ -31,9 +30,7 @@ internal fun buildSummarySettleData(
start: Date, start: Date,
end: Date, end: Date,
): SettleData { ): SettleData {
val dateFormat = SimpleDateFormat("dd/MM/yy", Locale.getDefault())
val dateTimeFormat = SimpleDateFormat("dd/MM/yy HH:mm", Locale.getDefault()) val dateTimeFormat = SimpleDateFormat("dd/MM/yy HH:mm", Locale.getDefault())
val yesterday = POSUtil.getInstance().yesterdayDate
val wave = SummaryCounter() val wave = SummaryCounter()
val waveRefund = SummaryCounter() val waveRefund = SummaryCounter()
@ -47,14 +44,6 @@ internal fun buildSummarySettleData(
val refund = SummaryCounter() val refund = SummaryCounter()
for (pay in transactions) { for (pay in transactions) {
val transDate = try {
dateFormat.parse(pay.transDate)
} catch (_: ParseException) {
continue
} ?: continue
if (yesterday.after(transDate)) continue
val currentDate = try { val currentDate = try {
dateTimeFormat.parse("${pay.transDate} ${pay.transTime}") dateTimeFormat.parse("${pay.transDate} ${pay.transTime}")
} catch (_: ParseException) { } catch (_: ParseException) {

View File

@ -637,7 +637,7 @@ public abstract class BaseXPrint {
for (PayDetail pay: lists) { for (PayDetail pay: lists) {
boolean isNeedMinusSign = pay.getTransactionType() == TransactionsType.VOID.value || pay.getTransactionType() == TransactionsType.REFUND.value || pay.getTransactionType() == TransactionsType.WAVEPAY_REFUND.value || pay.getTransactionType() == TransactionsType.PRE_AUTH_COMPLETE_VOID.value; boolean isNeedMinusSign = pay.getTransactionType() == TransactionsType.VOID.value || pay.getTransactionType() == TransactionsType.REFUND.value || pay.getTransactionType() == TransactionsType.WAVEPAY_REFUND.value || pay.getTransactionType() == TransactionsType.PRE_AUTH_COMPLETE_VOID.value || pay.getTransactionType() == TransactionsType.CASH_OUT.value;
if(hostType == HostType.MPU || hostType == HostType.VISA_MASTER) { if(hostType == HostType.MPU || hostType == HostType.VISA_MASTER) {
sunmiPrinterService.printColumnsString(new String[]{pay.getAccountType() , PrintUtils.getInstance().maskCardNumberPciDss(pay.getCardNo())}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback); sunmiPrinterService.printColumnsString(new String[]{pay.getAccountType() , PrintUtils.getInstance().maskCardNumberPciDss(pay.getCardNo())}, new int[]{2, 2}, new int[]{0, 2}, innerResultCallback);