package com.zy.core.thread; import com.zy.common.ExecuteSupport; import com.zy.core.ThreadHandler; import com.zy.core.enums.ForkLiftIoModeType; import com.zy.core.enums.ForkLiftProtocolStatusType; import com.zy.core.enums.ForkLiftTaskModeType; import com.zy.core.model.CommandResponse; import com.zy.core.model.command.ForkLiftCommand; import com.zy.core.model.protocol.ForkLiftProtocol; import com.zy.core.model.protocol.ForkLiftStaProtocol; import java.util.List; public interface ForkLiftThread extends ThreadHandler { ForkLiftProtocol getStatus();//获取提升机状态 ForkLiftProtocol getStatus(boolean clone);//获取提升机状态 List getForkLiftStaProtocols(); CommandResponse pickAndPut(ForkLiftCommand command);//取放货指令 CommandResponse shuttleSwitch(ForkLiftCommand command);//小车换层 CommandResponse move(ForkLiftCommand command);//小车换层 CommandResponse reset();//复位 boolean isIdle();//是否空闲 boolean isDeviceIdle();//设备是否空闲 boolean isDeviceIdle(ExecuteSupport support);//设备是否空闲 boolean setProtocolStatus(ForkLiftProtocolStatusType status);//设置工作状态 boolean setSyncTaskNo(Integer taskNo);//设置工作号 boolean switchIOMode(ForkLiftIoModeType type);//切换出入库模式 int generateDeviceTaskNo(int taskNo, ForkLiftTaskModeType type);//生成硬件设备工作号 //***************获取命令***************** List getPickAndPutCommand(Integer taskNo, Integer pick, Integer put);//取放货指令 List getShuttleSwitchCommand(Integer taskNo, Integer pick, Integer put);//小车换层 List getMoveCommand(Integer taskNo, Integer pick, Integer put);//提升机移动 }