66 lines
2.0 KiB
Kotlin
66 lines
2.0 KiB
Kotlin
package com.sw.platecabinet.utils
|
|
|
|
import androidx.fragment.app.FragmentActivity
|
|
import com.sw.plate.utils.ToastUtils
|
|
import com.sw.plate.utils.comn.SerialApi
|
|
import com.sw.plate.utils.comn.SerialPortManager
|
|
import com.sw.platecabinet.activity.BaseActivity
|
|
import com.sw.platecabinet.activity.MainActivity
|
|
import com.sw.platecabinet.activity.PageType
|
|
import timber.log.Timber
|
|
|
|
object PlateUtils {
|
|
|
|
fun open(
|
|
fragmentActivity: FragmentActivity,
|
|
code: String?,
|
|
isScanCode: Boolean,
|
|
isSetting: Boolean = false,
|
|
callback: () -> Unit = {}
|
|
) {
|
|
val activity = fragmentActivity as BaseActivity<*>
|
|
Timber.d("itemClick llOpen equipmentBoxCode = ${code}")
|
|
val equipmentBoxCode: Int = code?.toInt() ?: -1
|
|
if (equipmentBoxCode < 0) {
|
|
ToastUtils.showToast("餐盘柜编号错误")
|
|
return
|
|
}
|
|
activity.showWaitingDialog("请稍等")
|
|
SerialApi.openPlate(equipmentBoxCode, object : SerialPortManager.SendCallback {
|
|
override fun onSuccess() {
|
|
activity.hideWaitingDialog()
|
|
if (isSetting.not()) {
|
|
MainActivity.start(
|
|
activity,
|
|
pageType = PageType.PLATE_TIP,
|
|
isScanCode = isScanCode
|
|
)
|
|
} else {
|
|
ToastUtils.showToast("柜门打开成功")
|
|
callback()
|
|
}
|
|
}
|
|
|
|
override fun onFail(e: Exception?) {
|
|
activity.hideWaitingDialog()
|
|
ToastUtils.showToast("柜门打开失败")
|
|
callback()
|
|
}
|
|
})
|
|
}
|
|
|
|
fun openDirect(boxCode: String?) {
|
|
val boxNumber = boxCode?.toIntOrNull() ?: -1
|
|
if (boxNumber < 0) return
|
|
SerialApi.openPlate(boxNumber, object : SerialPortManager.SendCallback {
|
|
override fun onSuccess() {
|
|
|
|
}
|
|
|
|
override fun onFail(e: Exception?) {
|
|
|
|
}
|
|
})
|
|
}
|
|
|
|
} |