From 1670de4eafe7dcd0f52597cb1b5d61d352efeeb2 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Mon, 4 Aug 2025 17:08:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor(wms):=20=E5=AE=8C=E5=96=84returnSelect?= =?UTF-8?q?Code=E6=96=B9=E6=B3=95=EF=BC=8C=E7=8E=B0=E5=9C=A8=E7=9A=84?= =?UTF-8?q?=E5=85=B3=E7=B3=BB=E6=98=AF=E4=BB=93=E5=BA=93=E2=86=92=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E2=86=92=E5=BA=93=E4=BD=8D=E5=85=B3=E7=B3=BB=EF=BC=8C?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E8=AE=B0=E5=BD=95WmsOutstockRecord=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=88=B0=E5=BA=93=E4=BD=8DWmsBaseLocation=EF=BC=8C?= =?UTF-8?q?=E5=86=8D=E6=A0=B9=E6=8D=AEWmsBaseLocation=E5=BA=93=E4=BD=8D?= =?UTF-8?q?=E5=85=B3=E8=81=94=E5=88=B0=E5=8C=BA=E5=9F=9FWmsBaseArea?= =?UTF-8?q?=EF=BC=8C=E6=9F=A5=E8=AF=A2=E5=88=B0=E5=8C=BA=E5=9F=9F=E7=9A=84?= =?UTF-8?q?warehouseId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsBaseLocation 模型中重新添加 warehouseId 字段,但不存入数据库 - 修改 WmsBaseLocationServiceImpl 中的查询逻辑,通过区域关联仓库 - 更新 WmsBaseLocationVo 中的 warehouseId 字段,用于展示所属仓库 - 调整 WmsPdaApiController 和 WmsPdaApiServiceImpl 中的逻辑,以适应新的仓库关联方式 --- .../controller/api/WmsPdaApiController.java | 2 +- .../dromara/wms/domain/WmsBaseLocation.java | 9 ++++---- .../wms/domain/vo/WmsBaseLocationVo.java | 9 ++++---- .../impl/WmsBaseLocationServiceImpl.java | 4 ++-- .../service/impl/WmsPdaApiServiceImpl.java | 21 ++++++++++++++++++- 5 files changed, 32 insertions(+), 13 deletions(-) diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java index ae40e71..d0b0863 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java @@ -72,7 +72,7 @@ public class WmsPdaApiController extends BaseController { if (wmsBaseLocationVo == null) { return R.fail("库位条码扫描错误"); } - vo.setWarehouseId(wmsBaseLocationVo.getWarehouseId()); + vo.setWarehouseId(wmsBaseLocationVo.getWarehouseId()); Boolean result = apiService.inSubmit(vo); return result ? R.ok() : R.fail(); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsBaseLocation.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsBaseLocation.java index a89d98a..d834d01 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsBaseLocation.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsBaseLocation.java @@ -27,10 +27,11 @@ public class WmsBaseLocation extends TenantEntity { @TableId(type = IdType.AUTO,value = "location_id") private Long locationId; -// /** -// * 所属仓库 -// */ -// private Long warehouseId; + /** + * 所属仓库 + */ + @TableField(exist = false) + private Long warehouseId; /** * 所属仓库仓库区域 */ diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseLocationVo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseLocationVo.java index e999960..cc13abf 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseLocationVo.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseLocationVo.java @@ -32,11 +32,10 @@ public class WmsBaseLocationVo implements Serializable { @ExcelProperty(value = "表主键") private Long locationId; -// /** -// * 所属仓库 -// */ -// @ExcelProperty(value = "所属仓库") -// private Long warehouseId; + /** + * 所属仓库 + */ + private Long warehouseId;//join /** * 所属仓库仓库区域 */ diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java index 743b3c3..83cf309 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java @@ -155,8 +155,8 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService { // .select(WmsBaseWarehouse::getWarehouseName,WmsBaseWarehouse::getWarehouseCode) // .leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsBaseLocation::getWarehouseId) - //关联仓库改为关联区域 - .select(WmsBaseArea::getAreaName, WmsBaseArea::getAreaCode) + //关联仓库改为关联区域,通过区域查仓库 + .select(WmsBaseArea::getAreaName, WmsBaseArea::getAreaCode, WmsBaseArea::getWarehouseId) .leftJoin(WmsBaseArea.class,WmsBaseArea::getAreaId,WmsBaseLocation::getAreaId) .eq( WmsBaseLocation::getLocationCode, code); diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java index 33d5b32..14c57e1 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java @@ -44,7 +44,26 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { @Override public WmsOutstockRecordVo returnSelectCode(String code) { - MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsOutstockRecord.class).selectAll(WmsOutstockRecord.class).select(BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialName, BaseMaterialInfo::getMaterialUnit, BaseMaterialInfo::getMaterialSpec).leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsOutstockRecord::getMaterialId).select(WmsBaseLocation::getWarehouseId).leftJoin(WmsBaseLocation.class, WmsBaseLocation::getLocationCode, WmsOutstockRecord::getLocationCode).eq(WmsOutstockRecord::getBatchCode, code).eq(WmsOutstockRecord::getReturnFlag, 0).orderByDesc(WmsOutstockRecord::getCreateTime); + MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsOutstockRecord.class) + .selectAll(WmsOutstockRecord.class) + + .select(BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialName, BaseMaterialInfo::getMaterialUnit, BaseMaterialInfo::getMaterialSpec) + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsOutstockRecord::getMaterialId) + +// .select(WmsBaseLocation::getWarehouseId) +// .leftJoin(WmsBaseLocation.class, WmsBaseLocation::getLocationCode, WmsOutstockRecord::getLocationCode) + /* 关联仓库改为关联区域,先查区域再查仓库 */ + // 关联库位信息获取区域ID + .select(WmsBaseLocation::getAreaId) + .leftJoin(WmsBaseLocation.class, WmsBaseLocation::getLocationCode, WmsOutstockRecord::getLocationCode) + // 关联区域信息获取仓库ID + .select(WmsBaseArea::getWarehouseId) + .leftJoin(WmsBaseArea.class, WmsBaseArea::getAreaId, WmsBaseLocation::getAreaId) + + .eq(WmsOutstockRecord::getBatchCode, code) + .eq(WmsOutstockRecord::getReturnFlag, 0) + .orderByDesc(WmsOutstockRecord::getCreateTime); + return wmsOutstockRecordMapper.selectVoOne(lqw); }