| | |
| | | dto.setLiftNo(transferLiftDevice.getId().intValue()); |
| | | dto.setLev(Utils.getLev(task.getDestLoc())); |
| | | dto.setStaNo(Integer.parseInt(task.getDestSite())); |
| | | dto.setReleaseLift(1);//执行完成后释放提升机 |
| | | })) |
| | | // dto.setReleaseLift(1);//执行完成后释放提升机 |
| | | })), |
| | | MotionCtgType.LIFT_WITH_GOODS_IN |
| | | )); |
| | | |
| | | // 穿梭车走行至提升机库位 |
| | |
| | | dto.setShuttleDevice(shuttleDevice); |
| | | dto.setLiftNo(transferLiftDevice.getId().intValue()); |
| | | dto.setLocNo(standbyLocNoTo); |
| | | dto.setReleaseLift(1);//执行完成后释放提升机 |
| | | })), |
| | | MotionCtgType.SHUTTLE_TRANSPORT |
| | | )); |
| | |
| | | return motionList; |
| | | } |
| | | |
| | | BasConveyorSta basConveyorStaOrigin = basConveyorStaService.selectBySiteNo(task.getOriginSite()); |
| | | if (basConveyorStaOrigin == null) { |
| | | return motionList; |
| | | } |
| | | |
| | | //检测穿梭车是否有任务绑定 |
| | | boolean shuttleResult = Utils.checkShuttleHasBinding(shuttleDevice, task.getTaskNo()); |
| | | if (shuttleResult) { |
| | |
| | | //穿梭车进提升机待机位库位号 输送线位置 |
| | | String standbyLocNoTo = shuttleStandbyTo.getDeviceStandbyLoc(); |
| | | |
| | | //穿梭车换层时待机位置 使用表列 memo数据 |
| | | String standbyLocNoMemo = shuttleStandbyTo.getMemo(); |
| | | //穿梭车待机位置 使用表列 |
| | | String standbyLocNoList = shuttleStandbyTo.getStandbyLoc(); |
| | | |
| | | //获取出库任务类型 |
| | | TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() |
| | | .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT)) |
| | | .eq(TaskCtg::getStatus, 1)); |
| | | if (taskCtg == null) { |
| | | return motionList; |
| | | } |
| | | //获取输送线路径 |
| | | BasConveyorPath basConveyorPath = basConveyorPathService.getOne(new LambdaQueryWrapper<BasConveyorPath>() |
| | | .eq(BasConveyorPath::getDeviceStn, task.getOriginSite()) |
| | | .eq(BasConveyorPath::getDeviceNo, liftProtocol.getLiftNo()) |
| | | .eq(BasConveyorPath::getTypeNo, taskCtg.getId())); |
| | | if (basConveyorPath == null) { |
| | | return motionList; |
| | | } |
| | | |
| | |
| | | dto.setLocNo(standbyLocNoTo); |
| | | dto.setStaNo(getStaByLev(Utils.getLev(task.getOriginLoc())));//输送站 |
| | | })), |
| | | MotionCtgType.SHUTTLE_TRANSPORT_TO_CONVEYOR |
| | | MotionCtgType.SHUTTLE_TRANSPORT |
| | | )); |
| | | |
| | | Integer liftLevLogic = liftDispatcher.getLiftLevOffset(transferLiftDevice.getId().intValue(), Utils.getLev(originLoc)); |
| | | // 提升机空载移动到出库层 |
| | | motionList.addAll(kernelService.liftMove( |
| | | null |
| | | , MotionDto.build((dto -> { |
| | | dto.setLiftNo(transferLiftDevice.getId().intValue()); |
| | | dto.setLev(Utils.getLev(originLoc)); |
| | | dto.setLev(liftLevLogic); |
| | | })) |
| | | )); |
| | | |
| | |
| | | MotionDto.build((dto -> { |
| | | dto.setShuttleNo(shuttleDevice.getId().intValue()); |
| | | dto.setShuttleDevice(shuttleDevice); |
| | | dto.setLocNo(standbyLocNoTo); |
| | | dto.setSync(0);//异步执行 |
| | | dto.setLocNo(standbyLocNoList); |
| | | // dto.setSync(0);//异步执行 |
| | | dto.setReleaseShuttle(1);//执行完成后释放小车 |
| | | })), |
| | | MotionCtgType.SHUTTLE_MOVE_STANDBY |
| | |
| | | , MotionDto.build((dto -> { |
| | | dto.setLiftNo(transferLiftDevice.getId().intValue()); |
| | | dto.setStaNo(Integer.parseInt(task.getDestSite()));//出库站点 |
| | | dto.setDevpNo(basConveyorStaOrigin.getConveyorDeviceId().intValue()); |
| | | dto.setReleaseLift(1);//执行完成后释放提升机 |
| | | })) |
| | | })), |
| | | MotionCtgType.LIFT_WITH_GOODS_OUT |
| | | )); |
| | | |
| | | } |
| | |
| | | return motionList;//未分析成功 |
| | | } |
| | | |
| | | //获取小车待机库位 ==> 进提升机 |
| | | ShuttleStandby shuttleStandbyTo = shuttleStandbyService.getOne(new LambdaQueryWrapper<ShuttleStandby>() |
| | | .eq(ShuttleStandby::getDeviceLev, Utils.getLev(shuttleLocNo)) |
| | | .eq(ShuttleStandby::getStatus, 1)); |
| | | |
| | | //穿梭车待机位置 使用表列 |
| | | String standbyLocNoList = shuttleStandbyTo.getStandbyLoc(); |
| | | |
| | | String standbyLocNo; |
| | | if (originSite == 1015) { |
| | | standbyLocNo = "1200101"; |
| | |
| | | MotionDto.build((dto -> { |
| | | dto.setShuttleNo(shuttleDevice.getId().intValue()); |
| | | dto.setShuttleDevice(shuttleDevice); |
| | | dto.setLocNo(standbyLocNo); |
| | | dto.setSync(0);//异步执行 |
| | | dto.setLocNo(standbyLocNoList); |
| | | // dto.setSync(0);//异步执行 |
| | | dto.setReleaseShuttle(1);//执行完成后释放小车 |
| | | })), |
| | | MotionCtgType.SHUTTLE_MOVE_STANDBY |
| | |
| | | if (destSite.equals("move")) { |
| | | //提升机升降楼层 |
| | | |
| | | Integer liftLevLogic = liftDispatcher.getLiftLevOffset(device.getId().intValue(), Integer.parseInt(task.getDestLoc())); |
| | | // 提升机空载移动到穿梭车层 |
| | | motionList.addAll(kernelService.liftMove( |
| | | null |
| | | , MotionDto.build((dto -> { |
| | | dto.setLiftNo(device.getId().intValue()); |
| | | dto.setLev(Integer.parseInt(task.getDestLoc())); |
| | | dto.setLev(liftLevLogic); |
| | | })) |
| | | )); |
| | | |
| | |
| | | return motionList; |
| | | } |
| | | |
| | | Integer originLev = liftDispatcher.getLiftLevOffset(device.getId().intValue(), Utils.getLev(basConveyorStaOrigin.getLocNo())); |
| | | Integer targetLev = liftDispatcher.getLiftLevOffset(device.getId().intValue(), Utils.getLev(basConveyorStaDest.getLocNo())); |
| | | |
| | | // 提升机移动托盘 |
| | | motionList.addAll(kernelService.liftMoveGoods( |
| | | MotionDto.build((dto -> { |
| | | dto.setLiftNo(device.getId().intValue()); |
| | | dto.setLev(Utils.getLev(basConveyorStaOrigin.getLocNo())); |
| | | dto.setLev(originLev); |
| | | dto.setStaNo(Integer.parseInt(task.getOriginSite())); |
| | | })) |
| | | , MotionDto.build((dto -> { |
| | | dto.setLiftNo(device.getId().intValue()); |
| | | dto.setLev(Utils.getLev(basConveyorStaDest.getLocNo())); |
| | | dto.setLev(targetLev); |
| | | dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue()); |
| | | dto.setStaNo(Integer.parseInt(task.getDestSite())); |
| | | })) |
| | | })), |
| | | MotionCtgType.LIFT_WITH_GOODS |
| | | )); |
| | | |
| | | } else if (destSite.equals("lock")) { |