|
|
@@ -1028,7 +1028,7 @@ object BusinessManager {
|
|
|
val taskList = ArrayList<WorkTicketSendBO.DataBO.DataListBO>()
|
|
|
vo.ticketPointsVOList?.let { itList ->
|
|
|
itList.forEach { pointVO ->
|
|
|
- if (vo.noUnlockTicketPointsVOSet?.any { it.pointId == pointVO.pointId } == true) {
|
|
|
+ if (vo.noUnlockTicketPointsVOSet?.any { it.pointId == pointVO.pointId } == true && isLock == false) {
|
|
|
return@forEach
|
|
|
}
|
|
|
val task = WorkTicketSendBO.DataBO.DataListBO(
|
|
|
@@ -1418,7 +1418,7 @@ object BusinessManager {
|
|
|
)
|
|
|
}
|
|
|
ToastUtils.tip(R.string.key_return_success)
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
ToastUtils.tip(R.string.key_return_success)
|
|
|
}
|
|
|
}
|
|
|
@@ -1440,13 +1440,23 @@ object BusinessManager {
|
|
|
ToastUtils.tip(R.string.continue_the_ticket)
|
|
|
BleManager.getInstance().disconnect(bleDevice)
|
|
|
// 打开卡扣,防止初始化的时候选择不处理钥匙导致无法使用
|
|
|
- val dock = ModBusController.getDockByKeyMac(bleDevice.mac)
|
|
|
- val keyBean =
|
|
|
- dock?.getKeyList()?.find { it.mac == bleDevice.mac }
|
|
|
- keyBean?.let {
|
|
|
- ModBusController.controlKeyBuckle(
|
|
|
- true, keyBean.isLeft, dock.addr
|
|
|
- )
|
|
|
+ if (workTicketGetBO.data?.all { it.dataList?.all { it.closed == 1 } == true } == true) {
|
|
|
+ workTicketGetBO.data?.firstOrNull()?.taskCode?.toLong()
|
|
|
+ ?.let {
|
|
|
+ checkStepAndTicketDetailThenSendTicket(
|
|
|
+ it,
|
|
|
+ bleDevice.mac
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ val dock = ModBusController.getDockByKeyMac(bleDevice.mac)
|
|
|
+ val keyBean =
|
|
|
+ dock?.getKeyList()?.find { it.mac == bleDevice.mac }
|
|
|
+ keyBean?.let {
|
|
|
+ ModBusController.controlKeyBuckle(
|
|
|
+ true, keyBean.isLeft, dock.addr
|
|
|
+ )
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1819,6 +1829,51 @@ object BusinessManager {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 检查步骤和作业票详情并且下发作业票
|
|
|
+ */
|
|
|
+ private fun checkStepAndTicketDetailThenSendTicket(ticketId: Long, mac: String) {
|
|
|
+ NetApi.getStepDetail(ticketId) {
|
|
|
+ var step = 0
|
|
|
+ it?.filter { it.stepStatus == "1" }
|
|
|
+ ?.maxByOrNull { it.stepIndex!! }?.stepIndex?.let {
|
|
|
+ step = it
|
|
|
+ }
|
|
|
+ NetApi.getTicketDetail(ticketId) { ticketDetail, _ ->
|
|
|
+ if (ticketDetail == null) {
|
|
|
+ return@getTicketDetail
|
|
|
+ }
|
|
|
+ val role = ticketDetail?.ticketUserVOList?.find {
|
|
|
+ it.userId == SPUtils.getLoginUser(MyApplication.instance?.applicationContext!!)?.userId && it.userType == USER_TYPE_LOCKER
|
|
|
+ }
|
|
|
+ if (role == null) {
|
|
|
+ ToastUtils.tip(R.string.you_are_not_locker_tip)
|
|
|
+ return@getTicketDetail
|
|
|
+ }
|
|
|
+ if (step == 4) { // 上锁工作票
|
|
|
+ sendTicketBusiness(
|
|
|
+ true,
|
|
|
+ mac,
|
|
|
+ ticketDetail,
|
|
|
+ ticketDetail.ticketLockVOList?.filter { it.lockStatus != "2" }
|
|
|
+ ?.map { it.lockNfc }?.toMutableList(),
|
|
|
+ ActivityUtils.currentActivity() as BaseActivity<*>,
|
|
|
+ true
|
|
|
+ )
|
|
|
+ } else if (step == 7) { // 解锁工作票
|
|
|
+ sendTicketBusiness(
|
|
|
+ false,
|
|
|
+ mac,
|
|
|
+ ticketDetail,
|
|
|
+ null,
|
|
|
+ ActivityUtils.currentActivity() as BaseActivity<*>,
|
|
|
+ true
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
fun submitKeyData(context: Context) {
|
|
|
if (!CAN_RETURN) return
|
|
|
val updateList = SPUtils.getUpdateLockPoint(context)
|