ソースを参照

库存查询添加物品编码 物品名称搜索

yzc 2 年 前
コミット
7af7e2064c

+ 17 - 2
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

@@ -32,6 +32,7 @@ import com.fjhx.wms.utils.CodeEnum;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.common.utils.wrapper.SqlField;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -69,7 +70,14 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         IWrapper<Stock> wrapper = getWrapper();
         wrapper.orderByDesc("s", Stock::getId);
         wrapper.eq(Stock::getWarehouseId, dto.getId());
-        wrapper.like(Stock::getQuantity, dto.getKeyword());
+//        wrapper.like(Stock::getQuantity, dto.getKeyword());
+        String keyword = dto.getKeyword();
+        if(ObjectUtil.isNotEmpty(keyword)) {
+            //根据 库存数量 产品自定义编码 产品名称 过滤
+            List<Long> productIds = productInfoService.listObject(ProductInfo::getId,
+                    q -> q.like(ProductInfo::getCustomCode, keyword).or().like(ProductInfo::getName, keyword));
+            wrapper.and(q->q.like(Stock::getQuantity,keyword).or().in(Stock::getProductId,productIds));
+        }
         wrapper.in(Stock::getProductId, dto.getProductIds());
         wrapper.eq("pi.definition", dto.getDefinition());
 
@@ -180,7 +188,14 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         IWrapper<Stock> wrapper = getWrapper();
         wrapper.orderByDesc("s", Stock::getId);
         wrapper.eq(Stock::getWarehouseId, dto.getId());
-        wrapper.like(Stock::getQuantity, dto.getKeyword());
+//        wrapper.like(Stock::getQuantity, dto.getKeyword());
+        String keyword = dto.getKeyword();
+        if(ObjectUtil.isNotEmpty(keyword)) {
+            //根据 库存数量 产品自定义编码 产品名称 过滤
+            List<Long> productIds = productInfoService.listObject(ProductInfo::getId,
+                    q -> q.like(ProductInfo::getCustomCode, keyword).or().like(ProductInfo::getName, keyword));
+            wrapper.and(q->q.like(Stock::getQuantity,keyword).or().in(Stock::getProductId,productIds));
+        }
         wrapper.eq("pi.definition", dto.getDefinition());
         wrapper.groupBy("s.product_id");
         Page<StockVo> page = this.baseMapper.pageByProduct(dto.getPage(), wrapper);