|
|
@@ -8,6 +8,7 @@ import com.clj.fastble.BleManager
|
|
|
import com.clj.fastble.data.BleDevice
|
|
|
import com.clj.fastble.exception.BleException
|
|
|
import com.google.gson.Gson
|
|
|
+import com.grkj.iscs.base.BaseActivity
|
|
|
import com.grkj.iscs.ble.BleBean
|
|
|
import com.grkj.iscs.ble.BleCmdManager
|
|
|
import com.grkj.iscs.ble.BleConst
|
|
|
@@ -19,6 +20,7 @@ import com.grkj.iscs.ble.CustomBleGattCallback
|
|
|
import com.grkj.iscs.ble.CustomBleIndicateCallback
|
|
|
import com.grkj.iscs.ble.CustomBleScanCallback
|
|
|
import com.grkj.iscs.ble.CustomBleWriteCallback
|
|
|
+import com.grkj.iscs.dialog.TipDialog
|
|
|
import com.grkj.iscs.extentions.removeLeadingZeros
|
|
|
import com.grkj.iscs.extentions.serialNo
|
|
|
import com.grkj.iscs.extentions.startsWith
|
|
|
@@ -36,8 +38,11 @@ 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.model.bo.WorkTicketGetBO
|
|
|
import com.grkj.iscs.model.bo.WorkTicketSendBO
|
|
|
+import com.grkj.iscs.model.vo.ticket.LockPointUpdateReqVO
|
|
|
import com.grkj.iscs.model.vo.ticket.TicketDetailRespVO
|
|
|
+import com.grkj.iscs.util.ActivityUtils
|
|
|
import com.grkj.iscs.util.CommonUtils
|
|
|
import com.grkj.iscs.util.Executor
|
|
|
import com.grkj.iscs.util.NetApi
|
|
|
@@ -62,11 +67,6 @@ object BusinessManager {
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 下发工作票还是读取工作票完成状态
|
|
|
- */
|
|
|
- var isSendTicket = true
|
|
|
-
|
|
|
/****************************************** ModBus ******************************************/
|
|
|
|
|
|
fun connectDock(isNeedInit: Boolean = false) {
|
|
|
@@ -107,13 +107,14 @@ object BusinessManager {
|
|
|
NetApi.getKeyInfo(rfid) {
|
|
|
if (it != null && !it.macAddress.isNullOrEmpty()) {
|
|
|
ModBusController.updateKeyMac(dockBean.addr.toInt(), keyBean.isLeft, it.macAddress)
|
|
|
+ showKeyReturnDialog(it.macAddress, isLeft, dockBean.addr.toInt())
|
|
|
} else {
|
|
|
ToastUtils.tip(R.string.get_key_info_fail)
|
|
|
}
|
|
|
}
|
|
|
// TODO 蓝牙通信
|
|
|
}
|
|
|
- ModBusController.controlKeyBuckle(false, isLeft = true, dockBean.addr.toInt() - 1)
|
|
|
+// ModBusController.controlKeyBuckle(false, isLeft = true, dockBean.addr.toInt() - 1)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -153,13 +154,14 @@ object BusinessManager {
|
|
|
NetApi.getKeyInfo(rfid) {
|
|
|
if (it != null && !it.macAddress.isNullOrEmpty()) {
|
|
|
ModBusController.updateKeyMac(dockBean.addr.toInt(), isLeft, it.macAddress)
|
|
|
+ showKeyReturnDialog(it.macAddress, isLeft, dockBean.addr.toInt())
|
|
|
} else {
|
|
|
ToastUtils.tip(R.string.get_key_info_fail)
|
|
|
}
|
|
|
}
|
|
|
// TODO 蓝牙通信
|
|
|
}
|
|
|
- ModBusController.controlKeyBuckle(false, isLeft = true, dockBean.addr.toInt() - 1)
|
|
|
+// ModBusController.controlKeyBuckle(false, isLeft = true, dockBean.addr.toInt() - 1)
|
|
|
}
|
|
|
DEVICE_TYPE_LOCK -> {
|
|
|
ModBusController.readLockRfid(dockBean.addr.toInt() - 1, deviceBean.idx) { res ->
|
|
|
@@ -198,6 +200,21 @@ object BusinessManager {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 钥匙归还提示确认弹框
|
|
|
+ */
|
|
|
+ private fun showKeyReturnDialog(mac: String, isLeft: Boolean, slaveIdx: Int) {
|
|
|
+ val dlg = TipDialog(MyApplication.instance!!.applicationContext)
|
|
|
+ dlg.setTip(MyApplication.instance!!.getString(R.string.key_return_tip))
|
|
|
+ dlg.setType(TipDialog.TYPE_CONFIRM)
|
|
|
+ dlg.setConfirmListener {
|
|
|
+ ModBusController.controlKeyBuckle(false, isLeft, slaveIdx)
|
|
|
+ getTicketStatusBusiness(mac, ActivityUtils.currentActivity() as BaseActivity<*>) { b, s ->
|
|
|
+ (ActivityUtils.currentActivity() as BaseActivity<*>).handleLoading(b, s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
fun readLockBuckleStatus() {
|
|
|
// TODO slaveIdx暂时写死,调试用
|
|
|
ModBusController.readBuckleStatus(true, 0) { type, res ->
|
|
|
@@ -712,6 +729,28 @@ object BusinessManager {
|
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
|
println("switch mode 1 fail")}
|
|
|
})
|
|
|
+
|
|
|
+ // 上报隔离点状态
|
|
|
+ val workTicketGetBO = Gson().fromJson(String(it.ticketStatus), WorkTicketGetBO::class.java)
|
|
|
+ val keyNfc = ModBusController.getKeyByMac(bleDevice.mac)?.rfid
|
|
|
+ workTicketGetBO?.data?.forEach { data ->
|
|
|
+ val updateList = mutableListOf<LockPointUpdateReqVO>()
|
|
|
+ data.dataList?.forEach { dataListDTO ->
|
|
|
+ val updateVO = LockPointUpdateReqVO(
|
|
|
+ data.taskId?.toLong(),
|
|
|
+ dataListDTO.infoRfidNo,
|
|
|
+ dataListDTO.equipRfidNo,
|
|
|
+ keyNfc!!,
|
|
|
+ dataListDTO.target,
|
|
|
+ dataListDTO.status
|
|
|
+ )
|
|
|
+ updateList.add(updateVO)
|
|
|
+ }
|
|
|
+
|
|
|
+ NetApi.updateLockPointBatch(updateList) { itRst ->
|
|
|
+ // TODO 上报结果
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|