package com.vincent.rsf.server.manager.entity;
|
|
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.vincent.rsf.framework.common.Cools;
|
import com.vincent.rsf.framework.common.SpringUtils;
|
import com.vincent.rsf.server.manager.service.LocTypeService;
|
import com.vincent.rsf.server.manager.service.WarehouseAreasService;
|
import com.vincent.rsf.server.manager.service.WarehouseService;
|
import com.vincent.rsf.server.system.entity.User;
|
import com.vincent.rsf.server.system.service.UserService;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import lombok.experimental.Accessors;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.format.annotation.DateTimeFormat;
|
|
import java.io.Serializable;
|
import java.text.SimpleDateFormat;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
@Data
|
@Accessors(chain = true)
|
@TableName("man_loc")
|
public class Loc implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* ID
|
*/
|
@ApiModelProperty(value= "ID")
|
@TableId(value = "id", type = IdType.AUTO)
|
private Long id;
|
|
/**
|
* 库区标识
|
*/
|
@ApiModelProperty(value= "库区标识")
|
private Long areaId;
|
|
/**
|
* 库位号
|
*/
|
@ApiModelProperty(value= "库位号")
|
private String code;
|
|
/**
|
* 仓库标识
|
*/
|
@ApiModelProperty(value= "仓库标识")
|
private Long warehouseId;
|
|
/**
|
* 库位类型(*) H: 高库位 M: 中库位 L: 低库位
|
*/
|
@ApiModelProperty(value= "库位类型(*) H: 高库位 M: 中库位 L: 低库位 ")
|
@TableField("`type`")
|
private String type;
|
|
@ApiModelProperty("库位类型(*)[man_loc_type]")
|
@TableField(exist = false)
|
private List<Long> typeIds;
|
|
/**
|
* 虚拟库位
|
*/
|
@ApiModelProperty(value= "虚拟库位")
|
private Short flagLogic;
|
|
/**
|
* 功能属性
|
*/
|
@ApiModelProperty(value= "功能属性")
|
private String fucAtrrs;
|
|
/**
|
* 容器编码
|
*/
|
@ApiModelProperty(value= "容器编码")
|
private String barcode;
|
|
/**
|
* 存放单位
|
*/
|
@ApiModelProperty(value= "存放单位")
|
private String unit;
|
|
/**
|
* 长
|
*/
|
@ApiModelProperty(value= "长")
|
@TableField("`length`")
|
private Double length;
|
|
/**
|
* 高
|
*/
|
@ApiModelProperty(value= "高")
|
private Double height;
|
|
/**
|
* 宽
|
*/
|
@ApiModelProperty(value= "宽")
|
private Double width;
|
/**
|
* 排
|
*/
|
@ApiModelProperty(value= "排")
|
@TableField("`row`")
|
private Integer row;
|
|
/**
|
* 设备号
|
*/
|
@ApiModelProperty(value= "设备号")
|
private Integer deviceNo;
|
|
/**
|
* 列
|
*/
|
@ApiModelProperty(value= "列")
|
private Integer col;
|
|
/**
|
* 层
|
*/
|
@ApiModelProperty(value= "层")
|
private Integer lev;
|
|
/**
|
* 巷道
|
*/
|
@ApiModelProperty(value= "巷道")
|
@TableField("`channel`")
|
private Integer channel;
|
|
/**
|
* 最大零件数
|
*/
|
@ApiModelProperty(value= "最大零件数")
|
private Integer maxParts;
|
|
/**
|
* 最大包装数
|
*/
|
@ApiModelProperty(value= "最大包装数")
|
private Integer maxPack;
|
|
/**
|
* 库位使用状态 O: 空库 D: 空板 R: 预约出库 S: 预约入库 X: 禁用 F: 在库
|
*/
|
@ApiModelProperty(value= "库位使用状态 O: 空库 D: 空板 R: 预约出库 S: 预约入库 X: 禁用 F: 在库 ")
|
private String useStatus;
|
|
/**
|
* 是否标签管理
|
*/
|
@ApiModelProperty(value= "是否标签管理")
|
private Short flagLabelMange;
|
|
/**
|
* 属性
|
*/
|
@ApiModelProperty(value= "属性")
|
private String locAttrs;
|
|
/**
|
* 状态 1: 正常 0: 冻结
|
*/
|
@ApiModelProperty(value= "状态 1: 正常 0: 冻结 ")
|
@TableField("`status`")
|
private Integer status;
|
|
/**
|
* 是否删除 1: 是 0: 否
|
*/
|
@ApiModelProperty(value= "是否删除 1: 是 0: 否 ")
|
@TableLogic
|
private Integer deleted;
|
|
/**
|
* 租户
|
*/
|
@ApiModelProperty(value= "租户")
|
private Integer tenantId;
|
|
/**
|
* 添加人员
|
*/
|
@ApiModelProperty(value= "添加人员")
|
private Long createBy;
|
|
/**
|
* 添加时间
|
*/
|
@ApiModelProperty(value= "添加时间")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
private Date createTime;
|
|
/**
|
* 修改人员
|
*/
|
@ApiModelProperty(value= "修改人员")
|
private Long updateBy;
|
|
/**
|
* 修改时间
|
*/
|
@ApiModelProperty(value= "修改时间")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
private Date updateTime;
|
|
/**
|
* 备注
|
*/
|
@ApiModelProperty(value= "备注")
|
private String memo;
|
|
public Loc() {}
|
|
public Loc(Long areaId, String code, Long warehouseId, String type, Short flagLogic, String fucAtrrs, String barcode, String unit, Double length, Double height, Double width, Integer row, Integer col, Integer lev, Integer channel, Integer maxParts, Integer maxPack, String useStatus, Short flagLabelMange, String locAttrs, Integer status, Integer deleted, Integer tenantId, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
|
this.areaId = areaId;
|
this.code = code;
|
this.warehouseId = warehouseId;
|
this.type = type;
|
this.flagLogic = flagLogic;
|
this.fucAtrrs = fucAtrrs;
|
this.barcode = barcode;
|
this.unit = unit;
|
this.length = length;
|
this.height = height;
|
this.width = width;
|
this.row = row;
|
this.col = col;
|
this.lev = lev;
|
this.channel = channel;
|
this.maxParts = maxParts;
|
this.maxPack = maxPack;
|
this.useStatus = useStatus;
|
this.flagLabelMange = flagLabelMange;
|
this.locAttrs = locAttrs;
|
this.status = status;
|
this.deleted = deleted;
|
this.tenantId = tenantId;
|
this.createBy = createBy;
|
this.createTime = createTime;
|
this.updateBy = updateBy;
|
this.updateTime = updateTime;
|
this.memo = memo;
|
}
|
|
// Loc loc = new Loc(
|
// null, // 库区标识[非空]
|
// null, // 库位号
|
// null, // 仓库标识[非空]
|
// null, // 库位类型(*)[非空]
|
// null, // 虚拟库位
|
// null, // 功能属性
|
// null, // 容器编码
|
// null, // 存放单位
|
// null, // 长
|
// null, // 高
|
// null, // 宽
|
// null, // 排[非空]
|
// null, // 列[非空]
|
// null, // 层[非空]
|
// null, // 巷道
|
// null, // 最大零件数
|
// null, // 最大包装数
|
// null, // 库位使用状态[非空]
|
// null, // 是否标签管理
|
// null, // 属性
|
// null, // 状态[非空]
|
// null, // 是否删除[非空]
|
// null, // 租户
|
// null, // 添加人员
|
// null, // 添加时间[非空]
|
// null, // 修改人员
|
// null, // 修改时间[非空]
|
// null // 备注
|
// );
|
|
public String getTypeIds$(){
|
if (null == this.type){ return null; }
|
String[] split = this.type.split(",");
|
List<String> asList = Arrays.asList(split);
|
if (asList.isEmpty()) {
|
return null;
|
}
|
LocTypeService locTypeService = SpringUtils.getBean(LocTypeService.class);
|
List<LocType> locTypes = locTypeService.list(new LambdaQueryWrapper<LocType>().in(LocType::getId, asList));
|
if (locTypes.isEmpty()) {
|
return null;
|
}
|
List<String> strings = locTypes.stream().map(LocType::getName).collect(Collectors.toList());
|
return StringUtils.join(strings, ",");
|
}
|
|
public String getUseStatus$(){
|
if (null == this.useStatus){ return null; }
|
switch (this.useStatus){
|
case "O":
|
return " 空库";
|
case "D":
|
return " 空板";
|
case "R":
|
return " 预约出库";
|
case "S":
|
return " 预约入库";
|
case "X":
|
return " 禁用";
|
case "F":
|
return " 在库";
|
default:
|
return String.valueOf(this.useStatus);
|
}
|
}
|
|
public String getWarehouseId$(){
|
if (null == this.warehouseId){ return null; }
|
WarehouseService service = SpringUtils.getBean(WarehouseService.class);
|
Warehouse warehouse = service.getById(this.warehouseId);
|
if (!Cools.isEmpty(warehouse)){
|
return String.valueOf(warehouse.getName());
|
}
|
return null;
|
}
|
|
public String getAreaId$(){
|
if (null == this.areaId){ return null; }
|
WarehouseAreasService service = SpringUtils.getBean(WarehouseAreasService.class);
|
WarehouseAreas warehouseAreas = service.getById(this.areaId);
|
if (!Cools.isEmpty(warehouseAreas)){
|
return String.valueOf(warehouseAreas.getName());
|
}
|
return null;
|
}
|
|
public String getStatus$(){
|
if (null == this.status){ return null; }
|
switch (this.status){
|
case 1:
|
return "正常";
|
case 0:
|
return "冻结";
|
default:
|
return String.valueOf(this.status);
|
}
|
}
|
|
public String getCreateBy$(){
|
UserService service = SpringUtils.getBean(UserService.class);
|
User user = service.getById(this.createBy);
|
if (!Cools.isEmpty(user)){
|
return String.valueOf(user.getNickname());
|
}
|
return null;
|
}
|
|
public String getCreateTime$(){
|
if (Cools.isEmpty(this.createTime)){
|
return "";
|
}
|
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
|
}
|
|
public String getUpdateBy$(){
|
UserService service = SpringUtils.getBean(UserService.class);
|
User user = service.getById(this.updateBy);
|
if (!Cools.isEmpty(user)){
|
return String.valueOf(user.getNickname());
|
}
|
return null;
|
}
|
|
public String getUpdateTime$(){
|
if (Cools.isEmpty(this.updateTime)){
|
return "";
|
}
|
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
|
}
|
|
|
|
public Boolean getStatusBool(){
|
if (null == this.status){ return null; }
|
switch (this.status){
|
case 1:
|
return true;
|
case 0:
|
return false;
|
default:
|
return null;
|
}
|
}
|
|
}
|