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