package com.vincent.rsf.server.manager.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.SpringUtils; import com.vincent.rsf.server.manager.enums.StationTypeEnum; import com.vincent.rsf.server.manager.service.WarehouseAreasService; import com.vincent.rsf.server.system.entity.DictData; import com.vincent.rsf.server.system.entity.User; import com.vincent.rsf.server.system.service.DictDataService; import com.vincent.rsf.server.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @Data @TableName(value = "man_bas_station_area", autoResultMap = true) public class BasStationArea implements Serializable { private static final long serialVersionUID = 1L; /** * id */ @ApiModelProperty(value = "id") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 站点名称 */ @ApiModelProperty(value = "区域名称") private String stationAreaName; /** * 站点名称 */ @ApiModelProperty(value = "区域编号") private String stationAreaId; @ApiModelProperty("类型: {0:光电, 1:无光电}") private Integer type; /** * 可入 */ @ApiModelProperty(value = "可入") private Integer inAble = 0; /** * 可出 */ @ApiModelProperty(value = "可出") private Integer outAble = 0; /** * 状态 */ @ApiModelProperty(value = "状态") private String useStatus; /** * 所属库区id */ @ApiModelProperty(value = "所属库区id") private Long area; /** * 是否可跨区 */ @ApiModelProperty(value = "是否可跨区") private Integer isCrossZone = 0; /** * 可跨区区域id */ @ApiModelProperty(value = "可执行库区区区域id") @TableField(typeHandler = JacksonTypeHandler.class) private List crossZoneArea; /** * 是否wcs站点 */ @ApiModelProperty(value = "是否wcs站点") private Integer isWcs = 0; /** * wcs站点信息 */ @ApiModelProperty(value = "wcs站点信息") private String wcsData; /** * 容器类型 */ @ApiModelProperty(value = "容器类型") @TableField(typeHandler = JacksonTypeHandler.class) private List containerType; /** * 条码 */ @ApiModelProperty(value = "条码") @TableField(updateStrategy = FieldStrategy.ALWAYS) private String barcode; /** * 是否自动调拨 */ @ApiModelProperty(value = "是否自动调拨") private Integer autoTransfer; /** * 备注 */ @ApiModelProperty(value = "备注") private String memo; @ApiModelProperty(value = "是否删除 1: 是 0: 否 ") @TableLogic private Integer deleted; /** * 创建人 */ @ApiModelProperty(value = "创建人") private Long createBy; @TableField(exist = false) private String createBy$; /** * 创建时间 */ @ApiModelProperty(value = "创建时间") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 更新人 */ @ApiModelProperty(value = "更新人") private Long updateBy; @TableField(exist = false) private String updateBy$; /** * 更新时间 */ @ApiModelProperty(value = "更新时间") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; @ApiModelProperty(value = "状态") private Integer status; /** * 所属机构 */ @ApiModelProperty(value = "租户") private Long tenantId; @TableField(exist = false) private List areaIds; @TableField(exist = false) private List containerTypes; /** * 区域包含站点集 */ @ApiModelProperty(value = "区域包含站点集") @TableField(typeHandler = JacksonTypeHandler.class) private List stationAlias; /** * 区域包含站点编号集 */ @ApiModelProperty(value = "区域包含站点编号集") @TableField(typeHandler = JacksonTypeHandler.class) private List stationAliasStaNo; @TableField(exist = false) private String useStatus$; @TableField(exist = false) private String area$; public BasStationArea() { } public String getType$() { if (this.type == null) return null; return StationTypeEnum.getStationDesc(this.type); } public List getContainerTypes() { return this.containerTypes; } public String getCreateTime$() { if (Cools.isEmpty(this.createTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public String getUpdateTime$() { if (Cools.isEmpty(this.updateTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } public String getUseStatus$() { return this.useStatus$; } public String getArea$() { return this.area$; } public Boolean getStatusBool() { if (null == this.status) { return null; } switch (this.status) { case 1: return true; case 0: return false; default: return null; } } }