瀏覽代碼

添加根据配置文件更新钥匙mac;修复钥匙选取逻辑;补充缺失的点击事件;修复文字显示

Frankensteinly 10 月之前
父節點
當前提交
f777168d36

+ 5 - 1
app/src/main/java/com/grkj/iscs/modbus/DockBean.kt

@@ -233,7 +233,11 @@ class DockBean(
         var isCharging: Boolean,
         var rfid: String?,
         var mac: String?
-    ) : DeviceBean(DEVICE_TYPE_KEY, idx, isExist)
+    ) : DeviceBean(DEVICE_TYPE_KEY, idx, isExist) {
+        override fun toString(): String {
+            return "KeyBean(isLeft=$isLeft, isCharging=$isCharging, rfid=$rfid, mac=$mac)"
+        }
+    }
 
     /**
      * 锁具

+ 5 - 0
app/src/main/java/com/grkj/iscs/modbus/ModBusController.kt

@@ -8,6 +8,7 @@ import com.grkj.iscs.model.DeviceConst.DOCK_TYPE_ELEC_LOCK_BOARD
 import com.grkj.iscs.model.DeviceConst.DOCK_TYPE_KEY
 import com.grkj.iscs.model.DeviceConst.DOCK_TYPE_LOCK
 import com.grkj.iscs.model.DeviceConst.DOCK_TYPE_PORTABLE
+import com.grkj.iscs.presentation.PresentationManager
 import com.grkj.iscs.util.Executor
 import com.grkj.iscs.util.ToastUtils
 import com.grkj.iscs.util.log.LogUtil
@@ -175,6 +176,10 @@ object ModBusController {
                         val rfid = res.copyOfRange(3, 11).toHexStrings(false).removeLeadingZeros()
                         LogUtil.i("初始化钥匙 RFID : $rfid")
                         updateKeyRfid(dockBean.addr.toInt(), isLeft, rfid)
+                        if (PresentationManager.mConfigKeyList.any { it.rfid == rfid }) {
+                            val mac = PresentationManager.mConfigKeyList.find { it.rfid == rfid }?.keyMac
+                            updateKeyMac(dockBean.addr.toInt(), key.isLeft, mac!!)
+                        }
                     }
                     controlKeyBuckle(false, key.isLeft, dockBean.addr.toInt() - 1)
                 } else {

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

@@ -365,7 +365,7 @@ object PresentationManager {
             ToastUtils.tip(R.string.simple_key_count_not_enough)
             return
         }
-        val rfid = keyList[0].rfid
+        val rfid = keyList.find { !it.rfid.isNullOrEmpty() }?.rfid
         if (rfid.isNullOrEmpty()) {
             ToastUtils.tip(R.string.simple_key_rfid_is_null)
             return

+ 14 - 2
app/src/main/java/com/grkj/iscs/presentation/simple/SimpleProcessActivity.kt

@@ -1,5 +1,6 @@
 package com.grkj.iscs.presentation.simple
 
+import android.content.Intent
 import android.view.InputDevice
 import android.view.KeyEvent
 import android.view.View
@@ -29,12 +30,17 @@ class SimpleProcessActivity : BaseActivity<ActivitySimpleProcessBinding>() {
 
     override fun initView() {
         mStepList = mutableListOf(mBinding!!.llContainer0, mBinding!!.llContainer1,
-            mBinding!!.llContainer2, mBinding!!.llContainer3, mBinding!!.llContainer4, mBinding!!.llContainer5, mBinding!!.llContainer6, mBinding!!.llContainer7)
+            mBinding!!.llContainer2, mBinding!!.llContainer3, mBinding!!.llContainer4,
+            mBinding!!.llContainer5, mBinding!!.llContainer6, mBinding!!.llContainer7)
 
         mBinding?.rlHome?.setOnClickListener {
             finish()
         }
 
+        mBinding?.rlSetting?.setOnClickListener {
+            startActivity(Intent(this, SimpleSettingActivity::class.java))
+        }
+
         val step = intent.getIntExtra("step", -1)
         if (step == -1) {
             ToastUtils.tip(R.string.simple_step_error)
@@ -43,12 +49,18 @@ class SimpleProcessActivity : BaseActivity<ActivitySimpleProcessBinding>() {
         changeStep(step)
 
 
-        mBinding?.rlConfirm?.setOnClickListener {
+        mBinding?.rlExecute?.setOnClickListener {
             PresentationManager.initTicket()
             PresentationManager.mStep = 1
             PresentationManager.mSimpleTicket?.status = 1
             changeStep(PresentationManager.mStep)
         }
+
+        mBinding?.rlConfirm?.setOnClickListener {
+            PresentationManager.mStep = 2
+            changeStep(PresentationManager.mStep)
+            PresentationManager.checkSimpleEquip(this)
+        }
     }
 
     override fun onResume() {

+ 1 - 1
app/src/main/res/values-zh/strings.xml

@@ -154,7 +154,7 @@
     <string name="simple_execute">执行作业票</string>
     <string name="simpe_tip_execute">主锁人登录后,可以:\n1.执行作业票,进行作业流程演示\n2.进入设置,进行其他功能演示\n3. 回到首页,退出登录</string>
     <string name="simple_tip_content">作业票内容\n取 2把挂锁(绿灯)\n取1把钥匙(绿灯)\n锁定 2个隔离点\n2 名维修工共锁</string>
-    <string name="simple_tip_process">流程提示n1.主锁人取钥匙和挂锁,确认隔离点位,并进行上锁。n2.主锁人归还钥匙,上锁状态更新。n3.维修工确认现场锁定和能源隔离后,打卡共锁。\n4.维修工进行维修。\n5.维修结束,维修工解除共锁。\n6.主锁人解锁,并归还钥匙和挂锁。</string>
+    <string name="simple_tip_process">流程提示\n1.主锁人取钥匙和挂锁,确认隔离点位,并进行上锁。n2.主锁人归还钥匙,上锁状态更新。\n3.维修工确认现场锁定和能源隔离后,打卡共锁。\n4.维修工进行维修。\n5.维修结束,维修工解除共锁。\n6.主锁人解锁,并归还钥匙和挂锁。</string>
     <string name="simple_tip_process2">流程提示\n主锁人使用钥匙,确认隔离点位,并进行上锁。\n全部上锁后,归还钥匙。</string>
     <string name="simple_waiting">等待中</string>
     <string name="simple_wati_for_lock_share">等待共锁</string>