|
|
@@ -312,7 +312,7 @@ object BusinessManager {
|
|
|
|
|
|
override fun onIndicateSuccess() {
|
|
|
LogUtil.i("监听成功")
|
|
|
- val testStr = "{\"cardNo\":\"80A8C0F4EA\",\"password\":\"12345678\",\"effectiveTime\":24,\"data\":[{\"taskCode\":\"202401020001\",\"taskId\":\"71b49baa49b343bc84d7e6b829ac1bdc\",\"codeId\":1,\"dataList\":[{\"dataId\":1,\"equipRfidNo\":\"049648B2E31690\",\"infoRfidNo\":\"04E3BCCA201290\",\"target\":1},{\"dataId\":2,\"equipRfidNo\":\"0405982414C563\",\"target\":0,\"prevId\":1}]},{\"taskCode\":\"202401020002\",\"taskId\":\"145b5a4cc38c41e19943f4c8b48d12b0\",\"codeId\":2,\"dataList\":[{\"dataId\":1,\"equipRfidNo\":\"045460F7F4F438\",\"infoRfidNo\":\"04BC6584C65009\",\"target\":1},{\"dataId\":2,\"equipRfidNo\":\"042B99E449E795\",\"target\":0,\"prevId\":1},{\"dataId\":3,\"equipRfidNo\":\"04A312EE848B62\",\"infoRfidNo\":\"04220E86831289\",\"target\":1,\"prevId\":2}]}],\"lockList\":[{\"lockId\":\"1\",\"rfid\":\"040E21443010E9\"},{\"lockId\":\"2\",\"rfid\":\"0457505E5861C2\"}]}"
|
|
|
+// val testStr = "{\"cardNo\":\"80A8C0F4EA\",\"password\":\"12345678\",\"effectiveTime\":24,\"data\":[{\"taskCode\":\"202401020001\",\"taskId\":\"71b49baa49b343bc84d7e6b829ac1bdc\",\"codeId\":1,\"dataList\":[{\"dataId\":1,\"equipRfidNo\":\"049648B2E31690\",\"infoRfidNo\":\"04E3BCCA201290\",\"target\":1},{\"dataId\":2,\"equipRfidNo\":\"0405982414C563\",\"target\":0,\"prevId\":1}]},{\"taskCode\":\"202401020002\",\"taskId\":\"145b5a4cc38c41e19943f4c8b48d12b0\",\"codeId\":2,\"dataList\":[{\"dataId\":1,\"equipRfidNo\":\"045460F7F4F438\",\"infoRfidNo\":\"04BC6584C65009\",\"target\":1},{\"dataId\":2,\"equipRfidNo\":\"042B99E449E795\",\"target\":0,\"prevId\":1},{\"dataId\":3,\"equipRfidNo\":\"04A312EE848B62\",\"infoRfidNo\":\"04220E86831289\",\"target\":1,\"prevId\":2}]}],\"lockList\":[{\"lockId\":\"1\",\"rfid\":\"040E21443010E9\"},{\"lockId\":\"2\",\"rfid\":\"0457505E5861C2\"}]}"
|
|
|
// sendTicket(testStr, it.bleDevice, loadingCallBack)
|
|
|
Executor.delayOnMain(200) {
|
|
|
getToken(bleBean, loadingCallBack)
|
|
|
@@ -339,18 +339,16 @@ object BusinessManager {
|
|
|
loadingCallBack.invoke(true, "开始获取token...")
|
|
|
bleBean?.let {
|
|
|
BleCmdManager.getToken(it.bleDevice.mac, object : CustomBleWriteCallback() {
|
|
|
- override fun onPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onDisConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
loadingCallBack.invoke(false, "token获取成功")
|
|
|
- println("getToken success")
|
|
|
+ LogUtil.i("getToken success : ${bleBean.bleDevice.mac}")
|
|
|
Executor.delayOnMain(500) {
|
|
|
if (isSendTicket) {
|
|
|
- sendTicket(PresentationManager.getTicketJson(), it.bleDevice, loadingCallBack)
|
|
|
+ // TODO 要改成正式的json
|
|
|
+ bleBean.ticketSend?.let { itJson ->
|
|
|
+ sendTicket(itJson, it.bleDevice, loadingCallBack)
|
|
|
+ }
|
|
|
+// sendTicket(PresentationManager.getTicketJson(), it.bleDevice, loadingCallBack)
|
|
|
} else {
|
|
|
getTicketStatus(it.bleDevice, loadingCallBack)
|
|
|
}
|
|
|
@@ -359,7 +357,7 @@ object BusinessManager {
|
|
|
|
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
|
loadingCallBack.invoke(false, "token获取失败")
|
|
|
- println("getToken fail")
|
|
|
+ LogUtil.e("getToken fail : ${bleBean.bleDevice.mac}")
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
@@ -368,25 +366,20 @@ object BusinessManager {
|
|
|
fun sendTicket(jsonStr: String, bleDevice: BleDevice, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
loadingCallBack.invoke(true, "开始下发工作票...")
|
|
|
BleCmdManager.sendWorkTicket(jsonStr, bleDevice = bleDevice, callback = object : CustomBleWriteCallback() {
|
|
|
- override fun onPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onDisConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
println("sendTicket success")
|
|
|
loadingCallBack.invoke(true, "工作票下发中...")
|
|
|
}
|
|
|
|
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
|
- println("sendTicket fail")
|
|
|
+ LogUtil.e("sendTicket fail : ${bleDevice.mac}")
|
|
|
loadingCallBack.invoke(false, "工作票下发失败")
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
fun handleRsp(bleBean: BleBean, byteArray: ByteArray, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
+ // TODO Token校验
|
|
|
// val len = byteArray[2].toInt()
|
|
|
// val token = byteArray.copyOfRange(len + 7, len + 11)
|
|
|
// if (token.contentEquals(bleBean.token)) {
|
|
|
@@ -455,12 +448,6 @@ object BusinessManager {
|
|
|
if (res == 0x00.toByte()) idx + 1 else idx,
|
|
|
bleBean.bleDevice,
|
|
|
object : CustomBleWriteCallback() {
|
|
|
- override fun onPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onDisConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {}
|
|
|
|
|
|
override fun onWriteFailure(exception: BleException?) {}
|
|
|
@@ -471,13 +458,8 @@ object BusinessManager {
|
|
|
LogUtil.i("Work ticket is done")
|
|
|
// 下发完毕,切换工作模式
|
|
|
loadingCallBack.invoke(true, "切换钥匙为工作模式")
|
|
|
+ // TODO 要用户确认或者判断工作票完成自动确认
|
|
|
BleCmdManager.switchMode(byteArrayOf(0x01), bleBean.bleDevice, object : CustomBleWriteCallback() {
|
|
|
- override fun onPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onDisConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
println("switch mode 1 success")}
|
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
|
@@ -506,12 +488,6 @@ object BusinessManager {
|
|
|
if (idx != total - 1) {
|
|
|
loadingCallBack.invoke(true, "获取工作票分包")
|
|
|
getTicketStatusPart((idx + 1).toByteArray(), total.toByteArray(), byteArrayOf(0x01.toByte()), bleDevice, object : CustomBleWriteCallback() {
|
|
|
- override fun onPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onDisConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
println("getTicketStatusPart success")
|
|
|
}
|
|
|
@@ -529,12 +505,6 @@ object BusinessManager {
|
|
|
it.ticketStatus = byteArrayOf()
|
|
|
// 切换为待机模式
|
|
|
BleCmdManager.switchMode(byteArrayOf(0x02), bleDevice, object : CustomBleWriteCallback() {
|
|
|
- override fun onPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onDisConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
println("switch mode 1 success")}
|
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
|
@@ -569,12 +539,6 @@ object BusinessManager {
|
|
|
fun getTicketStatus(bleDevice: BleDevice, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
loadingCallBack.invoke(true, "开始获取工作票")
|
|
|
BleCmdManager.getTicketStatus(bleDevice, object : CustomBleWriteCallback() {
|
|
|
- override fun onPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
- override fun onDisConnectPrompt(promptStr: String?) {}
|
|
|
-
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
loadingCallBack.invoke(false, "工作票获取成功")
|
|
|
println("getTicketStatus success")}
|