feat(wms): 完善仓库→区域→库位关系,将库位管理按仓库区域划分,从关联仓库改为关联区域

- 修改 WmsBaseLocation 模型,将 warehouseId 字段改为 areaId
- 更新相关 BO、VO 类中的字段名称
- 修改服务实现类中的查询方法,以适应新的关联关系
- 保留了部分注释代码,以便未来可能的扩展
master
zangch@mesnac.com 5 months ago
parent 1e0a8e65ab
commit 9eb6f7fac0

@ -27,10 +27,14 @@ public class WmsBaseLocation extends TenantEntity {
@TableId(type = IdType.AUTO,value = "location_id")
private Long locationId;
// /**
// * 所属仓库
// */
// private Long warehouseId;
/**
*
*
*/
private Long warehouseId;
private Long areaId;
/**
*
@ -51,11 +55,25 @@ public class WmsBaseLocation extends TenantEntity {
*
*/
private Long locationNum;
@TableField(exist = false)
private String warehouseCode;
// @TableField(exist = false)
// private String warehouseCode;
// /**
// * 仓库名称
// */
// @TableField(exist = false)
// private String warehouseName;
/**
*
*
*/
@TableField(exist = false)
private String warehouseName;
private String areaCode;//JOIN
/**
*
*/
@TableField(exist = false)
private String areaName;//JOIN
}

@ -1,13 +1,10 @@
package org.dromara.wms.domain.bo;
import org.dromara.wms.domain.WmsBaseLocation;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.wms.domain.WmsBaseLocation;
/**
* wms_base_location
@ -19,11 +16,17 @@ import jakarta.validation.constraints.*;
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = WmsBaseLocation.class, reverseConvertGenerate = false)
public class WmsBaseLocationBo extends BaseEntity {
private Long locationId;
// /**
// * 所属仓库
// */
// private Long warehouseId;
/**
*
*
*/
private Long warehouseId;
private Long areaId;
/**
*

@ -32,11 +32,16 @@ public class WmsBaseLocationVo implements Serializable {
@ExcelProperty(value = "表主键")
private Long locationId;
// /**
// * 所属仓库
// */
// @ExcelProperty(value = "所属仓库")
// private Long warehouseId;
/**
*
*
*/
@ExcelProperty(value = "所属仓库")
private Long warehouseId;
@ExcelProperty(value = "所属仓库仓库区域")
private Long areaId;
/**
*
@ -73,12 +78,23 @@ public class WmsBaseLocationVo implements Serializable {
*/
@ExcelProperty(value = "更新时间")
private Date updateTime;
private String warehouseCode;
// private String warehouseCode;
//
// /**
// * 仓库名称
// */
// private String warehouseName;
/**
*
*/
private String areaCode;
/**
*
*
*/
private String warehouseName;
private String areaName;
private boolean state=false;
}

@ -3,8 +3,6 @@ package org.dromara.wms.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.wms.domain.WmsInstockPrint;
@ -12,7 +10,6 @@ import org.dromara.wms.domain.WmsInstockPrint;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -117,6 +114,8 @@ public class WmsInstockPrintVo implements Serializable {
private Double instockQty;
private Long warehouseId;
//关联仓库改为关联区域
private Long areaId;
/**
*

@ -1,26 +1,25 @@
package org.dromara.wms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.wms.domain.WmsBaseWarehouse;
import org.springframework.stereotype.Service;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.wms.domain.WmsBaseArea;
import org.dromara.wms.domain.WmsBaseLocation;
import org.dromara.wms.domain.bo.WmsBaseLocationBo;
import org.dromara.wms.domain.vo.WmsBaseLocationVo;
import org.dromara.wms.domain.WmsBaseLocation;
import org.dromara.wms.mapper.WmsBaseLocationMapper;
import org.dromara.wms.service.IWmsBaseLocationService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
@ -73,8 +72,8 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
@Override
public List<WmsBaseLocationVo> queryVoList(WmsBaseLocationBo bo) {
LambdaQueryWrapper<WmsBaseLocation> lqw = new LambdaQueryWrapper<>();
if (bo.getWarehouseId()!=null){
lqw.eq(WmsBaseLocation::getWarehouseId,bo.getWarehouseId());
if (bo.getAreaId()!=null){
lqw.eq(WmsBaseLocation::getAreaId,bo.getAreaId());
}
return baseMapper.selectVoList(lqw);
}
@ -83,10 +82,13 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<WmsBaseLocation> lqw = JoinWrappers.lambda(WmsBaseLocation.class)
.selectAll(WmsBaseLocation.class)
.select(WmsBaseWarehouse::getWarehouseName,WmsBaseWarehouse::getWarehouseCode)
// .select(WmsBaseWarehouse::getWarehouseName,WmsBaseWarehouse::getWarehouseCode)
// .leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsBaseLocation::getWarehouseId)
//关联仓库改为关联区域
.select(WmsBaseArea::getAreaName, WmsBaseArea::getAreaCode)
.leftJoin(WmsBaseArea.class,WmsBaseArea::getAreaId,WmsBaseLocation::getAreaId)
.leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsBaseLocation::getWarehouseId)
.eq(bo.getWarehouseId() != null, WmsBaseLocation::getWarehouseId, bo.getWarehouseId())
.eq(bo.getAreaId() != null, WmsBaseLocation::getAreaId, bo.getAreaId())
.like(StringUtils.isNotBlank(bo.getLocationCode()), WmsBaseLocation::getLocationCode, bo.getLocationCode())
.eq(bo.getLineNum() != null, WmsBaseLocation::getLineNum, bo.getLineNum())
.eq(bo.getLayerNum() != null, WmsBaseLocation::getLayerNum, bo.getLayerNum())
@ -150,8 +152,13 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
public WmsBaseLocationVo selectLocationVoByCode(String code) {
MPJLambdaWrapper<WmsBaseLocation> lqw = JoinWrappers.lambda(WmsBaseLocation.class)
.selectAll(WmsBaseLocation.class)
.select(WmsBaseWarehouse::getWarehouseName,WmsBaseWarehouse::getWarehouseCode)
.leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsBaseLocation::getWarehouseId)
// .select(WmsBaseWarehouse::getWarehouseName,WmsBaseWarehouse::getWarehouseCode)
// .leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsBaseLocation::getWarehouseId)
//关联仓库改为关联区域
.select(WmsBaseArea::getAreaName, WmsBaseArea::getAreaCode)
.leftJoin(WmsBaseArea.class,WmsBaseArea::getAreaId,WmsBaseLocation::getAreaId)
.eq( WmsBaseLocation::getLocationCode, code);
return baseMapper.selectVoOne(lqw);
}

Loading…
Cancel
Save