|
@@ -3,6 +3,7 @@ package com.grkj.iscs.presenter
|
|
|
import com.grkj.iscs.BusinessManager
|
|
import com.grkj.iscs.BusinessManager
|
|
|
import com.grkj.iscs.R
|
|
import com.grkj.iscs.R
|
|
|
import com.grkj.iscs.base.BasePresenter
|
|
import com.grkj.iscs.base.BasePresenter
|
|
|
|
|
+import com.grkj.iscs.extentions.serialNo
|
|
|
import com.grkj.iscs.iview.ITicketDetailView
|
|
import com.grkj.iscs.iview.ITicketDetailView
|
|
|
import com.grkj.iscs.modbus.ModBusController
|
|
import com.grkj.iscs.modbus.ModBusController
|
|
|
import com.grkj.iscs.model.Constants.JOB_STATUS_ACQUIRE_KEY
|
|
import com.grkj.iscs.model.Constants.JOB_STATUS_ACQUIRE_KEY
|
|
@@ -13,6 +14,7 @@ import com.grkj.iscs.model.Constants.JOB_STATUS_READY_TO_UNLOCK
|
|
|
import com.grkj.iscs.model.Constants.JOB_STATUS_UNLOCKED
|
|
import com.grkj.iscs.model.Constants.JOB_STATUS_UNLOCKED
|
|
|
import com.grkj.iscs.model.Constants.USER_TYPE_COLOCKER
|
|
import com.grkj.iscs.model.Constants.USER_TYPE_COLOCKER
|
|
|
import com.grkj.iscs.model.Constants.USER_TYPE_LOCKER
|
|
import com.grkj.iscs.model.Constants.USER_TYPE_LOCKER
|
|
|
|
|
+import com.grkj.iscs.model.vo.lock.LockTakeUpdateReqVO
|
|
|
import com.grkj.iscs.model.vo.ticket.TicketDetailRespVO
|
|
import com.grkj.iscs.model.vo.ticket.TicketDetailRespVO
|
|
|
import com.grkj.iscs.model.vo.ticket.TicketEquipDetailRespVO
|
|
import com.grkj.iscs.model.vo.ticket.TicketEquipDetailRespVO
|
|
|
import com.grkj.iscs.util.Executor
|
|
import com.grkj.iscs.util.Executor
|
|
@@ -102,8 +104,21 @@ class TicketDetailPresenter : BasePresenter<ITicketDetailView>() {
|
|
|
// TODO 取锁具、取钥匙
|
|
// TODO 取锁具、取钥匙
|
|
|
val needLockCount = equipDetail.ticketLockVOList?.filter { it.lockId == null }?.size ?: 0
|
|
val needLockCount = equipDetail.ticketLockVOList?.filter { it.lockId == null }?.size ?: 0
|
|
|
BusinessManager.checkEquipCount(needLockCount) { keyPair, lockMap ->
|
|
BusinessManager.checkEquipCount(needLockCount) { keyPair, lockMap ->
|
|
|
- // 机柜锁具数量不够
|
|
|
|
|
- if (keyPair == null) {
|
|
|
|
|
|
|
+ val list = mutableListOf<LockTakeUpdateReqVO>()
|
|
|
|
|
+ lockMap.forEach { (_, lockList) ->
|
|
|
|
|
+ list.addAll(lockList.map { LockTakeUpdateReqVO(ticketDetail.ticketId, it.rfid, mContext!!.serialNo()) })
|
|
|
|
|
+ }
|
|
|
|
|
+ NetApi.updateLockTake(list) {
|
|
|
|
|
+ if (it == true) {
|
|
|
|
|
+ lockMap.forEach { (addr, lockList) ->
|
|
|
|
|
+ // 开锁卡扣
|
|
|
|
|
+ ModBusController.controlLockBuckle(true, addr.toInt(), lockList.map { it.idx }.toMutableList())
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // null表示锁具数量不够,不给钥匙
|
|
|
|
|
+ if (keyPair != null) {
|
|
|
|
|
+ // TODO 下发工作票、更新钥匙信息
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|