package com.zy.asrs.wcs.core.model.enums; 
 | 
  
 | 
import com.zy.asrs.framework.common.SpringUtils; 
 | 
import com.zy.asrs.framework.exception.CoolException; 
 | 
import com.zy.asrs.wcs.core.entity.MotionCtg; 
 | 
import com.zy.asrs.wcs.core.service.MotionCtgService; 
 | 
  
 | 
import static com.zy.asrs.wcs.core.model.enums.DeviceCtgType.*; 
 | 
  
 | 
public enum MotionCtgType { 
 | 
  
 | 
    // 输送线 -------------------------------------------- 
 | 
    CONVEYOR_INBOUND(CONVEYOR), 
 | 
  
 | 
    CONVEYOR_INBOUND_TO_LIFT(CONVEYOR), 
 | 
  
 | 
    CONVEYOR_OUTBOUND(CONVEYOR), 
 | 
  
 | 
    CONVEYOR_OUTBOUND_FROM_LIFT(CONVEYOR), 
 | 
  
 | 
    // 堆垛机 -------------------------------------------- 
 | 
  
 | 
    // 提升机 -------------------------------------------- 
 | 
    LIFT_MOVE(LIFT), 
 | 
  
 | 
    LIFT_WITH_GOODS(LIFT), 
 | 
    LIFT_WITH_SHUTTLE(LIFT), 
 | 
    LIFT_WITH_GOODS_AND_SHUTTLE(LIFT), 
 | 
  
 | 
    LIFT_TRANSPORT_TO_CONVEYOR(LIFT), 
 | 
  
 | 
    LIFT_MISSION_COMPLETE(LIFT), 
 | 
  
 | 
    // 穿梭车 -------------------------------------------- 
 | 
    SHUTTLE_MOVE(SHUTTLE), 
 | 
    SHUTTLE_MOVE_LIFT_PALLET(SHUTTLE),//穿梭车顶升并移动 
 | 
    SHUTTLE_MOVE_DOWN_PALLET(SHUTTLE),//穿梭车移动并托盘下降 
 | 
    SHUTTLE_MOVE_FROM_LIFT(SHUTTLE), 
 | 
    SHUTTLE_MOVE_TO_LIFT(SHUTTLE), 
 | 
    SHUTTLE_MOVE_FROM_CONVEYOR(SHUTTLE), 
 | 
    SHUTTLE_MOVE_TO_CONVEYOR(SHUTTLE), 
 | 
  
 | 
    SHUTTLE_MOVE_FROM_LIFT_TO_CONVEYOR(SHUTTLE), 
 | 
  
 | 
    SHUTTLE_TRANSPORT(SHUTTLE), 
 | 
    SHUTTLE_TRANSPORT_FROM_LIFT(SHUTTLE), 
 | 
    SHUTTLE_TRANSPORT_TO_LIFT(SHUTTLE), 
 | 
    SHUTTLE_TRANSPORT_FROM_CONVEYOR(SHUTTLE), 
 | 
    SHUTTLE_TRANSPORT_TO_CONVEYOR(SHUTTLE), 
 | 
  
 | 
    SHUTTLE_CHARGE_ON(SHUTTLE), 
 | 
    SHUTTLE_CHARGE_OFF(SHUTTLE), 
 | 
  
 | 
    SHUTTLE_PALLET_LIFT(SHUTTLE),//托盘顶升 
 | 
    SHUTTLE_PALLET_DOWN(SHUTTLE),//托盘下降 
 | 
  
 | 
    // AGV ---------------------------------------------- 
 | 
    AGV_TRANSPORT(AGV), 
 | 
  
 | 
    ; 
 | 
  
 | 
    public DeviceCtgType deviceCtg; 
 | 
  
 | 
    MotionCtgType(DeviceCtgType deviceCtg) { 
 | 
        this.deviceCtg = deviceCtg; 
 | 
    } 
 | 
  
 | 
    public long val() { 
 | 
        MotionCtgService service = SpringUtils.getBean(MotionCtgService.class); 
 | 
        MotionCtg entity = service.selectByFlag(this.toString()); 
 | 
        if (entity == null) { 
 | 
            throw new CoolException("MotionCtgType Error!"); 
 | 
        } 
 | 
        return entity.getId(); 
 | 
    } 
 | 
  
 | 
    public static MotionCtgType get(String el) { 
 | 
        for (MotionCtgType value : MotionCtgType.values()) { 
 | 
            if (el.equals(value.toString())) { 
 | 
                return value; 
 | 
            } 
 | 
        } 
 | 
        return null; 
 | 
    } 
 | 
  
 | 
  
 | 
} 
 |