diff --git a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/inventory/entity/Inventory.java b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/inventory/entity/Inventory.java index e42c971..5415250 100644 --- a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/inventory/entity/Inventory.java +++ b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/inventory/entity/Inventory.java @@ -94,6 +94,12 @@ public class Inventory implements Serializable { @Dict(dicCode = "inventory_status") private java.lang.Integer status; + /** + * 多状态查询库存 + */ + @TableField(exist = false) + private String status_MultiString; + /** * 描述 */ diff --git a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/inventory/service/impl/InventoryServiceImpl.java b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/inventory/service/impl/InventoryServiceImpl.java index 991eda1..399b270 100644 --- a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/inventory/service/impl/InventoryServiceImpl.java +++ b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/inventory/service/impl/InventoryServiceImpl.java @@ -1,12 +1,15 @@ package org.cpte.modules.inventory.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.collections4.CollectionUtils; +import org.cpte.modules.base.entity.ItemKey; import org.cpte.modules.base.entity.Point; import org.cpte.modules.base.entity.Stock; +import org.cpte.modules.base.mapper.ItemKeyMapper; import org.cpte.modules.base.mapper.PointMapper; import org.cpte.modules.base.mapper.StockMapper; import org.cpte.modules.constant.enums.CommonStatusEnum; @@ -39,6 +42,9 @@ public class InventoryServiceImpl extends ServiceImpl selectInventoryWithItemKey(Page page, Inventory inventory) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -52,8 +58,20 @@ public class InventoryServiceImpl extends ServiceImpl status = Arrays.stream(inventory.getStatus_MultiString().split(",")) + .map(Integer::parseInt) + .toList(); + queryWrapper.in("inventory.status", status); + } + if (oConvertUtils.isNotEmpty(inventory.getWhCode())) { + LambdaQueryWrapper itemKeyQueryWrapper = new LambdaQueryWrapper<>(); + itemKeyQueryWrapper.eq(ItemKey::getWhCode, inventory.getWhCode()); + List itemKeys=itemKeyMapper.selectList(itemKeyQueryWrapper); + if(CollectionUtils.isNotEmpty(itemKeys)){ + List itemKeyIds = itemKeys.stream().map(ItemKey::getId).distinct().toList(); + queryWrapper.in("inventory.item_key_id", itemKeyIds); + } } return baseMapper.selectInventoryWithItemKey(page, inventory, queryWrapper);