From 63353e2b6fc2ea2727b1d27c13724cd1ed5bb7e0 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Tue, 4 Nov 2025 16:43:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E5=92=8C=E5=8E=9F=E6=96=99=E8=A7=84=E6=A0=BC=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsProduct 和 WmsRawMaterial 实体类中新增 specification 字段- 在对应的 BO 和 VO 类中同步增加 specification 属性- 更新查询构造器,支持根据规格进行模糊匹配 - 调整默认属性配置中的规格值格式 -优化分页查询逻辑,确保 BOM信息正确填充 --- klp-wms/src/main/java/com/klp/domain/WmsProduct.java | 3 +++ .../src/main/java/com/klp/domain/WmsRawMaterial.java | 5 ++++- .../main/java/com/klp/domain/bo/WmsProductBo.java | 3 +++ .../java/com/klp/domain/bo/WmsRawMaterialBo.java | 2 ++ .../main/java/com/klp/domain/vo/WmsProductVo.java | 3 +++ .../java/com/klp/domain/vo/WmsRawMaterialVo.java | 3 +++ .../com/klp/service/impl/WmsProductServiceImpl.java | 12 +++++++----- .../klp/service/impl/WmsRawMaterialServiceImpl.java | 12 +++++++----- 8 files changed, 32 insertions(+), 11 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/domain/WmsProduct.java b/klp-wms/src/main/java/com/klp/domain/WmsProduct.java index 51a9c3e2..6378bb64 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsProduct.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsProduct.java @@ -92,5 +92,8 @@ public class WmsProduct extends BaseEntity { */ private String type; + //规格 + private String specification; + } diff --git a/klp-wms/src/main/java/com/klp/domain/WmsRawMaterial.java b/klp-wms/src/main/java/com/klp/domain/WmsRawMaterial.java index a000e240..0b97da44 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsRawMaterial.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsRawMaterial.java @@ -126,11 +126,14 @@ public class WmsRawMaterial extends BaseEntity { * 单位 */ private String unit; - + /** * BOM 表头ID */ private Long bomId; + //规格 + private String specification; + } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBo.java index 6a7c84b6..c97609ae 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBo.java @@ -93,5 +93,8 @@ public class WmsProductBo extends BaseEntity { private Long bomId; //产品类型 private String type; + + //规格 + private String specification; } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsRawMaterialBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsRawMaterialBo.java index adbcb56d..b1100867 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsRawMaterialBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsRawMaterialBo.java @@ -150,5 +150,7 @@ public class WmsRawMaterialBo extends BaseEntity { */ private Long bomId; + //规格 + private String specification; } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsProductVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsProductVo.java index 82af994b..8cacbeeb 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsProductVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsProductVo.java @@ -123,5 +123,8 @@ public class WmsProductVo { */ private List bomItems; + + //规格 + private String specification; } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsRawMaterialVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsRawMaterialVo.java index 7b107822..3286ba88 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsRawMaterialVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsRawMaterialVo.java @@ -218,5 +218,8 @@ public class WmsRawMaterialVo { * BOM明细信息 */ private List bomItems; + + //规格 + private String specification; } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsProductServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsProductServiceImpl.java index 67494def..1c6a4b85 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsProductServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsProductServiceImpl.java @@ -69,10 +69,10 @@ public class WmsProductServiceImpl implements IWmsProductService { public TableDataInfo queryPageListWithBom(WmsProductBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - + // 填充BOM信息 fillBomInfo(result.getRecords()); - + return TableDataInfo.build(result); } @@ -101,6 +101,8 @@ public class WmsProductServiceImpl implements IWmsProductService { lqw.eq(bo.getIsEnabled() != null, WmsProduct::getIsEnabled, bo.getIsEnabled()); lqw.eq(bo.getBomId() != null, WmsProduct::getBomId, bo.getBomId()); lqw.eq(StringUtils.isNotBlank(bo.getType()), WmsProduct::getType, bo.getType()); + //规格模糊匹配 + lqw.like(StringUtils.isNotBlank(bo.getSpecification()), WmsProduct::getSpecification, bo.getSpecification()); return lqw; } @@ -143,14 +145,14 @@ public class WmsProductServiceImpl implements IWmsProductService { if ("产品".equals(type)) { // 产品默认属性(根据截图) defaultAttrs = Arrays.asList( - new String[]{"规格", "1250 * 0.6"}, + new String[]{"规格", "0.6 * 1250"}, new String[]{"材质", "SPCC"}, new String[]{"表面处理", "涂油"} ); } else { // 原料默认属性(根据截图) defaultAttrs = Arrays.asList( - new String[]{"规格", "1265 * 4"}, + new String[]{"规格", "4 * 1265"}, new String[]{"材质", "Q195L"}, new String[]{"厂家", "天铁"} ); @@ -184,7 +186,7 @@ public class WmsProductServiceImpl implements IWmsProductService { if (productList == null || productList.isEmpty()) { return; } - + for (WmsProductVo vo : productList) { if (vo.getBomId() != null) { // 查询BOM明细 diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsRawMaterialServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsRawMaterialServiceImpl.java index 9731b507..b1ec0ac4 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsRawMaterialServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsRawMaterialServiceImpl.java @@ -83,10 +83,10 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService { public TableDataInfo queryPageListWithBom(WmsRawMaterialBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - + // 填充BOM信息 fillBomInfo(result.getRecords()); - + return TableDataInfo.build(result); } @@ -211,6 +211,8 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService { lqw.eq(StringUtils.isNotBlank(bo.getInspectionResult()), WmsRawMaterial::getInspectionResult, bo.getInspectionResult()); lqw.eq(bo.getIsEnabled() != null, WmsRawMaterial::getIsEnabled, bo.getIsEnabled()); lqw.eq(bo.getBomId() != null, WmsRawMaterial::getBomId, bo.getBomId()); + //规格模糊匹配 + lqw.like(StringUtils.isNotBlank(bo.getSpecification()), WmsRawMaterial::getSpecification, bo.getSpecification()); return lqw; } @@ -253,14 +255,14 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService { if ("产品".equals(type)) { // 产品默认属性(根据截图) defaultAttrs = Arrays.asList( - new String[]{"规格", "1250 * 0.6"}, + new String[]{"规格", "0.6 * 1250"}, new String[]{"材质", "SPCC"}, new String[]{"表面处理", "涂油"} ); } else { // 原料默认属性(根据截图) defaultAttrs = Arrays.asList( - new String[]{"规格", "1265 * 4"}, + new String[]{"规格", "4 * 1265"}, new String[]{"材质", "Q195L"}, new String[]{"厂家", "天铁"} ); @@ -294,7 +296,7 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService { if (rawMaterialList == null || rawMaterialList.isEmpty()) { return; } - + for (WmsRawMaterialVo vo : rawMaterialList) { if (vo.getBomId() != null) { // 查询BOM明细