左晓为主开发手持机充值管理机
generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
@@ -6,6 +6,7 @@
import com.dayu.baselibrary.utils.MornyUtil
import com.dayu.general.BaseApplication
import com.dayu.general.bean.card.UserCard
import com.dayu.general.bean.net.CardInfoResult
import com.dayu.general.databinding.ActivityCardWriteSuccessBinding
import com.dayu.general.tool.CardOperationType
@@ -22,6 +23,7 @@
    private var operationTypeCode: Int = -1
    private var userCard: UserCard? = null
    private var orderNumber: String? = null
    private var cardInfo: CardInfoResult? = null
    
    // 充值相关参数
    private var rechargeAmount = 0.0
@@ -34,6 +36,7 @@
    private var deductAmount = 0.0
    private var cardCost = 0.0
    private var reissueAmount = 0.0
    private var cardFee = 0
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
@@ -45,6 +48,8 @@
        cardAddr = intent.getStringExtra("cardAddr")
        operationTypeCode = intent.getIntExtra("operationTypeCode", -1)
        orderNumber = intent.getStringExtra("orderNumber")
        cardFee = intent.getIntExtra("cardFee", 0);
        
        // 获取充值相关参数
        rechargeAmount = intent.getDoubleExtra("rechargeAmount", 0.0)
@@ -60,6 +65,10 @@
        
        if (intent.hasExtra("userCard")) {
            userCard = intent.getSerializableExtra("userCard") as UserCard
        }
        if (intent.hasExtra("cardInfo")) {
            cardInfo = intent.getSerializableExtra("cardInfo") as CardInfoResult
        }
        initView()
@@ -174,6 +183,20 @@
                }
            }
            CardOperationType.OpenCard -> {
                binding.titleBar.setCenterText("开卡成功")
                binding.successTitle.text = "开卡成功"
                val messageBuilder = StringBuilder()
                if (rechargeAmount > 0) {
                    messageBuilder.append("充值金额:${String.format("%.2f", rechargeAmount)}元\n")
                }
                messageBuilder.append("卡内余额:${MornyUtil.changeF2Y(userCard?.balance ?: 0)}元")
                // 充值成功后自动打印
                userCard?.let { card ->
                    doPrint(card)
                }
            }
            else -> {
                // 默认显示写卡成功
                binding.titleBar.setCenterText("写卡成功")
@@ -191,6 +214,13 @@
        // 设置点击确定按钮后关闭页面
        binding.btnConfirm.setOnClickListener {
            finish()
        }
        // 设置再次打印按钮点击监听器
        binding.btnReprint.setOnClickListener {
            userCard?.let { card ->
                doPrint(card)
            }
        }
        // 设置标题栏返回按钮
@@ -219,9 +249,11 @@
                    data.add("        充值凭证")
                    data.add("*****************************")
                    
                    // 添加用户编号(从UserCard中获取)
                    if (!userCard.userCode.isNullOrEmpty()) {
                        data.add("用户编号:${userCard.userCode}")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    }
                    
                    // 添加卡地址
@@ -248,9 +280,6 @@
                    // 添加充值后余额
                    data.add("充值后余额:${MornyUtil.changeF2Y(userCard.balance)} 元")
                    
                    // 添加日期信息
                    data.add("日   期:${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
                    // 添加订单号
                    if (!orderNumber.isNullOrEmpty()) {
                        data.add("订单号:$orderNumber")
@@ -258,6 +287,15 @@
                    
                    // 添加设备操作员信息
                    data.add("设备操作员:${BaseApplication.userName}")
                    // 添加日期信息
                    data.add(
                        "日   期:${
                            DateUtil.dateToStamp(
                                System.currentTimeMillis(),
                                DateUtil.type2
                            )
                        }"
                    )
                    data.add("*****************************")
                }
                
@@ -266,6 +304,13 @@
                    data.add("*****************************")
                    data.add("        补卡凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    }
                    
                    val cardAddress = cardNumber ?: cardAddr
                    if (!cardAddress.isNullOrEmpty()) {
@@ -285,13 +330,19 @@
                    }
                    
                    data.add("卡内余额:${MornyUtil.changeF2Y(userCard.balance)} 元")
                    data.add("日   期:${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
                    if (!orderNumber.isNullOrEmpty()) {
                        data.add("订单号:$orderNumber")
                    }
                    
                    data.add("设备操作员:${BaseApplication.userName}")
                    data.add(
                        "日   期:${
                            DateUtil.dateToStamp(
                                System.currentTimeMillis(),
                                DateUtil.type2
                            )
                        }"
                    )
                    data.add("*****************************")
                }
                
@@ -300,6 +351,13 @@
                    data.add("*****************************")
                    data.add("        销卡凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    }
                    
                    val cardAddress = cardNumber ?: cardAddr
                    if (!cardAddress.isNullOrEmpty()) {
@@ -315,13 +373,21 @@
                    }
                    
                    data.add("原卡余额:${String.format("%.2f", cardBalance)} 元")
                    data.add("日   期:${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
                    
                    if (!orderNumber.isNullOrEmpty()) {
                        data.add("订单号:$orderNumber")
                    }
                    
                    data.add("设备操作员:${BaseApplication.userName}")
                    data.add(
                        "日   期:${
                            DateUtil.dateToStamp(
                                System.currentTimeMillis(),
                                DateUtil.type2
                            )
                        }"
                    )
                    data.add("*****************************")
                }
                
@@ -330,6 +396,13 @@
                    data.add("*****************************")
                    data.add("        返还凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    }
                    
                    val cardAddress = cardNumber ?: cardAddr
                    if (!cardAddress.isNullOrEmpty()) {
@@ -345,13 +418,21 @@
                    }
                    
                    data.add("卡内余额:${MornyUtil.changeF2Y(userCard.balance)} 元")
                    data.add("日   期:${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
                    
                    if (!orderNumber.isNullOrEmpty()) {
                        data.add("订单号:$orderNumber")
                    }
                    
                    data.add("设备操作员:${BaseApplication.userName}")
                    data.add(
                        "日   期:${
                            DateUtil.dateToStamp(
                                System.currentTimeMillis(),
                                DateUtil.type2
                            )
                        }"
                    )
                    data.add("*****************************")
                }
                
@@ -360,6 +441,13 @@
                    data.add("*****************************")
                    data.add("        补扣凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    }
                    
                    val cardAddress = cardNumber ?: cardAddr
                    if (!cardAddress.isNullOrEmpty()) {
@@ -375,13 +463,75 @@
                    }
                    
                    data.add("卡内余额:${MornyUtil.changeF2Y(userCard.balance)} 元")
                    data.add("日   期:${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
                    
                    if (!orderNumber.isNullOrEmpty()) {
                        data.add("订单号:$orderNumber")
                    }
                    
                    data.add("设备操作员:${BaseApplication.userName}")
                    data.add(
                        "日   期:${
                            DateUtil.dateToStamp(
                                System.currentTimeMillis(),
                                DateUtil.type2
                            )
                        }"
                    )
                    data.add("*****************************")
                }
                CardOperationType.OpenCard -> {
                    data.add("*****************************")
                    data.add("           开卡凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    }
                    // 添加卡地址
                    val cardAddress = cardNumber ?: cardAddr
                    if (!cardAddress.isNullOrEmpty()) {
                        data.add("卡 地 址:$cardAddress")
                    }
                    // 添加用户编号(从UserCard中获取)
                    if (!userCard.userCode.isNullOrEmpty()) {
                        data.add("用户编号:${userCard.getMyUserCode()}")
                    }
                    // 添加充值金额
                    if (rechargeAmount > 0) {
                        data.add("充值金额:${String.format("%.2f", rechargeAmount)} 元")
                        // 添加充值后余额
                        data.add("充值后余额:${MornyUtil.changeF2Y(userCard.balance)} 元")
                    }
                    // 添加赠送金额
                    if (cardFee > 0) {
                        data.add("工本费:" + MornyUtil.changeF2Y(cardFee) + "元")
                    }
                    // 添加订单号
                    if (!orderNumber.isNullOrEmpty()) {
                        data.add("订单号:$orderNumber")
                    }
                    // 添加设备操作员信息
                    data.add("设备操作员:${BaseApplication.userName}")
                    // 添加日期信息
                    data.add(
                        "日   期:${
                            DateUtil.dateToStamp(
                                System.currentTimeMillis(),
                                DateUtil.type2
                            )
                        }"
                    )
                    data.add("*****************************")
                }
                
@@ -391,14 +541,29 @@
                    data.add("        操作凭证")
                    data.add("*****************************")
                    
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    }
                    val cardAddress = cardNumber ?: cardAddr
                    if (!cardAddress.isNullOrEmpty()) {
                        data.add("卡 地 址:$cardAddress")
                    }
                    
                    data.add("操作类型:${operationType?.description ?: "未知操作"}")
                    data.add("日   期:${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
                    data.add("设备操作员:${BaseApplication.userName}")
                    data.add(
                        "日   期:${
                            DateUtil.dateToStamp(
                                System.currentTimeMillis(),
                                DateUtil.type2
                            )
                        }"
                    )
                    data.add("*****************************")
                }
            }