From bad618deace40f7d3312dca6dbd983be3aef3efb Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Thu, 15 Jan 2026 17:05:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(WmsMaterialCoil):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=BA=93=E5=8C=BAID=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在WmsMaterialCoilBo中新增warehouseIds字段用于存储多个库区ID - 修改查询逻辑以同时支持单个warehouseId和多个warehouseIds的查询条件 - 实现字符串分割和数字转换功能处理逗号分隔的库区ID列表 - 使用IN查询替代EQ查询以支持多库区条件匹配 - 添加数据去重处理避免重复的库区ID影响查询结果 --- .../com/klp/domain/bo/WmsMaterialCoilBo.java | 5 +++++ .../impl/WmsMaterialCoilServiceImpl.java | 21 ++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java index 3f0cb3d8..c8575ccd 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java @@ -56,6 +56,11 @@ public class WmsMaterialCoilBo extends BaseEntity { */ private Long warehouseId; + /** + * 所在库区IDs(逗号分隔) + */ + private String warehouseIds; + /** * 下一库区ID */ 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 dde057d3..6094e6fe 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 @@ -341,12 +341,31 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { qw.like(StringUtils.isNotBlank(bo.getSupplierCoilNo()), "mc.supplier_coil_no", bo.getSupplierCoilNo()); qw.eq(bo.getDataType() != null, "mc.data_type", bo.getDataType()); qw.eq(bo.getMaterialType() != null, "mc.material_type", bo.getMaterialType()); - qw.eq(bo.getWarehouseId() != null, "mc.warehouse_id", bo.getWarehouseId()); qw.eq(bo.getHasMergeSplit() != null, "mc.has_merge_split", bo.getHasMergeSplit()); qw.eq(bo.getStatus() != null, "mc.status", bo.getStatus()); qw.eq(StringUtils.isNotBlank(bo.getItemType()), "mc.item_type", bo.getItemType()); qw.eq(StringUtils.isNotBlank(bo.getCreateBy()), "mc.create_by", bo.getCreateBy()); qw.eq(StringUtils.isNotBlank(bo.getUpdateBy()), "mc.update_by", bo.getUpdateBy()); + // 统一处理 warehouseId 与 warehouseIds: + List warehouseIdList = new ArrayList<>(); + if (bo.getWarehouseId() != null) { + warehouseIdList.add(bo.getWarehouseId()); + } + if (StringUtils.isNotBlank(bo.getWarehouseIds())) { + String[] warehouseIdArray = bo.getWarehouseIds().split(","); + for (String warehouseIdStr : warehouseIdArray) { + if (StringUtils.isNotBlank(warehouseIdStr)) { + try { + warehouseIdList.add(Long.parseLong(warehouseIdStr.trim())); + } catch (NumberFormatException ignore) { + } + } + } + } + if (!warehouseIdList.isEmpty()) { + qw.in("mc.warehouse_id", warehouseIdList.stream().distinct().collect(Collectors.toList())); + } + // 新增长度 qw.eq(bo.getLength() != null, "mc.length", bo.getLength()); // 如果actualWarehouseId不为空,则根据实际库区ID进行查询 如果为-1,则查询无库区的数据