package com.zy.common.properties; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import java.util.ArrayList; import java.util.List; /** * AGV配置属性 * * @author system */ @Data @Configuration @ConfigurationProperties(prefix = "agv") public class AgvProperties { /** * 是否发送任务 */ private boolean sendTask = false; /** * 东侧配置 */ private RobotGroupConfig east = new RobotGroupConfig(); /** * 西侧配置 */ private RobotGroupConfig west = new RobotGroupConfig(); /** * whs_type映射配置 * 1: 入库区(东侧),2: 缓存区(西侧) */ private WhsTypeMapping whsTypeMapping = new WhsTypeMapping(); /** * whs_type映射配置内部类 */ @Data public static class WhsTypeMapping { /** * 入库区对应的whs_type值(默认1) */ private Long inboundArea = 1L; /** * 缓存区对应的whs_type值(默认2) */ private Long cacheArea = 2L; } /** * 机器人组配置内部类 */ @Data public static class RobotGroupConfig { /** * 机器人组编号 */ private String robotGroup = ""; /** * 站点列表 */ private List stations = new ArrayList<>(); } /** * 获取东侧站点列表(兼容旧代码) */ public List getEastStations() { return east != null ? east.getStations() : new ArrayList<>(); } /** * 获取西侧站点列表(兼容旧代码) */ public List getWestStations() { return west != null ? west.getStations() : new ArrayList<>(); } /** * 获取东侧机器人组编号(兼容旧代码) */ public String getRobotGroupEast() { return east != null && east.getRobotGroup() != null && !east.getRobotGroup().isEmpty() ? east.getRobotGroup() : "Group-001"; } /** * 获取西侧机器人组编号(兼容旧代码) */ public String getRobotGroupWest() { return west != null && west.getRobotGroup() != null && !west.getRobotGroup().isEmpty() ? west.getRobotGroup() : "Group-002"; } }