From 140ee9ee1fab98e11a64dadd2d535261a7c4a36b Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Wed, 3 Sep 2025 15:14:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor(wms):=20=E9=87=8D=E6=9E=84=E9=83=A8?= =?UTF-8?q?=E5=88=86=E4=BB=A3=E7=A0=81=E5=B9=B6=E4=BC=98=E5=8C=96=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 Hutool 的 BeanUtil 替代 Mapstruct 进行对象转换 - 更新多个 Mapper 文件中的表连接查询逻辑 - 优化部分 SQL 语句,增加物料名称等字段的查询 - 调整表名以适应新的数据结构 --- .../org/dromara/wms/mapper/WmsReturnOrderMapper.java | 2 +- .../wms/service/impl/WmsInstockPrintServiceImpl.java | 3 ++- .../wms/service/impl/WmsInventoryServiceImpl.java | 11 +++++++++-- .../main/resources/mapper/wms/WmsInventoryMapper.xml | 10 ++++++++-- .../src/main/resources/mapper/wms/WmsPdaApiMapper.xml | 2 +- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsReturnOrderMapper.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsReturnOrderMapper.java index 332abc1b..d261a0c2 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsReturnOrderMapper.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsReturnOrderMapper.java @@ -16,6 +16,6 @@ import org.springframework.stereotype.Repository; @Repository public interface WmsReturnOrderMapper extends BaseMapperPlus { @Select("select top 1 ro_id,wro.material_id,batch_code,plan_amount,plan_location_code,bmi.material_name,bmi.material_unit from wms_return_order wro\n" + - "left join base_material_info bmi on bmi.material_id=wro.material_id where batch_code=#{code} order by wro.create_time desc") + "left join base_material_info_copy1 bmi on bmi.material_id=wro.material_id where batch_code=#{code} order by wro.create_time desc") WmsReturnOrderVo selectOrderInfoByCode(@Param("code") String code); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockPrintServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockPrintServiceImpl.java index a4cd6b41..392abd36 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockPrintServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockPrintServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.wms.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; @@ -191,7 +192,7 @@ public class WmsInstockPrintServiceImpl implements IWmsInstockPrintService { for (WmsInstockPrintVo vo : WmsInstockPrintBos){ //条码数量+1 BigDecimal apportionQty = vo.getApportionQty().add(new BigDecimal(1)); - WmsInstockPrintBo wmsInstockPrintBo = MapstructUtils.convert(vo, WmsInstockPrintBo.class); + WmsInstockPrintBo wmsInstockPrintBo = BeanUtil.copyProperties(vo, WmsInstockPrintBo.class); wmsInstockPrintBo.setApportionQty(apportionQty); updateByBo(wmsInstockPrintBo); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryServiceImpl.java index 3cdd77d0..2f1e51ab 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryServiceImpl.java @@ -12,6 +12,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.wms.domain.BaseMaterialCategory; +import org.dromara.wms.domain.BaseMaterialInfo; import org.dromara.wms.domain.WmsBaseWarehouse; import org.dromara.wms.domain.WmsInventory; import org.dromara.wms.domain.bo.WmsInventoryBo; @@ -81,7 +82,9 @@ public class WmsInventoryServiceImpl implements IWmsInventoryService { MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsInventory.class) .selectAll(WmsInventory.class) - + // 关联表查询物料 + .select(BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialName) + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsInventory::getMaterialId) // 关联表查询物料大类名称 .select(BaseMaterialCategory::getMaterialCategoryName) .leftJoin(BaseMaterialCategory.class, BaseMaterialCategory::getMaterialCategoryId, WmsInventory::getMaterialCategoryId) @@ -104,12 +107,16 @@ public class WmsInventoryServiceImpl implements IWmsInventoryService { MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsInventory.class) .selectAll(WmsInventory.class) + // 关联表查询物料 + .select(BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialName) + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsInventory::getMaterialId) // 关联表查询物料大类名称 .select(BaseMaterialCategory::getMaterialCategoryName) .leftJoin(BaseMaterialCategory.class, BaseMaterialCategory::getMaterialCategoryId, WmsInventory::getMaterialCategoryId) - + // 关联表查询仓库 .select(WmsBaseWarehouse::getWarehouseCode) .leftJoin(WmsBaseWarehouse.class, WmsBaseWarehouse::getWarehouseId, WmsInventory::getStoreId); + lqw.eq(bo.getInventoryId() != null, WmsInventory::getInventoryId, bo.getInventoryId()); lqw.eq(StringUtils.isNotBlank(bo.getBatchCode()), WmsInventory::getBatchCode, bo.getBatchCode()); lqw.eq(bo.getMaterialId() != null, WmsInventory::getMaterialId, bo.getMaterialId()); diff --git a/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsInventoryMapper.xml b/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsInventoryMapper.xml index 5a6dc542..66d70915 100644 --- a/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsInventoryMapper.xml +++ b/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsInventoryMapper.xml @@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where x.material_id = #{entity.materialId} + + + + @@ -85,6 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +