Selaa lähdekoodia

修改适配新的配置文件格式

Frankensteinly 10 kuukautta sitten
vanhempi
sitoutus
cabee65a19

+ 4 - 0
app/src/main/java/com/grkj/iscs/BusinessManager.kt

@@ -105,6 +105,10 @@ object BusinessManager {
                                 ModBusController.readKeyRfid(dockBean.addr.toInt() - 1, if ((keyBean as DockBean.KeyBean).isLeft) 0 else 1) { isLeft, res ->
                                     val rfid = res.copyOfRange(3, 11).toHexStrings(false).removeLeadingZeros()
                                     ModBusController.updateKeyRfid(dockBean.addr.toInt(), keyBean.isLeft, rfid)
+                                    if (PresentationManager.mConfigKeyList.any { it.rfid == rfid }) {
+                                        val mac = PresentationManager.mConfigKeyList.find { it.rfid == rfid }?.keyMac
+                                        ModBusController.updateKeyMac(dockBean.addr.toInt(), keyBean.isLeft, mac!!)
+                                    }
 //                                    NetApi.getKeyInfo(rfid) {
 //                                        if (it != null && !it.macAddress.isNullOrEmpty()) {
 //                                            ModBusController.updateKeyMac(dockBean.addr.toInt(), keyBean.isLeft, it.macAddress)

+ 1 - 1
app/src/main/java/com/grkj/iscs/presentation/PresentationLoginActivity.kt

@@ -43,7 +43,7 @@ class PresentationLoginActivity : BaseActivity<ActivityPresentationLoginBinding>
             ToastUtils.tip("配置列表为空")
             return
         }
-        PresentationManager.keyMac = PresentationManager.cardList.first().keyMac
+//        PresentationManager.keyMac = PresentationManager.cardList.first().keyMac
         val lockerList = PresentationManager.cardList.filter { it.isLocker }
         for (i in lockerList.indices) {
             PresentationManager.mLockerList.add(PresentationManager.PLockerBean("上锁人${i + 1}", lockerList[i].rfid, 0))

+ 12 - 2
app/src/main/java/com/grkj/iscs/presentation/PresentationManager.kt

@@ -73,9 +73,9 @@ object PresentationManager {
     var workTicketList = mutableListOf<PServerTicket>()
 
     // 卡片信息
-    data class PCardInfoBean(val rfid: String, val isLocker: Boolean, val keyMac: String) {
+    data class PCardInfoBean(val rfid: String, val isLocker: Boolean) {
         override fun toString(): String {
-            return "PCardInfoBean(rfid='$rfid', isLocker=$isLocker, keyMac='$keyMac')"
+            return "PCardInfoBean(rfid='$rfid', isLocker=$isLocker)"
         }
     }
     // 上锁人
@@ -252,7 +252,17 @@ object PresentationManager {
     var mStep = 0
     var mSimpleCardRfid: String? = null
     var mSimpleTicket: SimpleTicket? = null
+    var mConfigKeyList: MutableList<ConfigKey> = mutableListOf()
 
+    data class ConfigJson(
+        var worker: MutableList<PCardInfoBean>,
+        var key: MutableList<ConfigKey>
+    )
+
+    data class ConfigKey(
+        var rfid: String?,
+        var keyMac: String?
+    )
 
     data class SimpleTicket(
         var sop: PresentationBean? = null,

+ 4 - 2
app/src/main/java/com/grkj/iscs/presentation/simple/SimpleLoginActivity.kt

@@ -37,8 +37,10 @@ class SimpleLoginActivity : BaseActivity<ActivitySimpleLoginBinding>() {
             return
         }
         println("Mac Json : $str")
-        PresentationManager.cardList =
-            Gson().fromJson(str, object : TypeToken<List<PresentationManager.PCardInfoBean>>() {}.type)
+        var configJson: PresentationManager.ConfigJson = Gson().fromJson(str, object : TypeToken<PresentationManager.ConfigJson>() {}.type)
+
+        PresentationManager.cardList = configJson.worker
+        PresentationManager.mConfigKeyList = configJson.key
 
         mLockerList = PresentationManager.cardList.filter { it.isLocker }
         for (i in mLockerList.indices) {