| | |
| | | import com.zy.asrs.wcs.core.model.enums.MotionStsType; |
| | | import com.zy.asrs.wcs.core.service.MotionService; |
| | | import com.zy.asrs.wcs.core.service.TaskService; |
| | | import com.zy.asrs.wcs.core.utils.Utils; |
| | | import com.zy.asrs.wcs.rcs.cache.SlaveConnection; |
| | | import com.zy.asrs.wcs.rcs.model.enums.LiftProtocolStatusType; |
| | | import com.zy.asrs.wcs.rcs.model.enums.SlaveType; |
| | |
| | | return false; |
| | | } |
| | | |
| | | //检测提升机是否有任务绑定 |
| | | boolean liftResult = Utils.checkLiftHasBinding(liftProtocol.getLiftNo(), String.valueOf(motion.getTaskNo())); |
| | | if (liftResult) { |
| | | //存在任务,禁止执行 |
| | | return false; |
| | | } |
| | | |
| | | //每次执行提升机指令都绑定提升机 |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskNo, motion.getTaskNo())); |
| | | if (task == null) { |
| | | return false; |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (motion.getReleaseLift() == 1) {//释放提升机 |
| | | task.setLiftNo(0); |
| | | task.setUpdateTime(new Date()); |
| | | if (!taskService.updateById(task)) { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | break; |
| | | case LIFT_WITH_GOODS: |
| | | // 判断提升机是否空闲 |
| | |
| | | } |
| | | } |
| | | |
| | | if (motion.getReleaseLift() == 1) {//释放提升机 |
| | | task.setLiftNo(0); |
| | | task.setUpdateTime(new Date()); |
| | | if (!taskService.updateById(task)) { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | break; |
| | | case LIFT_WITH_SHUTTLE: |
| | |
| | | if (liftThread.isLock(null)) { |
| | | return false; |
| | | } |
| | | |
| | | if (motion.getReleaseLift() == 1) {//释放提升机 |
| | | task.setLiftNo(0); |
| | | task.setUpdateTime(new Date()); |
| | | if (!taskService.updateById(task)) { |
| | | return false; |
| | | } |
| | | } |
| | | break; |
| | | case LIFT_SHUTTLE_ARRIVAL: |
| | | |