| | |
| | | import com.zy.asrs.wcs.rcs.model.enums.SlaveType; |
| | | import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol; |
| | | import com.zy.asrs.wcs.rcs.service.DeviceService; |
| | | import com.zy.asrs.wcs.rcs.thread.LiftThread; |
| | | import com.zy.asrs.wcs.rcs.thread.ShuttleThread; |
| | | import com.zy.asrs.wcs.system.entity.Dict; |
| | | import com.zy.asrs.wcs.system.service.DictService; |
| | |
| | | continue; |
| | | } |
| | | |
| | | BasShuttle basShuttle = basShuttleService.getOne(new LambdaQueryWrapper<BasShuttle>() |
| | | .eq(BasShuttle::getShuttleNo, device.getDeviceNo()) |
| | | .eq(BasShuttle::getHostId, device.getHostId())); |
| | | if (basShuttle == null) { |
| | | continue;//小车基础数据不存在 |
| | | } |
| | | |
| | | if (!Cools.isEmpty(basShuttle.getDisableLev())) { |
| | | List<Integer> disableLev = JSON.parseArray(basShuttle.getDisableLev(), Integer.class); |
| | | //检查小车是否禁用该楼层 |
| | | if (disableLev.contains(Utils.getLev(locNo))) { |
| | | continue;//小车禁用该楼层跳过该车 |
| | | } |
| | | } |
| | | |
| | | //检测是否存在充电任务 |
| | | Task taskCharge = taskService.selectChargeWorking(Integer.valueOf(device.getDeviceNo())); |
| | | if (taskCharge != null) { |
| | |
| | | continue; |
| | | } |
| | | |
| | | Device recentTransferLift = Utils.getRecentTransferLift(locNo, Integer.parseInt(device.getDeviceNo())); |
| | | if (recentTransferLift == null) { |
| | | //获取距离目标位置最近的空闲可换层提升机 |
| | | LiftThread liftThread = liftDispatcher.searchIdleLift(locNo, task.getHostId(), true); |
| | | if (liftThread == null) { |
| | | continue; |
| | | } |
| | | Device recentTransferLift = liftThread.getDevice(); |
| | | |
| | | //获取小车楼层提升机待机位 |
| | | ShuttleStandby shuttleStandby = shuttleStandbyService.getOne(new LambdaQueryWrapper<ShuttleStandby>() |