|
@@ -718,7 +718,6 @@ object ModBusController {
|
|
|
.forEach { dock ->
|
|
.forEach { dock ->
|
|
|
dock.type?.let { dockType ->
|
|
dock.type?.let { dockType ->
|
|
|
ModBusCMDHelper.generateAllKeyBuckleOpenCmd(dockType).let { cmd ->
|
|
ModBusCMDHelper.generateAllKeyBuckleOpenCmd(dockType).let { cmd ->
|
|
|
- LogUtil.i("硬件:打开所有钥匙锁仓,${dock.addr},${cmd.data}")
|
|
|
|
|
modBusManager?.sendTo(dock.addr, cmd) { res ->
|
|
modBusManager?.sendTo(dock.addr, cmd) { res ->
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -765,9 +764,7 @@ object ModBusController {
|
|
|
) {
|
|
) {
|
|
|
slaveAddress?.let {
|
|
slaveAddress?.let {
|
|
|
ModBusCMDHelper.generateKeyBuckleChargeCmd(isOpen, if (isLeft) 0 else 1)?.let { cmd ->
|
|
ModBusCMDHelper.generateKeyBuckleChargeCmd(isOpen, if (isLeft) 0 else 1)?.let { cmd ->
|
|
|
- LogUtil.i("钥匙充电:${isOpen},${isLeft},${slaveAddress},${cmd.data.toHexStrings()}")
|
|
|
|
|
modBusManager?.sendTo(it, cmd) { res ->
|
|
modBusManager?.sendTo(it, cmd) { res ->
|
|
|
- LogUtil.i("钥匙充电接收:${isOpen},${isLeft},${slaveAddress},${res.toHexStrings()}")
|
|
|
|
|
done?.invoke(res)
|
|
done?.invoke(res)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1024,7 +1021,7 @@ object ModBusController {
|
|
|
dockList.filter { it.type == DOCK_TYPE_KEY || it.type == DOCK_TYPE_PORTABLE }
|
|
dockList.filter { it.type == DOCK_TYPE_KEY || it.type == DOCK_TYPE_PORTABLE }
|
|
|
.sortedBy { it.addr }.onEach { it.deviceList.sortBy { dev -> dev.idx } }
|
|
.sortedBy { it.addr }.onEach { it.deviceList.sortBy { dev -> dev.idx } }
|
|
|
|
|
|
|
|
- val keyList = keyDockList.flatMap { it.deviceList }.apply {
|
|
|
|
|
|
|
+ var keyList = keyDockList.flatMap { it.deviceList }.apply {
|
|
|
LogUtil.i("keyStatus:${this}")
|
|
LogUtil.i("keyStatus:${this}")
|
|
|
}.filterIsInstance<DockBean.KeyBean>()
|
|
}.filterIsInstance<DockBean.KeyBean>()
|
|
|
.filterIndexed { idx, _ -> (idx + 1) !in slotCols }.filter { kb ->
|
|
.filterIndexed { idx, _ -> (idx + 1) !in slotCols }.filter { kb ->
|
|
@@ -1036,7 +1033,12 @@ object ModBusController {
|
|
|
ToastUtils.tip(R.string.no_available_key)
|
|
ToastUtils.tip(R.string.no_available_key)
|
|
|
return null
|
|
return null
|
|
|
}
|
|
}
|
|
|
- keyList.sortedBy { BusinessManager.getBleDeviceByMac(it.mac)?.token != null }
|
|
|
|
|
|
|
+ keyList = keyList.sortedWith(
|
|
|
|
|
+ compareByDescending<DockBean.KeyBean> {
|
|
|
|
|
+ BleManager.getInstance().isConnected(it.mac)
|
|
|
|
|
+ } // 主键:在线优先
|
|
|
|
|
+ .thenByDescending { BusinessManager.getBleDeviceByMac(it.mac)?.token != null } // 次键:有 token 优先
|
|
|
|
|
+ )
|
|
|
|
|
|
|
|
for (kb in keyList) {
|
|
for (kb in keyList) {
|
|
|
val mac = kb.mac ?: continue
|
|
val mac = kb.mac ?: continue
|