refactor(wms): 重构部分代码并优化查询

- 使用 Hutool 的 BeanUtil 替代 Mapstruct 进行对象转换
- 更新多个 Mapper 文件中的表连接查询逻辑
- 优化部分 SQL 语句,增加物料名称等字段的查询
- 调整表名以适应新的数据结构
master
zangch@mesnac.com 4 months ago
parent 155edf4a85
commit 140ee9ee1f

@ -16,6 +16,6 @@ import org.springframework.stereotype.Repository;
@Repository
public interface WmsReturnOrderMapper extends BaseMapperPlus<WmsReturnOrder, WmsReturnOrderVo> {
@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);
}

@ -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);
}

@ -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<WmsInventory> 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<WmsInventory> 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());

@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where
x.material_id = #{entity.materialId}
</select>
<select id="listInventoryAlarm" resultType="org.dromara.wms.domain.vo.WmsInventoryVo"
parameterType="org.dromara.wms.domain.bo.WmsInventoryBo">
SELECT
@ -26,6 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
MAX(b.max_stock_amount) max_stock_amount,
MAX(c.warehouse_code) warehouse_code,
MAX(b.material_code) material_code,
MAX(b.material_name) material_name,
MAX(x.lock_state) lock_state,
MAX(x.material_categories) material_categories,
MAX(x.location_code) locationCode,
@ -33,7 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
MAX(bmc.material_category_name) material_category_name
FROM
hwmom.dbo.wms_inventory x
left join base_material_info b on
left join base_material_info_copy1 b on
x.material_id = b.material_id
left join wms_base_warehouse c on
x.warehouse_id = c.warehouse_id
@ -53,6 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
x.warehouse_id ,
x.material_id
</select>
<select id="selectInventoryMaterialInfoList" resultType="org.dromara.wms.domain.vo.WmsInventoryVo"
parameterType="org.dromara.wms.domain.bo.WmsInventoryBo">
SELECT
@ -62,7 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SUM(x.inventory_qty) inventory_qty
FROM
hwmom.dbo.wms_inventory x
left join base_material_info b on
left join base_material_info_copy1 b on
x.material_id = b.material_id
<where>
<!-- <if test="entity.materialId != null ">and x.material_id = #{entity.materialId}</if>-->
@ -77,6 +80,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
group by
x.material_id
</select>
<resultMap id="InventoryVoMap" type="org.dromara.wms.domain.vo.WmsInventoryVo">
<result property="inventoryId" column="obj_id"/>
<result property="batchCode" column="card_no"/>
@ -85,6 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="inventoryQty" column="storage_num"/>
<result property="materialCode" column="material_code"/>
</resultMap>
<select id="selectSemiInventoryListByLocation" resultMap="InventoryVoMap" >
select card_no,
material_id,

@ -166,7 +166,7 @@
out.out_qty
from wms_hpp_out_stock_detail out
left join dbo.wms_hpp_store_place whsp on out.store_place_id = whsp.obj_id
left join base_material_info mater on mater.material_id = out.material_id
left join base_material_info_copy1 mater on mater.material_id = out.material_id
WHERE card_no = #{code}
ORDER BY out.create_time DESC
</select>

Loading…
Cancel
Save