|  |  | 
 |  |  | import com.zy.asrs.wcs.core.entity.Motion; | 
 |  |  | import com.zy.asrs.wcs.core.model.command.LiftCommand; | 
 |  |  | import com.zy.asrs.wcs.core.model.enums.LiftCommandModeType; | 
 |  |  | import com.zy.asrs.wcs.core.model.enums.MotionCtgType; | 
 |  |  | import com.zy.asrs.wcs.rcs.entity.Device; | 
 |  |  | import com.zy.asrs.wcs.rcs.model.CommandResponse; | 
 |  |  | import com.zy.asrs.wcs.rcs.model.enums.LiftProtocolStatusType; | 
 |  |  | import com.zy.asrs.wcs.rcs.model.protocol.LiftProtocol; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | public interface LiftThread extends ThreadHandler{ | 
 |  |  |  | 
 |  |  | 
 |  |  |  | 
 |  |  |     Device getDevice();//获取设备信息 | 
 |  |  |  | 
 |  |  |     boolean move(LiftCommand command);//升降移动 | 
 |  |  |     CommandResponse move(LiftCommand command);//升降移动 | 
 |  |  |  | 
 |  |  |     boolean palletInOut(LiftCommand command);//托盘出入 | 
 |  |  |     CommandResponse palletInOut(LiftCommand command);//托盘出入 | 
 |  |  |  | 
 |  |  |     boolean lock(LiftCommand command);//锁定提升机 | 
 |  |  |     CommandResponse lock(LiftCommand command);//锁定提升机 | 
 |  |  |  | 
 |  |  |     boolean unlock(LiftCommand command);//解锁提升机 | 
 |  |  |     CommandResponse unlock(LiftCommand command);//解锁提升机 | 
 |  |  |  | 
 |  |  |     boolean reset(LiftCommand command);//复位 | 
 |  |  |     CommandResponse reset(LiftCommand command);//复位 | 
 |  |  |  | 
 |  |  |     boolean isIdle();//是否空闲 | 
 |  |  |  | 
 |  |  |     boolean isIdle(ExecuteSupport support);//是否空闲 | 
 |  |  |     boolean isIdle(MotionCtgType flag);//是否空闲 | 
 |  |  |  | 
 |  |  |     boolean isDeviceIdle();//设备是否空闲 | 
 |  |  |  | 
 |  |  | 
 |  |  |  | 
 |  |  |     boolean isLock(ExecuteSupport support); | 
 |  |  |  | 
 |  |  |     boolean commandFinished(Integer taskNo); | 
 |  |  |     int generateDeviceTaskNo(int taskNo, MotionCtgType motionCtgType);//生成硬件设备工作号 | 
 |  |  |  | 
 |  |  |     //***************获取命令***************** | 
 |  |  |     LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//提升机移动 | 
 |  |  |     List<LiftCommand> getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//提升机移动 | 
 |  |  |  | 
 |  |  |     LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//载车移动 | 
 |  |  |     List<LiftCommand> getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//载车移动 | 
 |  |  |  | 
 |  |  |     LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode);//托盘出入 | 
 |  |  |     List<LiftCommand> getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode);//托盘出入 | 
 |  |  |  | 
 |  |  |     LiftCommand getLockCommand(Integer taskNo, Boolean lock);//锁定/解锁提升机 | 
 |  |  |     List<LiftCommand> getLockCommand(Integer taskNo, Boolean lock);//锁定/解锁提升机 | 
 |  |  |  | 
 |  |  |     LiftCommand getShuttleSignalCommand(Integer taskNo, Boolean signal);//小车已到位/已驶离信号 | 
 |  |  |     List<LiftCommand> getShuttleSignalCommand(Integer taskNo, Boolean signal);//小车已到位/已驶离信号 | 
 |  |  |  | 
 |  |  | } |