From 5a3759b5021ae0f3a188156245740ef52a84cde5 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 27 Jun 2026 13:59:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(log):=20=E6=B7=BB=E5=8A=A0=E5=AE=9E?= =?UTF-8?q?=E9=99=85=E5=BA=93=E5=8C=BAIDs=E5=A4=9A=E5=80=BC=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在WmsCoilWarehouseOperationLogBo中新增actualWarehouseIds字段用于存储逗号分隔的库区ID - 集成StringUtils工具类支持字符串判空处理 - 实现actualWarehouseId与actualWarehouseIds的统一查询逻辑 - 支持单值和多值库区ID的同时检索 - 添加数字格式验证避免解析异常 - 使用distinct去重确保查询条件的准确性 --- .../bo/WmsCoilWarehouseOperationLogBo.java | 5 +++++ ...sCoilWarehouseOperationLogServiceImpl.java | 22 ++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsCoilWarehouseOperationLogBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsCoilWarehouseOperationLogBo.java index bf59f459b..8a460eb02 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsCoilWarehouseOperationLogBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsCoilWarehouseOperationLogBo.java @@ -36,6 +36,11 @@ public class WmsCoilWarehouseOperationLogBo extends BaseEntity { */ private Long actualWarehouseId; + /** + * 实际库区IDs(逗号分隔) + */ + private String actualWarehouseIds; + /** * 业务操作类型:1=收货,2=加工,3=调拨,4=发货 */ diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsCoilWarehouseOperationLogServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsCoilWarehouseOperationLogServiceImpl.java index e81c07f78..566f64bd5 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsCoilWarehouseOperationLogServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsCoilWarehouseOperationLogServiceImpl.java @@ -3,6 +3,7 @@ package com.klp.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.klp.common.core.page.TableDataInfo; +import com.klp.common.utils.StringUtils; import com.klp.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -113,7 +114,26 @@ public class WmsCoilWarehouseOperationLogServiceImpl implements IWmsCoilWarehous Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.eq(bo.getCoilId() != null, WmsCoilWarehouseOperationLog::getCoilId, bo.getCoilId()); - lqw.eq(bo.getActualWarehouseId() != null, WmsCoilWarehouseOperationLog::getActualWarehouseId, bo.getActualWarehouseId()); + // 统一处理 actualWarehouseId 与 actualWarehouseIds(实际库区):单值和逗号分隔多值统一收集 + List actualWarehouseIdList = new ArrayList<>(); + if (bo.getActualWarehouseId() != null) { + actualWarehouseIdList.add(bo.getActualWarehouseId()); + } + if (StringUtils.isNotBlank(bo.getActualWarehouseIds())) { + String[] actualWarehouseIdArray = bo.getActualWarehouseIds().split(","); + for (String actualWarehouseIdStr : actualWarehouseIdArray) { + if (StringUtils.isNotBlank(actualWarehouseIdStr)) { + try { + actualWarehouseIdList.add(Long.parseLong(actualWarehouseIdStr.trim())); + } catch (NumberFormatException ignore) { + } + } + } + } + if (!actualWarehouseIdList.isEmpty()) { + lqw.in(WmsCoilWarehouseOperationLog::getActualWarehouseId, + actualWarehouseIdList.stream().distinct().collect(Collectors.toList())); + } lqw.eq(bo.getOperationType() != null, WmsCoilWarehouseOperationLog::getOperationType, bo.getOperationType()); lqw.eq(bo.getInOutType() != null, WmsCoilWarehouseOperationLog::getInOutType, bo.getInOutType()); lqw.eq(bo.getCreateBy() != null, WmsCoilWarehouseOperationLog::getCreateBy, bo.getCreateBy());