package com.vincent.rsf.server.manager.controller.params; import io.swagger.annotations.ApiModelProperty; import lombok.AccessLevel; import lombok.Data; import lombok.Setter; import lombok.experimental.Accessors; import java.util.ArrayList; import java.util.List; @Data @Accessors(chain = true) public class DeviceSiteParame { @ApiModelProperty("是否初始化") private Integer flagInit; @ApiModelProperty("设备类型") private String deviceType; /** 作业类型,前端可能传字符串数组如 ["109"],通过 setter 统一转为 Long */ @Setter(AccessLevel.NONE) @ApiModelProperty("作业类型") private List typeIds; /** 兼容前端传 ["109"] 等字符串数组 */ public void setTypeIds(List typeIds) { if (typeIds == null) { this.typeIds = null; return; } this.typeIds = new ArrayList<>(); for (Object o : typeIds) { if (o == null) continue; if (o instanceof Number) { this.typeIds.add(((Number) o).longValue()); } else { this.typeIds.add(Long.parseLong(o.toString().trim())); } } } @ApiModelProperty("作业站点") private String site; @ApiModelProperty("设备编号") private String deviceCode; @ApiModelProperty("设备作业站点") private String deviceSites; @ApiModelProperty("目标站点") private String target; /** 多行:每行一组 设备站点、作业站点、目标站点,每行对应一条记录(再按巷道、作业类型展开) */ @ApiModelProperty("路径行列表:设备站点、作业站点、目标站点为一组,每行一条") private List rows; /** 巷道,英文逗号分隔多个,如 "1,2,3" */ @ApiModelProperty("巷道,英文逗号分隔多个") private String channel; @ApiModelProperty("源库区") private Long areaIdStart; @ApiModelProperty("目标库区") private Long areaIdEnd; @ApiModelProperty("名称(公共,用于本批生成的所有路径)") private String name; @ApiModelProperty("WCS编号(公共)") private String wcsCode; @ApiModelProperty("站点标签(公共)") private String label; }