Browse Source

refactor(更新)
- 卡片管理中新增和修改卡片时用户名称调整为非必填
- 蓝牙队列新增断开连接指令

周文健 3 months ago
parent
commit
4c9d61acc2

+ 4 - 8
app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/AddCardDialog.kt

@@ -49,7 +49,7 @@ class AddCardDialog(
         })
         // 用户单选
         binding.usernameTv.setDebouncedClickListener {
-            TextDropDownDialog.showSingle(userData,binding.usernameTv) { item ->
+            TextDropDownDialog.showSingle(userData, binding.usernameTv) { item ->
                 selectedUser = item
                 binding.usernameTv.text = item.getShowText()
             }
@@ -67,19 +67,15 @@ class AddCardDialog(
                 PopTip.build().tip(R.string.please_input_card_nfc)
                 return@setDebouncedClickListener
             }
-            if (selectedUser == null) {
-                PopTip.build().tip(R.string.please_select_card_username)
-                return@setDebouncedClickListener
-            }
             // 构造并回调
             val vo = AddCardDataVo(
                 cardNfc = nfc,
-                userId = selectedUser!!.getId(),
-                userName = selectedUser!!.getShowText(),
+                userId = selectedUser?.getId(),
+                userName = selectedUser?.getShowText(),
                 exStatus = statusChecked,
                 exRemark = binding.remarkEt.text.toString().takeIf { it.isNotBlank() }
             )
-            onConfirm(vo,dialog)
+            onConfirm(vo, dialog)
         }
     }
 

+ 2 - 3
app/src/main/java/com/grkj/iscs/features/main/dialog/hardware_manage/UpdateCardDialog.kt

@@ -78,13 +78,12 @@ class UpdateCardDialog(
         binding.confirm.setDebouncedClickListener {
             val nfc = binding.cardNfcEt.text.trim().toString()
             if (nfc.isBlank()) return@setDebouncedClickListener PopTip.build().tip(R.string.please_input_card_nfc)
-            val user = selectedUser ?: return@setDebouncedClickListener PopTip.build().tip(R.string.please_select_card_username)
             val statusChecked = binding.statusRg.checkedRadioButtonId == binding.activateRb.id
             val vo = UpdateCardDataVo(
                 card.cardId,
                 nfc,
-                user.getId(),
-                user.getShowText(),
+                selectedUser?.getId(),
+                selectedUser?.getShowText(),
                 statusChecked,
                 binding.remarkEt.text.toString()
             )

+ 1 - 1
data/src/main/java/com/grkj/data/model/vo/AddCardDataVo.kt

@@ -6,7 +6,7 @@ package com.grkj.data.model.vo
 data class AddCardDataVo(
     val cardNfc: String,
     val userId: Long?,
-    val userName: String,
+    val userName: String?,
     val exStatus: Boolean,
     val exRemark: String?
 )

+ 1 - 1
data/src/main/java/com/grkj/data/model/vo/UpdateCardDataVo.kt

@@ -7,7 +7,7 @@ data class UpdateCardDataVo(
     val cardId: Long,
     val cardNfc: String,
     val userId: Long?,
-    val userName: String,
+    val userName: String?,
     val exStatus: Boolean,
     val exRemark: String?
 )

+ 1 - 0
ui-base/src/main/java/com/grkj/ui_base/utils/ble/BleQueueDispatcher.kt

@@ -156,6 +156,7 @@ abstract class BleQueueDispatcher {
     private fun disconnectDeviceByMac(mac: String) {
         val device = BleManager.getAllConnectedDevice().find { it.mac == mac }
         if (device != null) {
+            BleCmdManager.bleDisconnectReq(mac, null)
             BleManager.disconnect(device)
         }
     }