| | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | |
| | | @Component |
| | | public class ShuttleAction { |
| | |
| | | |
| | | ShuttleAssignCommand assignCommand = redisCommand.getAssignCommand(); |
| | | int commandStep = redisCommand.getCommandStep(); |
| | | |
| | | Integer mode = -1; |
| | | if(commandStep < commands.size()) { |
| | | //取出命令 |
| | | ShuttleCommand currentCommand = commands.get(commandStep); |
| | | mode = currentCommand.getMode(); |
| | | } |
| | | |
| | | //判断设备是否空闲 |
| | | Integer finalMode = mode; |
| | | if (!shuttleThread.isDeviceIdle(new ExecuteSupport() { |
| | | @Override |
| | | public Boolean judgement() { |
| | | if (ShuttleCommandModeType.CHARGE_CLOSE.id.equals(finalMode)) {//关闭充电motion |
| | | return false;//不需要判断状态 |
| | | } |
| | | return true;//需要判断状态 |
| | | } |
| | | })) { |
| | | return false; |
| | | } |
| | | |
| | | // 完结上一条命令 |
| | | boolean updateCommand = false; |
| | |
| | | |
| | | //取出命令 |
| | | ShuttleCommand command = commands.get(commandStep); |
| | | |
| | | Integer mode = command.getMode(); |
| | | //判断设备是否空闲 |
| | | if (!shuttleThread.isDeviceIdle(new ExecuteSupport() { |
| | | @Override |
| | | public Boolean judgement() { |
| | | if (ShuttleCommandModeType.CHARGE_CLOSE.id.equals(mode)) {//关闭充电motion |
| | | return false;//不需要判断状态 |
| | | } |
| | | return true;//需要判断状态 |
| | | } |
| | | })) { |
| | | return false; |
| | | } |
| | | |
| | | // 下发命令 |
| | | if (!write(command, device)) { |