package com.zy.acs.manager.manager.enums;
|
|
import com.zy.acs.framework.common.SpringUtils;
|
import com.zy.acs.manager.common.exception.BusinessException;
|
import com.zy.acs.manager.manager.entity.AgvModel;
|
import com.zy.acs.manager.manager.service.AgvModelService;
|
|
import java.util.EnumMap;
|
import java.util.Map;
|
|
public enum AgvModelType {
|
|
CTU_BOX_TRANSPORT_AGV,
|
UNDERDRIVE_AGV,
|
HEAVY_LOAD_STACKING_ROBOT,
|
FORKLIFT_AGV,
|
TOW_TRACTOR_AGV,
|
;
|
|
AgvModelType() {
|
}
|
|
private static final Map<AgvModelType, Long> cache = new EnumMap<>(AgvModelType.class);
|
|
public long val() {
|
return cache.computeIfAbsent(this, key -> {
|
AgvModelService service = SpringUtils.getBean(AgvModelService.class);
|
AgvModel agvModel = service.selectByType(this.toString());
|
if (agvModel == null) {
|
throw new BusinessException("AgvModelType Error!");
|
}
|
return agvModel.getId();
|
});
|
}
|
|
}
|