Sfoglia il codice sorgente

添加钥匙底座卡扣集中控制

Frankensteinly 10 mesi fa
parent
commit
f33b6ffae1

+ 10 - 2
app/src/main/java/com/grkj/iscs/activity/test/ModbusActivity.kt

@@ -128,11 +128,19 @@ class ModbusActivity : BaseMvpActivity<IModbusView, ModBusPresenter, ActivityMod
         }
 
         mBinding?.closeAllLockBuckles?.setOnClickListener {
-            ModBusController.closeAllLockBuckles()
+            ModBusController.controlAllLockBuckles(false)
         }
 
         mBinding?.openAllLockBuckles?.setOnClickListener {
-            ModBusController.openAllLockBuckles()
+            ModBusController.controlAllLockBuckles(true)
+        }
+
+        mBinding?.closeAllKeyBuckles?.setOnClickListener {
+            ModBusController.controlAllKeyBuckles(false)
+        }
+
+        mBinding?.openAllKeyBuckles?.setOnClickListener {
+            ModBusController.controlAllKeyBuckles(true)
         }
 
         mBinding?.deviceList?.setOnClickListener {

+ 9 - 8
app/src/main/java/com/grkj/iscs/modbus/ModBusController.kt

@@ -402,20 +402,21 @@ object ModBusController {
         }
     }
 
-    fun openAllLockBuckles() {
+    fun controlAllLockBuckles(isOpen: Boolean) {
         dockList.filter { it.type == DOCK_TYPE_LOCK || it.type == DOCK_TYPE_PORTABLE }.forEach { dockBean ->
             val list = dockBean.getLockList().stream().map { it.idx }.collect(Collectors.toList())
-            controlLockBuckle(true, dockBean.addr.toInt() - 1, list) {
-                LogUtil.i("开所有锁卡扣 : ${it.toHexStrings()}")
+            controlLockBuckle(isOpen, dockBean.addr.toInt() - 1, list) {
+                LogUtil.i("${if (isOpen) "启" else "关闭"}所有锁卡扣 : ${it.toHexStrings()}")
             }
         }
     }
 
-    fun closeAllLockBuckles() {
-        dockList.filter { it.type == DOCK_TYPE_LOCK || it.type == DOCK_TYPE_PORTABLE }.forEach { dockBean ->
-            val list = dockBean.getLockList().stream().map { it.idx }.collect(Collectors.toList())
-            controlLockBuckle(false, dockBean.addr.toInt() - 1, list) {
-                LogUtil.i("关所有锁卡扣 : ${it.toHexStrings()}")
+    fun controlAllKeyBuckles(isOpen: Boolean) {
+        dockList.filter { it.type == DOCK_TYPE_KEY || it.type == DOCK_TYPE_PORTABLE }.forEach { dockBean ->
+            dockBean.getKeyList().forEach { keyBean ->
+                controlKeyBuckle(isOpen, keyBean.isLeft, dockBean.addr.toInt() - 1) {
+                    LogUtil.i("${if (isOpen) "开启" else "关闭"}所有钥匙卡扣 : ${it.toHexStrings()}")
+                }
             }
         }
     }

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

@@ -46,13 +46,13 @@ class SimpleLoginActivity : BaseActivity<ActivitySimpleLoginBinding>() {
 
         mLockerList = PresentationManager.cardList.filter { it.isLocker }
         for (i in mLockerList.indices) {
-            PresentationManager.mLockerList.add(PresentationManager.PLockerBean("上锁人${i + 1}", mLockerList[i].rfid, 0))
+            PresentationManager.mLockerList.add(PresentationManager.PLockerBean("${getString(R.string.simple_locker)}${i + 1}}", mLockerList[i].rfid, 0))
         }
         val togetherList = PresentationManager.cardList.filter { !it.isLocker }
         for (i in togetherList.indices) {
             PresentationManager.mLockerTogetherList.add(
                 PresentationManager.PLockerTogetherBean(
-                    "共锁人${i + 1}",
+                    "${getString(R.string.simple_colocker)}${i + 1}",
                     false,
                     togetherList[i].rfid,
                     0
@@ -62,7 +62,7 @@ class SimpleLoginActivity : BaseActivity<ActivitySimpleLoginBinding>() {
 
         handleLoading(true, getString(R.string.simple_device_is_initializing))
         BusinessManager.connectDock(true)
-        Executor.delayOnMain(2000) {
+        Executor.delayOnMain(15000) {
             handleLoading(false)
         }
 
@@ -73,7 +73,7 @@ class SimpleLoginActivity : BaseActivity<ActivitySimpleLoginBinding>() {
             // 检测到回车开始处理
             if (event.keyCode == 66) {
                 val formattedCard = cardNo.toLong().toByteArrays().toHexStrings(false)
-                println("haha : $formattedCard")
+                println("Simple demo : $formattedCard")
                 // 重置cardNo
                 cardNo = ""
                 if (mLockerList.any { it.rfid == formattedCard }) {

+ 17 - 0
app/src/main/java/com/grkj/iscs/presentation/simple/SimpleSettingActivity.kt

@@ -2,6 +2,7 @@ package com.grkj.iscs.presentation.simple
 
 import com.grkj.iscs.base.BaseActivity
 import com.grkj.iscs.databinding.ActivitySimpleSettingBinding
+import com.grkj.iscs.modbus.ModBusController
 
 class SimpleSettingActivity : BaseActivity<ActivitySimpleSettingBinding>() {
 
@@ -9,6 +10,22 @@ class SimpleSettingActivity : BaseActivity<ActivitySimpleSettingBinding>() {
         get() = ActivitySimpleSettingBinding.inflate(layoutInflater)
 
     override fun initView() {
+        mBinding?.tvCloseAllLockBuckles?.setOnClickListener {
+            ModBusController.controlAllLockBuckles(false)
+        }
 
+        mBinding?.tvOpenAllLockBuckles?.setOnClickListener {
+            ModBusController.controlAllLockBuckles(true)
+        }
+
+        mBinding?.tvCloseAllKeyBuckles?.setOnClickListener {
+            ModBusController.controlAllKeyBuckles(false)
+        }
+
+        mBinding?.tvOpenAllKeyBuckles?.setOnClickListener {
+            ModBusController.controlAllKeyBuckles(true)
+        }
+
+        mBinding?.tvReturnHome?.setOnClickListener { finish() }
     }
 }

+ 20 - 0
app/src/main/res/layout/activity_modbus.xml

@@ -225,6 +225,26 @@
             android:textSize="8sp"
             android:layout_margin="5dp"/>
 
+        <Button
+            android:id="@+id/closeAllKeyBuckles"
+            android:layout_width="100dp"
+            android:layout_height="40dp"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:text="Close All Key Buckles"
+            android:textSize="8sp"
+            android:layout_margin="5dp"/>
+
+        <Button
+            android:id="@+id/openAllKeyBuckles"
+            android:layout_width="100dp"
+            android:layout_height="40dp"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:text="Open All Key Buckles"
+            android:textSize="8sp"
+            android:layout_margin="5dp"/>
+
         <Button
             android:id="@+id/deviceList"
             android:layout_width="100dp"

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

@@ -116,6 +116,7 @@
     <string name="simple_colocker_tip">作业票已开始执⾏,请维修⼯确认现场是否已锁定,并能源是否已隔离\n确认后请打卡共锁</string>
     <string name="simple_wait_for_colockers_action">等待维修工共锁</string>
     <string name="simple_colocker">共锁人</string>
+    <string name="simple_locker">上锁人</string>
     <string name="simple_in_maintenance">维修进行中</string>
     <string name="simple_maintenance_tip">请维修⼈员,维修作业结束后,打卡解除共锁</string>
     <string name="simple_maintenance_finished">维修结束,主锁⼈解锁并归还锁具</string>