From 8d5c50656d81dc3eb04a841ecd259adebf99424a Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 11 二月 2026 15:49:26 +0800
Subject: [PATCH] 搜索库存明细调整不查询删除物料

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
index fc8bddd..ccbde80 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
@@ -13,6 +13,7 @@
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.common.utils.FieldsUtils;
 import com.vincent.rsf.server.manager.controller.params.LocToTaskParams;
+import com.vincent.rsf.server.manager.entity.Loc;
 import com.vincent.rsf.server.manager.entity.LocItem;
 import com.vincent.rsf.server.manager.entity.ViewStockManage;
 import com.vincent.rsf.server.manager.enums.TaskResouceType;
@@ -21,6 +22,7 @@
 import com.vincent.rsf.server.system.controller.BaseController;
 import com.vincent.rsf.server.manager.enums.LocStsType;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -41,8 +43,16 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<LocItem, BaseParam> pageParam = new PageParam<>(baseParam, LocItem.class);
-
+        // 搴撲綅鐘舵�佺瓫閫夛細鍏宠仈 man_loc锛屼笉鑳戒綔涓� man_loc_item 瀛楁鍙備笌 buildWrapper
+        Object useStatus = map.get("useStatus");
+        if (pageParam.getWhere() != null && pageParam.getWhere().getMap() != null) {
+            pageParam.getWhere().getMap().remove("useStatus");
+        }
         QueryWrapper<LocItem> wrapper = pageParam.buildWrapper(true);
+        if (useStatus != null && StringUtils.isNotBlank(useStatus.toString())) {
+            String status = useStatus.toString().replace("'", "''");
+            wrapper.apply("EXISTS (SELECT 1 FROM man_loc ml WHERE ml.id = man_loc_item.loc_id AND ml.use_status = '" + status + "')");
+        }
         FieldsUtils.setFieldsFilters(wrapper, pageParam, LocItem.class);
 
         /**鎷兼帴鎵╁睍瀛楁*/
@@ -52,6 +62,14 @@
             if (!Objects.isNull(record.getFieldsIndex())) {
                 Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
                 record.setExtendFields(fields);
+            }
+            // 濉厖搴撲綅鐘舵�侊紝渚夸簬鍒楄〃灞曠ず
+            if (record.getLocId() != null) {
+                Loc loc = locService.getById(record.getLocId());
+                if (loc != null) {
+                    record.setLocUseStatus(loc.getUseStatus());
+                    record.setLocUseStatus$(loc.getUseStatus$());
+                }
             }
         }
         page.setRecords(records);
@@ -81,6 +99,13 @@
                 Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
                 record.setExtendFields(fields);
             }
+            if (record.getLocId() != null) {
+                Loc loc = locService.getById(record.getLocId());
+                if (loc != null) {
+                    record.setLocUseStatus(loc.getUseStatus());
+                    record.setLocUseStatus$(loc.getUseStatus$());
+                }
+            }
         }
         page.setRecords(records);
 

--
Gitblit v1.9.1