From 9e02caecf2265c64503aabdc004865df86d6aa73 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 15 Nov 2025 15:37:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E8=BF=94=E5=9B=9E=E8=A1=A5?= =?UTF-8?q?=E5=85=85=E7=9A=84=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/klp/domain/vo/WmsMaterialCoilVo.java | 4 +- .../impl/WmsMaterialCoilServiceImpl.java | 65 +++++++++++++++++-- 2 files changed, 62 insertions(+), 7 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java index 2cff6579..37cc332f 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java @@ -147,7 +147,7 @@ public class WmsMaterialCoilVo extends BaseEntity { /** * 产品信息(当itemType为product时) */ - private Object product; // 产品VO待定义 + private WmsProductVo product; /** * BOM列表(原材料对应的BOM项目信息) @@ -210,5 +210,7 @@ public class WmsMaterialCoilVo extends BaseEntity { * 包装要求 */ private String packagingRequirement; + + } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 3469c419..8d6238cf 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -33,7 +33,9 @@ import com.klp.service.IWmsWarehouseService; import com.klp.service.IWmsActualWarehouseService; import com.klp.service.IWmsRawMaterialService; import com.klp.service.IWmsBomItemService; +import com.klp.service.IWmsProductService; import com.klp.domain.vo.WmsActualWarehouseVo; +import com.klp.domain.vo.WmsProductVo; import com.fasterxml.jackson.databind.ObjectMapper; import java.util.List; @@ -63,6 +65,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { private final IWmsActualWarehouseService actualWarehouseService; private final IWmsRawMaterialService rawMaterialService; private final IWmsBomItemService bomItemService; + private final IWmsProductService productService; /** * 查询钢卷物料表 @@ -126,13 +129,13 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // 查询产品信息(当itemType为product时) if ("product".equals(vo.getItemType()) && vo.getItemId() != null) { - // 产品和原材料的查询逻辑相同,都通过itemId查询 - WmsRawMaterialVo rawMaterial = rawMaterialService.queryById(vo.getItemId()); + WmsProductVo product = productService.queryById(vo.getItemId()); + vo.setProduct(product); - // 查询原材料对应的BOM信息(通过bomId查询BomItem列表) - if (rawMaterial != null && rawMaterial.getBomId() != null) { + // 查询产品对应的BOM信息(通过bomId查询BomItem列表) + if (product != null && product.getBomId() != null) { WmsBomItemBo bomItemBo = new WmsBomItemBo(); - bomItemBo.setBomId(rawMaterial.getBomId()); + bomItemBo.setBomId(product.getBomId()); List bomItemList = bomItemService.queryList(bomItemBo); vo.setBomItemList(bomItemList); } @@ -146,6 +149,12 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { public TableDataInfo queryPageList(WmsMaterialCoilBo bo, PageQuery pageQuery) { QueryWrapper qw = buildQueryWrapperPlus(bo); Page result = baseMapper.selectVoPagePlus(pageQuery.build(), qw); + + // 填充每个记录的产品或原材料对象 + for (WmsMaterialCoilVo vo : result.getRecords()) { + fillItemObject(vo); + } + return TableDataInfo.build(result); } @@ -200,7 +209,51 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { @Override public List queryList(WmsMaterialCoilBo bo) { QueryWrapper lqw = buildQueryWrapperPlus(bo); - return baseMapper.selectVoListWithDynamicJoin(lqw); + List list = baseMapper.selectVoListWithDynamicJoin(lqw); + + // 填充每个记录的产品或原材料对象 + for (WmsMaterialCoilVo vo : list) { + fillItemObject(vo); + } + + return list; + } + + /** + * 填充物品对象(产品或原材料) + */ + private void fillItemObject(WmsMaterialCoilVo vo) { + if (vo.getItemId() == null || vo.getItemType() == null) { + return; + } + + // 查询原材料信息 + if ("raw_material".equals(vo.getItemType())) { + WmsRawMaterialVo rawMaterial = rawMaterialService.queryById(vo.getItemId()); + vo.setRawMaterial(rawMaterial); + + // 查询原材料对应的BOM信息 + if (rawMaterial != null && rawMaterial.getBomId() != null) { + WmsBomItemBo bomItemBo = new WmsBomItemBo(); + bomItemBo.setBomId(rawMaterial.getBomId()); + List bomItemList = bomItemService.queryList(bomItemBo); + vo.setBomItemList(bomItemList); + } + } + + // 查询产品信息 + if ("product".equals(vo.getItemType())) { + WmsProductVo product = productService.queryById(vo.getItemId()); + vo.setProduct(product); + + // 查询产品对应的BOM信息 + if (product != null && product.getBomId() != null) { + WmsBomItemBo bomItemBo = new WmsBomItemBo(); + bomItemBo.setBomId(product.getBomId()); + List bomItemList = bomItemService.queryList(bomItemBo); + vo.setBomItemList(bomItemList); + } + } } /**