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 |   51 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 46 insertions(+), 5 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 612bce4..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
@@ -5,7 +5,6 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
-import com.vincent.rsf.server.api.utils.LocUtils;
 import com.vincent.rsf.server.common.constant.Constants;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.common.annotation.OperationLog;
@@ -14,12 +13,16 @@
 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;
 import com.vincent.rsf.server.manager.service.LocItemService;
 import com.vincent.rsf.server.manager.service.LocService;
 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.*;
@@ -40,14 +43,33 @@
     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);
 
         /**鎷兼帴鎵╁睍瀛楁*/
-        PageParam<LocItem, BaseParam> page = locItemService.page(pageParam, pageParam.buildWrapper(true));
+        PageParam<LocItem, BaseParam> page = locItemService.page(pageParam, wrapper);
         List<LocItem> records = page.getRecords();
         for (LocItem record : records) {
             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);
@@ -77,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);
 
@@ -97,7 +126,13 @@
         }
         param.setType(Constants.TASK_TYPE_OUT_STOCK);
 
-        return locItemService.generateTask(param, getLoginUserId());
+        try {
+            locItemService.generateTask(TaskResouceType.TASK_RESOUCE_STOCK_TYPE.val, param, getLoginUserId());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+        return R.ok();
     }
 
     /**
@@ -129,7 +164,13 @@
         }
         map.setType(Constants.TASK_TYPE_OUT_CHECK);
 
-        return R.ok("浠诲姟鐢熸垚鎴愬姛").add(locItemService.generateTask(map, getLoginUserId()));
+        try {
+            locItemService.generateTask(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val, map, getLoginUserId());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+        return R.ok("浠诲姟鐢熸垚鎴愬姛");
     }
 
 
@@ -148,7 +189,7 @@
     @PreAuthorize("hasAuthority('manager:locItem:list')")
     @GetMapping("/locItem/{id}")
     public R get(@PathVariable("id") Long id) {
-        return R.ok().add(locService.getById(id));
+        return R.ok().add(locItemService.getById(id));
     }
 
     @PreAuthorize("hasAuthority('manager:locItem:save')")

--
Gitblit v1.9.1