From 9d5128803ebebb5788f13924a5775ac16494dfef Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期一, 18 八月 2025 10:05:05 +0800
Subject: [PATCH] 仓库,树,文档,借出修改

---
 src/main/resources/mapper/warehouse/DocumentationFileMapper.xml                              |   14 
 src/main/java/com/ruoyi/warehouse/pojo/DocumentClassification.java                           |    4 
 src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java            |    9 
 src/main/java/com/ruoyi/warehouse/dto/DocumentationBorrowManagementDto.java                  |   20 
 src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java                    |    5 
 src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java                 |   24 
 src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java            |    8 
 src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java                                |    8 
 src/main/java/com/ruoyi/warehouse/dto/DocumentationDto.java                                  |   20 
 src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java         |   14 
 src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java                    |   16 
 src/main/java/com/ruoyi/warehouse/service/DocumentationService.java                          |    7 
 src/main/java/com/ruoyi/warehouse/dto/WarehouseTreeDto.java                                  |   12 
 src/main/java/com/ruoyi/warehouse/service/DocumentClassificationService.java                 |    4 
 src/main/java/com/ruoyi/warehouse/mapper/DocumentationFileMapper.java                        |   15 
 src/main/java/com/ruoyi/warehouse/pojo/Documentation.java                                    |    6 
 src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java      |   41 -
 src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationDto.java                         |   12 
 src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java   |   14 
 src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationTreeDto.java                     |   13 
 src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java            |   11 
 src/main/java/com/ruoyi/warehouse/service/impl/DocumentClassificationServiceImpl.java        |   71 +++
 src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java                    |   25 
 src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java                        |   13 
 src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java                  |    5 
 src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java                            |    6 
 src/main/resources/mapper/warehouse/WarehouseMapper.xml                                      |   83 +++
 src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java                     |  135 +++++
 src/main/java/com/ruoyi/warehouse/dto/ReturnExportDto.java                                   |   28 +
 src/main/java/com/ruoyi/warehouse/dto/WarehouseDto.java                                      |   16 
 src/main/java/com/ruoyi/warehouse/service/WarehouseService.java                              |    9 
 src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesDto.java                          |   13 
 src/main/java/com/ruoyi/warehouse/controller/DocumentClassificationController.java           |   13 
 src/main/java/com/ruoyi/warehouse/controller/DocumentationFileController.java                |   64 ++
 src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java              |    9 
 src/main/resources/mapper/warehouse/DocumentationMapper.xml                                  |   83 +--
 src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesRowcolDto.java                    |   15 
 src/main/java/com/ruoyi/warehouse/service/DocumentationFileService.java                      |   13 
 src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java |  125 +++--
 src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml                    |   24 
 src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml                          |   31 +
 src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java          |    7 
 src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java    |   52 +
 src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml                  |   87 ++-
 src/main/java/com/ruoyi/warehouse/service/impl/DocumentationFileServiceImpl.java             |   24 +
 src/main/java/com/ruoyi/warehouse/pojo/DocumentationFile.java                                |   60 ++
 46 files changed, 987 insertions(+), 301 deletions(-)

diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentClassificationController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentClassificationController.java
index 9c59b56..da262fa 100644
--- a/src/main/java/com/ruoyi/warehouse/controller/DocumentClassificationController.java
+++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentClassificationController.java
@@ -1,9 +1,13 @@
 package com.ruoyi.warehouse.controller;
 
+import com.ruoyi.basic.dto.ProductDto;
+import com.ruoyi.basic.dto.ProductTreeDto;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.warehouse.dto.DocumentClassificationDto;
+import com.ruoyi.warehouse.dto.DocumentClassificationTreeDto;
 import com.ruoyi.warehouse.pojo.DocumentClassification;
 import com.ruoyi.warehouse.service.DocumentClassificationService;
 import io.swagger.annotations.Api;
@@ -20,11 +24,10 @@
 public class DocumentClassificationController extends BaseController {
     @Autowired
     private DocumentClassificationService documentClassificationService;
+    //鏍戠粨鏋�
     @GetMapping("/getList")
-    @ApiOperation("鏂囨。鍒嗙被-鏌ヨ")
-    @Log(title = "鏂囨。鍒嗙被-鏌ヨ", businessType = BusinessType.OTHER)
-    public AjaxResult getList() {
-        return AjaxResult.success(documentClassificationService.list());
+    public List<DocumentClassificationTreeDto> getList(DocumentClassificationDto documentClassificationDto) {
+        return documentClassificationService.selectDocumentClassificationList(documentClassificationDto);
     }
     @PostMapping("/add")
     @ApiOperation("鏂囨。鍒嗙被-娣诲姞")
@@ -32,7 +35,7 @@
     public AjaxResult add(@RequestBody DocumentClassification documentClassification) {
         return AjaxResult.success(documentClassificationService.save(documentClassification));
     }
-    @PostMapping("/update")
+    @PutMapping("/update")
     @ApiOperation("鏂囨。鍒嗙被-鏇存柊")
     @Log(title = "鏂囨。鍒嗙被-鏇存柊", businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody DocumentClassification documentClassification) {
diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java
index 24d20dd..0575729 100644
--- a/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java
+++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java
@@ -21,6 +21,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
 import java.util.List;
 
 @RestController
@@ -32,39 +33,56 @@
     @Autowired
     private DocumentationBorrowManagementMapper documentationBorrowManagementMapper;
     @GetMapping("/listPage")
-    @ApiOperation("鏂囨。鍊熼槄绠$悊-鍒嗛〉鏌ヨ")
-    @Log(title = "鏂囨。鍊熼槄绠$悊-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄鍒嗛〉鏌ヨ")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
     public AjaxResult listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement) {
-        IPage<DocumentationBorrowManagement> listPage = documentationBorrowManagementService.listPage(page, documentationBorrowManagement);
-        return AjaxResult.success(listPage);
+        return AjaxResult.success(documentationBorrowManagementService.listPage(page, documentationBorrowManagement));
     }
     @PostMapping("/add")
-    @ApiOperation("鏂囨。鍊熼槄绠$悊-娣诲姞")
-    @Log(title = "鏂囨。鍊熼槄绠$悊-娣诲姞", businessType = BusinessType.INSERT)
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄", businessType = BusinessType.INSERT)
     public AjaxResult add(@RequestBody DocumentationBorrowManagement documentationBorrowManagement) {
         return AjaxResult.success(documentationBorrowManagementService.add(documentationBorrowManagement));
     }
-    @PostMapping("/update")
+    @PutMapping("/revent")
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕", businessType = BusinessType.UPDATE)
+    public AjaxResult reventdbm(@RequestBody DocumentationBorrowManagement documentationBorrowManagement) {
+        return AjaxResult.success(documentationBorrowManagementService.reventdbm(documentationBorrowManagement));
+    }
+    @PutMapping("/update")
     @ApiOperation("鏂囨。鍊熼槄绠$悊-鏇存柊")
     @Log(title = "鏂囨。鍊熼槄绠$悊-鏇存柊", businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody DocumentationBorrowManagement documentationBorrowManagement) {
-//        documentationBorrowManagementService.updateById(documentationBorrowManagement);
         return AjaxResult.success(documentationBorrowManagementService.updateById(documentationBorrowManagement));
     }
-    @PostMapping("/delete")
-    @ApiOperation("鏂囨。鍊熼槄绠$悊-鍒犻櫎")
-    @Log(title = "鏂囨。鍊熼槄绠$悊-鍒犻櫎", businessType = BusinessType.DELETE)
+    @DeleteMapping ("/delete")
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄鍒犻櫎")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄鍒犻櫎", businessType = BusinessType.DELETE)
     public AjaxResult delete(@RequestBody List<Long> ids) {
         if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
         return AjaxResult.success(documentationBorrowManagementService.deleteByIds(ids));
     }
+    @DeleteMapping ("/reventDelete")
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕鍒犻櫎")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕鍒犻櫎", businessType = BusinessType.DELETE)
+    public AjaxResult reventdelete(@RequestBody List<Long> ids) {
+        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        return AjaxResult.success(documentationBorrowManagementService.reventDeleteByIds(ids));
+    }
     @PostMapping("/export")
-    @ApiOperation("鏂囨。鍊熼槄绠$悊-瀵煎嚭")
-    @Log(title = "鏂囨。鍊熼槄绠$悊-瀵煎嚭", businessType = BusinessType.EXPORT)
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄瀵煎嚭")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄瀵煎嚭", businessType = BusinessType.EXPORT)
     public void export(HttpServletResponse response,DocumentationBorrowManagement documentationBorrowManagement) {
-        String borrowStatus = documentationBorrowManagement.getBorrowStatus();
-        List<DocumentationBorrowManagement> documentationBorrowManagements = documentationBorrowManagementMapper.selectList(new LambdaQueryWrapper<DocumentationBorrowManagement>().eq(DocumentationBorrowManagement::getBorrowStatus, borrowStatus));
-        ExcelUtil<DocumentationBorrowManagement> util = new ExcelUtil<>(DocumentationBorrowManagement.class);
-        util.exportExcel(response, documentationBorrowManagements, "鏂囨。鍊熼槄-褰掕繕璁板綍");
+        documentationBorrowManagementService.export(response,documentationBorrowManagement);
+    }
+    @PostMapping("/exportrevent")
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕瀵煎嚭")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕瀵煎嚭", businessType = BusinessType.EXPORT)
+    public void exportrevent(HttpServletResponse response,DocumentationBorrowManagement documentationBorrowManagement) {
+        documentationBorrowManagementService.exportrevent(response,documentationBorrowManagement);
+//        List<DocumentationBorrowManagement> documentationBorrowManagements = documentationBorrowManagementMapper.selectList(new LambdaQueryWrapper<DocumentationBorrowManagement>().eq(DocumentationBorrowManagement::getBorrowStatus, "褰掕繕"));
+//        ExcelUtil<DocumentationBorrowManagement> util = new ExcelUtil<>(DocumentationBorrowManagement.class);
+//        util.exportExcel(response, documentationBorrowManagements, "鏂囨。鍊熼槄-褰掕繕璁板綍");
     }
 }
diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
index 86115af..f86b15e 100644
--- a/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
+++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
@@ -8,6 +8,7 @@
 import com.ruoyi.framework.web.controller.BaseController;
 
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.warehouse.dto.DocumentationDto;
 import com.ruoyi.warehouse.pojo.Documentation;
 import com.ruoyi.warehouse.pojo.Warehouse;
 import com.ruoyi.warehouse.service.DocumentationService;
@@ -29,14 +30,7 @@
     @ApiOperation("鏂囨。淇℃伅琛�-鍒嗛〉鏌ヨ")
     @Log(title = "鏂囨。淇℃伅琛�-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
     public AjaxResult listPage(Page page, Documentation documentation) {
-        IPage<Documentation> listPage = documentationService.listPage(page, documentation);
-        return AjaxResult.success(listPage);
-    }
-    @GetMapping("/list")
-    @ApiOperation("鏂囨。淇℃伅琛�")
-    @Log(title = "鏂囨。淇℃伅琛�", businessType = BusinessType.OTHER)
-    public AjaxResult list() {
-        List<Documentation> list = documentationService.list();
+        List<DocumentationDto> list = documentationService.listPage(page, documentation);
         return AjaxResult.success(list);
     }
     @PostMapping("/add")
@@ -45,24 +39,29 @@
     public AjaxResult add(@RequestBody Documentation documentation) {
         return AjaxResult.success(documentationService.save(documentation));
     }
-    @PostMapping("/update")
+    @PutMapping("/update")
     @ApiOperation("鏂囨。淇℃伅琛�-鏇存柊")
     @Log(title = "鏂囨。淇℃伅琛�-鏇存柊", businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody Documentation documentation) {
         return AjaxResult.success(documentationService.updateById(documentation));
     }
-    @PostMapping("/delete")
+    @DeleteMapping("/delete")
     @ApiOperation("鏂囨。淇℃伅琛�-鍒犻櫎")
     @Log(title = "鏂囨。淇℃伅琛�-鍒犻櫎", businessType = BusinessType.DELETE)
     public AjaxResult delete(@RequestBody List<Long> ids) {
         if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
-        return AjaxResult.success(documentationService.removeBatchByIds(ids));
+        return AjaxResult.success(documentationService.deleteByIds(ids));
     }
 
     @PostMapping("/export")
     @ApiOperation("鏂囨。淇℃伅琛�-瀵煎嚭")
     @Log(title = "鏂囨。淇℃伅琛�-瀵煎嚭", businessType = BusinessType.EXPORT)
-    public void export(HttpServletResponse response) {
-        documentationService.export(response);
+    public void export(HttpServletResponse response,Documentation documentation ) {
+        documentationService.export(response,documentation);
     }
+    //闄勪欢璇︽儏
+//    @GetMapping("/getDocumentation")
+//    public Documentation getDocumentation(Documentation documentation) {
+//        return documentationService.getById(id);
+//    }
 }
diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationFileController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationFileController.java
new file mode 100644
index 0000000..71df814
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationFileController.java
@@ -0,0 +1,64 @@
+package com.ruoyi.warehouse.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.account.pojo.AccountFile;
+import com.ruoyi.account.service.AccountFileService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.warehouse.pojo.DocumentationFile;
+import com.ruoyi.warehouse.service.DocumentationFileService;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 鏂囨。闄勪欢
+ */
+@RestController
+@RequestMapping("/documentation/documentationFile")
+public class DocumentationFileController {
+
+
+    @Resource
+    private DocumentationFileService documentationFileService;
+
+    /**
+     * 鏂板
+     * @param documentationFile
+     * @return
+     */
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody DocumentationFile documentationFile) {
+        return AjaxResult.success(documentationFileService.save(documentationFile));
+    }
+
+    /**
+     * 鍒犻櫎
+     * @param ids
+     * @return
+     */
+    @DeleteMapping("/del")
+    public AjaxResult delDocumentationFile(@RequestBody List<Integer> ids) {
+        if(CollectionUtils.isEmpty(ids)){
+            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+        //鍒犻櫎妫�楠岄檮浠�
+        return AjaxResult.success(documentationFileService.removeBatchByIds(ids));
+    }
+
+    /**
+     *鍒嗛〉鏌ヨ
+     * @param page
+     * @param documentationFile
+     * @return
+     */
+    @GetMapping("/listPage")
+    public AjaxResult documentationFileListPage(Page page, DocumentationFile documentationFile) {
+        return AjaxResult.success(documentationFileService.documentationFileListPage(page, documentationFile));
+    }
+
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java b/src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java
index 0ab68c6..0876334 100644
--- a/src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java
+++ b/src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java
@@ -27,12 +27,17 @@
 public class WarehouseController extends BaseController {
     @Autowired
     private WarehouseService warehouseService;
-
+    @GetMapping("/tree")
+    @ApiOperation("浠撳簱-鏌ヨ鏍�")
+    @Log(title = "浠撳簱-鏌ヨ鏍�", businessType = BusinessType.OTHER)
+    public AjaxResult listTree() {
+        return AjaxResult.success(warehouseService.findListTree());
+    }
     @GetMapping("/list")
     @ApiOperation("浠撳簱-鏌ヨ")
     @Log(title = "浠撳簱-鏌ヨ", businessType = BusinessType.OTHER)
-    public AjaxResult list(@RequestBody Warehouse warehouse) {
-        return AjaxResult.success(warehouseService.listPage( warehouse));
+    public AjaxResult list(Warehouse warehouse) {
+        return AjaxResult.success(warehouseService.findList(warehouse));
     }
     @PostMapping("/add")
     @ApiOperation("浠撳簱-娣诲姞")
@@ -41,7 +46,7 @@
         return AjaxResult.success(warehouseService.save(warehouse));
     }
 
-    @PostMapping("/update")
+    @PutMapping("/update")
     @ApiOperation("浠撳簱-鏇存柊")
     @Log(title = "浠撳簱-鏇存柊", businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody Warehouse warehouse) {
diff --git a/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java b/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java
index 41dcdf8..ae008b5 100644
--- a/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java
+++ b/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java
@@ -8,6 +8,7 @@
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto;
 import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves;
 import com.ruoyi.warehouse.service.WarehouseGoodsShelvesService;
 import io.swagger.annotations.Api;
@@ -27,9 +28,8 @@
     @GetMapping("/listById")
     @ApiOperation("鍟嗗搧璐ф灦-鏌ヨ")
     @Log(title = "鍟嗗搧璐ф灦-鏌ヨ", businessType = BusinessType.OTHER)
-    public AjaxResult listById(Long warehouseId) {
-        List<WarehouseGoodsShelves> list = warehouseGoodsShelvesService.list(new QueryWrapper<WarehouseGoodsShelves>().lambda()
-                .eq(WarehouseGoodsShelves::getWarehouseId, warehouseId));
+    public AjaxResult listById(@RequestBody WarehouseGoodsShelves warehouseGoodsShelves) {
+        List<WarehouseGoodsShelves> list = warehouseGoodsShelvesService.findList(warehouseGoodsShelves);
         return AjaxResult.success(list);
     }
     @PostMapping("/add")
@@ -38,7 +38,7 @@
     public AjaxResult add(@RequestBody WarehouseGoodsShelves warehouseGoodsShelves) {
         return AjaxResult.success(warehouseGoodsShelvesService.add(warehouseGoodsShelves));
     }
-    @PostMapping("/update")
+    @PutMapping("/update")
     @ApiOperation("鍟嗗搧璐ф灦-鏇存柊")
     @Log(title = "鍟嗗搧璐ф灦-鏇存柊", businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody WarehouseGoodsShelves warehouseGoodsShelves) {
diff --git a/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java b/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java
index c1914d8..d8e8601 100644
--- a/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java
+++ b/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java
@@ -1,15 +1,11 @@
 package com.ruoyi.warehouse.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper;
 import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto;
 import com.ruoyi.warehouse.service.WarehouseGoodsShelvesRowcolService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -24,42 +20,13 @@
 public class WarehouseGoodsShelvesRowcolController extends BaseController {
     @Autowired
     private WarehouseGoodsShelvesRowcolService warehouseGoodsShelvesRowcolService;
-    @Autowired
-    private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper;
     @GetMapping("/list")
     @ApiOperation("鍟嗗搧璐ф灦琛屽垪-鏌ヨ")
     @Log(title = "鍟嗗搧璐ф灦琛屽垪-鏌ヨ", businessType = BusinessType.OTHER)
-    public AjaxResult list(Long warehouseGoodsShelvesId) {
-        List<WarehouseGoodsShelvesRowcol> list = warehouseGoodsShelvesRowcolService.list(new QueryWrapper<WarehouseGoodsShelvesRowcol>().lambda()
-                .eq(WarehouseGoodsShelvesRowcol::getWarehouseGoodsShelvesId, warehouseGoodsShelvesId));
+    public AjaxResult list(@RequestBody WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) {
+
+        List<WarehouseGoodsShelvesRowcolDto> list = warehouseGoodsShelvesRowcolService.getList(warehouseGoodsShelvesRowcol);
         return AjaxResult.success(list);
     }
-//    @GetMapping("/listPage")
-//    @ApiOperation("鍟嗗搧璐ф灦琛屽垪-鍒嗛〉鏌ヨ")
-//    @Log(title = "鍟嗗搧璐ф灦琛屽垪-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
-//    public AjaxResult listPage(Page page, WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) {
-//        IPage<WarehouseGoodsShelvesRowcol> listPage = warehouseGoodsShelvesRowcolService.listPage(page, warehouseGoodsShelvesRowcol);
-//        return AjaxResult.success(listPage);
-//    }
-//    @PostMapping("/add")
-//    @ApiOperation("鍟嗗搧璐ф灦琛屽垪-娣诲姞")
-//    @Log(title = "鍟嗗搧璐ф灦琛屽垪-娣诲姞", businessType = BusinessType.INSERT)
-//    public AjaxResult add(@RequestBody WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) {
-//        return AjaxResult.success(warehouseGoodsShelvesRowcolService.save(warehouseGoodsShelvesRowcol));
-//    }
-//    @PostMapping("/update")
-//    @ApiOperation("鍟嗗搧璐ф灦琛屽垪-鏇存柊")
-//    @Log(title = "鍟嗗搧璐ф灦琛屽垪-鏇存柊", businessType = BusinessType.UPDATE)
-//    public AjaxResult update(@RequestBody WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) {
-//        return AjaxResult.success(warehouseGoodsShelvesRowcolService.updateById(warehouseGoodsShelvesRowcol));
-//    }
-//    @PostMapping("/delete")
-//    @ApiOperation("鍟嗗搧璐ф灦琛屽垪-鍒犻櫎")
-//    @Log(title = "鍟嗗搧璐ф灦琛屽垪-鍒犻櫎", businessType = BusinessType.DELETE)
-//    public AjaxResult delete(@RequestBody List<Long> ids) {
-//        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
-//        return AjaxResult.success(warehouseGoodsShelvesRowcolService.removeByIds(ids));
-//    }
-
 
 }
diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationDto.java
new file mode 100644
index 0000000..ed20c8d
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationDto.java
@@ -0,0 +1,12 @@
+package com.ruoyi.warehouse.dto;
+
+import com.ruoyi.warehouse.pojo.DocumentClassification;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DocumentClassificationDto extends DocumentClassification {
+
+    private List<DocumentClassification> documentClassificationList;
+}
diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationTreeDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationTreeDto.java
new file mode 100644
index 0000000..e2817db
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationTreeDto.java
@@ -0,0 +1,13 @@
+package com.ruoyi.warehouse.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DocumentClassificationTreeDto {
+    private Long id;
+    private Long parentId;
+    private String category;
+    private List<DocumentClassificationTreeDto> children;
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentationBorrowManagementDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentationBorrowManagementDto.java
new file mode 100644
index 0000000..acbcdc1
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentationBorrowManagementDto.java
@@ -0,0 +1,20 @@
+package com.ruoyi.warehouse.dto;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class DocumentationBorrowManagementDto extends DocumentationBorrowManagement {
+    /**
+     * 鏂囨。鍚嶇О
+     */
+    @Excel(name = "鏂囨。鍚嶇О")
+    private String docName;
+    /**
+     * 鍊熼槄浜�
+     */
+    @Excel(name = "鍊熼槄浜�")
+    private String nickName;
+}
diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentationDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentationDto.java
new file mode 100644
index 0000000..ad10fc2
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentationDto.java
@@ -0,0 +1,20 @@
+package com.ruoyi.warehouse.dto;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.warehouse.pojo.Documentation;
+import lombok.Data;
+
+@Data
+public class DocumentationDto extends Documentation {
+    /**
+     * 绫诲埆鍚嶇О
+     */
+    @Excel(name = "绫诲埆鍚嶇О")
+    private String category;
+    /**
+     * 浣嶇疆淇℃伅
+     */
+    @Excel(name = "浣嶇疆淇℃伅")
+    private String locationInfo;
+
+}
diff --git a/src/main/java/com/ruoyi/warehouse/dto/ReturnExportDto.java b/src/main/java/com/ruoyi/warehouse/dto/ReturnExportDto.java
new file mode 100644
index 0000000..cccc3e7
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/ReturnExportDto.java
@@ -0,0 +1,28 @@
+package com.ruoyi.warehouse.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import java.time.LocalDateTime;
+
+public class ReturnExportDto {
+
+    private String id; // 璁板綍缂栧彿
+    @Excel(name = "鏂囨。鍚嶇О")
+    private String docName; // 鏂囨。鍚嶇О
+    @Excel(name = "鍘熷�熼槄浜�")
+    private String nickName; // 鍊熼槄浜�
+    @Excel(name = "褰掕繕鏃堕棿", dateFormat = "yyyy-MM-dd", width = 30)
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime borrowTime; // 鍊熼槄鏃堕棿锛堝彲鑳介渶瑕佷繚鐣欙級
+    @Excel(name = "褰掕繕浜�")
+    @NotBlank(message = "褰掕繕浜轰笉鑳戒负绌�!!")
+    private String returnNickName; // 褰掕繕浜�
+    @Excel(name = "褰掕繕鏃堕棿", dateFormat = "yyyy-MM-dd", width = 30)
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime updateTime; // 褰掕繕鏃堕棿
+}
diff --git a/src/main/java/com/ruoyi/warehouse/dto/WarehouseDto.java b/src/main/java/com/ruoyi/warehouse/dto/WarehouseDto.java
new file mode 100644
index 0000000..2de94da
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/WarehouseDto.java
@@ -0,0 +1,16 @@
+package com.ruoyi.warehouse.dto;
+
+import com.ruoyi.warehouse.pojo.*;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class WarehouseDto extends Warehouse {
+
+    private String goodsShelvesName;
+    private String category;
+//    private List<DocumentationDto> documentationList;
+//    private List<WarehouseGoodsShelvesRowcolDto> warehouseGoodsShelvesRowcolList;
+    private List<WarehouseGoodsShelvesDto> warehouseGoodsShelvesList;
+}
diff --git a/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesDto.java b/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesDto.java
new file mode 100644
index 0000000..2deee59
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesDto.java
@@ -0,0 +1,13 @@
+package com.ruoyi.warehouse.dto;
+
+import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves;
+
+import java.util.List;
+
+public class WarehouseGoodsShelvesDto extends WarehouseGoodsShelves {
+    private String warehouseName;
+    private String goodsShelvesName;
+//    private List<DocumentationDto> documentationList;
+    private List<WarehouseGoodsShelvesRowcolDto> warehouseGoodsShelvesRowcolList;
+    private String category;
+}
diff --git a/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesRowcolDto.java b/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesRowcolDto.java
new file mode 100644
index 0000000..1008499
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesRowcolDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.warehouse.dto;
+
+import com.ruoyi.warehouse.dto.DocumentationDto;
+import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class WarehouseGoodsShelvesRowcolDto extends WarehouseGoodsShelvesRowcol {
+    private String warehouseName;
+    private String goodsShelvesName;
+    private List<DocumentationDto> documentationList;
+    private String category;
+}
diff --git a/src/main/java/com/ruoyi/warehouse/dto/WarehouseTreeDto.java b/src/main/java/com/ruoyi/warehouse/dto/WarehouseTreeDto.java
new file mode 100644
index 0000000..80be317
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/WarehouseTreeDto.java
@@ -0,0 +1,12 @@
+package com.ruoyi.warehouse.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class WarehouseTreeDto {
+    private Long id;
+    private String label;
+    private List<WarehouseTreeDto> children;
+}
diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java
index 0966664..cad07e2 100644
--- a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java
+++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java
@@ -2,10 +2,15 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto;
+import com.ruoyi.warehouse.dto.ReturnExportDto;
 import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
 * @author 86151
@@ -16,7 +21,11 @@
 @Mapper
 public interface DocumentationBorrowManagementMapper extends BaseMapper<DocumentationBorrowManagement> {
 
-    IPage<DocumentationBorrowManagement> listPage(Page page,@Param("documentationBorrowManagement") DocumentationBorrowManagement documentationBorrowManagement);
+    IPage<DocumentationBorrowManagement> listPage(Page page, @Param("documentationBorrowManagement") DocumentationBorrowManagement documentationBorrowManagement);
+
+    List<DocumentationBorrowManagementDto> export(@Param("documentationBorrowManagement") DocumentationBorrowManagement documentationBorrowManagement);
+
+    List<ReturnExportDto> exportrevent(DocumentationBorrowManagement documentationBorrowManagement);
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationFileMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationFileMapper.java
new file mode 100644
index 0000000..067d8ce
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationFileMapper.java
@@ -0,0 +1,15 @@
+package com.ruoyi.warehouse.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.account.pojo.AccountFile;
+import com.ruoyi.warehouse.pojo.DocumentationFile;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface DocumentationFileMapper extends BaseMapper<DocumentationFile> {
+
+    IPage<DocumentationFile> documentationFileListPage(Page page, @Param("documentationFile") DocumentationFile documentationFile);
+}
diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java
index c87d9f0..49624f6 100644
--- a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java
+++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.procurementrecord.dto.ProcurementRecordOutPageDto;
+import com.ruoyi.warehouse.dto.DocumentationDto;
 import com.ruoyi.warehouse.pojo.Documentation;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -19,9 +20,8 @@
 @Mapper
 public interface DocumentationMapper extends BaseMapper<Documentation> {
 
-    IPage<Documentation> listPage(Page page,@Param("documentation") Documentation documentation);
-
-    List<Documentation> list();
+    List<DocumentationDto> listPage(Page page, @Param("documentation") Documentation documentation);
+    List<DocumentationDto> listByDocumentClassificationId(@Param("documentClassificationId") Long documentClassificationId);
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java
index 9573cf1..6e68368 100644
--- a/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java
+++ b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto;
 import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -18,9 +19,9 @@
 */
 @Mapper
 public interface WarehouseGoodsShelvesMapper extends BaseMapper<WarehouseGoodsShelves> {
-    IPage<WarehouseGoodsShelves> listPage(Page page,@Param("warehouseGoodsShelves") WarehouseGoodsShelves warehouseGoodsShelves);
 
-    List<WarehouseGoodsShelves> list(@Param("warehouseGoodsShelves") WarehouseGoodsShelves warehouseGoodsShelves);
+    List<WarehouseGoodsShelvesDto> findList(@Param("warehouseGoodsShelves") WarehouseGoodsShelves warehouseGoodsShelves);
+    List<WarehouseGoodsShelves> listAll(@Param("warehouseGoodsShelves") WarehouseGoodsShelves warehouseGoodsShelves);
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java
index 2df6b17..69da1ee 100644
--- a/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java
+++ b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java
@@ -1,11 +1,13 @@
 package com.ruoyi.warehouse.mapper;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto;
 import org.apache.ibatis.annotations.Mapper;
 import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
 /**
 * @author 86151
 * @description 閽堝琛ㄣ�恮arehouse_goods_shelves_rowcol(浠撳簱璐ф灦灞傦紝鍒楄〃)銆戠殑鏁版嵁搴撴搷浣淢apper
@@ -15,8 +17,7 @@
 @Mapper
 public interface WarehouseGoodsShelvesRowcolMapper extends BaseMapper<WarehouseGoodsShelvesRowcol> {
 
-    IPage<WarehouseGoodsShelvesRowcol> listPage(Page page,@Param("warehouseGoodsShelvesRowcol") WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol);
-
+    List<WarehouseGoodsShelvesRowcolDto> findList(@Param("warehouseGoodsShelvesRowcol") WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol);
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java
index 9d11b84..392f8ca 100644
--- a/src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java
+++ b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java
@@ -1,7 +1,7 @@
 package com.ruoyi.warehouse.mapper;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import com.ruoyi.warehouse.dto.WarehouseDto;
 import com.ruoyi.warehouse.pojo.Warehouse;
 import org.apache.ibatis.annotations.Mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -17,8 +17,8 @@
 */
 @Mapper
 public interface WarehouseMapper extends BaseMapper<Warehouse> {
-
-    List<Warehouse> listPage(@Param("warehouse") Warehouse warehouse);
+    List<WarehouseDto> findList(@Param("warehouse") Warehouse warehouse);
+    List<Warehouse> listAll(@Param("warehouse") Warehouse warehouse);
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/pojo/DocumentClassification.java b/src/main/java/com/ruoyi/warehouse/pojo/DocumentClassification.java
index af19d4b..98855ce 100644
--- a/src/main/java/com/ruoyi/warehouse/pojo/DocumentClassification.java
+++ b/src/main/java/com/ruoyi/warehouse/pojo/DocumentClassification.java
@@ -43,7 +43,7 @@
      * 鍒涘缓鐢ㄦ埛
      */
     @TableField(fill = FieldFill.INSERT)
-    private Long createUser;
+    private Integer createUser;
 
     /**
      * 淇敼鏃堕棿
@@ -55,7 +55,7 @@
      * 淇敼鐢ㄦ埛
      */
     @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Long updateUser;
+    private Integer updateUser;
 
     /**
      * 绉熸埛id
diff --git a/src/main/java/com/ruoyi/warehouse/pojo/Documentation.java b/src/main/java/com/ruoyi/warehouse/pojo/Documentation.java
index c0e5f26..0c1a612 100644
--- a/src/main/java/com/ruoyi/warehouse/pojo/Documentation.java
+++ b/src/main/java/com/ruoyi/warehouse/pojo/Documentation.java
@@ -46,7 +46,7 @@
      */
     @Excel(name = "鏂囨。缂栧彿")
     @ApiModelProperty(value = "鏂囨。缂栧彿")
-    private Long docNumber;
+    private String docNumber;
 
     /**
      * 骞翠唤
@@ -151,7 +151,7 @@
      * 鍒涘缓鐢ㄦ埛
      */
     @TableField(fill = FieldFill.INSERT)
-    private Long createUser;
+    private Integer createUser;
 
     /**
      * 淇敼鏃堕棿
@@ -163,7 +163,7 @@
      * 淇敼鐢ㄦ埛
      */
     @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Long updateUser;
+    private Integer updateUser;
 
     /**
      * 绉熸埛ID
diff --git a/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java
index e7878b0..3166ff1 100644
--- a/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java
+++ b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java
@@ -7,10 +7,12 @@
 import java.util.Date;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.dto.DateQueryDto;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 鏂囨。鍊熼槄-褰掕繕琛�
@@ -19,7 +21,9 @@
 @TableName(value ="documentation_borrow_management")
 @Data
 @ApiModel(value = "鏂囨。鍊熼槄-褰掕繕琛�")
-public class DocumentationBorrowManagement implements Serializable {
+public class DocumentationBorrowManagement extends DateQueryDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
     /**
      * 涓婚敭
      */
@@ -29,13 +33,12 @@
     /**
      * 鏂囨。id
      */
-    @Excel(name = "鏂囨。id")
+    @ApiModelProperty(value = "鏂囨。id")
     private Long documentationId;
 
     /**
      * 鍊熼槄浜篿d
      */
-    @Excel(name = "鍊熼槄浜篿d")
     @ApiModelProperty(value = "鍊熼槄浜篿d")
     private Long borrowerId;
 
@@ -53,6 +56,7 @@
     @ApiModelProperty(value = "鍊熼槄鏃ユ湡")
     @Excel(name = "鍊熼槄鏃ユ湡", dateFormat = "yyyy-MM-dd", width = 30)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private LocalDateTime borrowDate;
 
     /**
@@ -95,7 +99,7 @@
      * 鍒涘缓鐢ㄦ埛
      */
     @TableField(fill = FieldFill.INSERT)
-    private Long createUser;
+    private Integer createUser;
 
     /**
      * 淇敼鏃堕棿
@@ -107,13 +111,11 @@
      * 淇敼鐢ㄦ埛
      */
     @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Long updateUser;
+    private Integer updateUser;
 
     /**
      * 绉熸埛id
      */
     @TableField(fill = FieldFill.INSERT)
     private Long tenantId;
-
-    private static final long serialVersionUID = 1L;
 }
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/warehouse/pojo/DocumentationFile.java b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationFile.java
new file mode 100644
index 0000000..6191ff7
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationFile.java
@@ -0,0 +1,60 @@
+package com.ruoyi.warehouse.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 鏂囨。淇℃伅琛�--闄勪欢
+ * documentation_file
+ */
+@TableName(value = "documentation_file")
+@Data
+public class DocumentationFile implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 搴忓彿
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty(value = "鏂囦欢鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "鏂囦欢璺緞")
+    private String url;
+
+    @ApiModelProperty(value = "鏂囦欢澶у皬")
+    private int fileSize;
+
+    @ApiModelProperty(value = "鏂囨。ID")
+    @NotBlank(message = "鏂囨。id涓嶈兘涓虹┖!")
+    private Long documentationId;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty(value = "绉熸埛ID")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+
+
+}
diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentClassificationService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentClassificationService.java
index dd38d3f..921e9e3 100644
--- a/src/main/java/com/ruoyi/warehouse/service/DocumentClassificationService.java
+++ b/src/main/java/com/ruoyi/warehouse/service/DocumentClassificationService.java
@@ -1,6 +1,8 @@
 package com.ruoyi.warehouse.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.warehouse.dto.DocumentClassificationDto;
+import com.ruoyi.warehouse.dto.DocumentClassificationTreeDto;
 import com.ruoyi.warehouse.pojo.DocumentClassification;
 
 import java.util.List;
@@ -13,4 +15,6 @@
 public interface DocumentClassificationService extends IService<DocumentClassification> {
 
     boolean deleteByIds(List<Long> ids);
+
+    List<DocumentClassificationTreeDto> selectDocumentClassificationList(DocumentClassificationDto documentClassificationDto);
 }
diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java
index a772234..91265e3 100644
--- a/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java
+++ b/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java
@@ -22,4 +22,11 @@
 
     boolean deleteByIds(List<Long> ids);
 
+    boolean reventdbm(DocumentationBorrowManagement documentationBorrowManagement);
+
+    boolean reventDeleteByIds(List<Long> ids);
+
+    void export(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement);
+
+    void exportrevent(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement);
 }
diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentationFileService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentationFileService.java
new file mode 100644
index 0000000..0453a17
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/service/DocumentationFileService.java
@@ -0,0 +1,13 @@
+package com.ruoyi.warehouse.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.account.pojo.AccountFile;
+import com.ruoyi.warehouse.pojo.DocumentationFile;
+
+public interface DocumentationFileService extends IService<DocumentationFile> {
+
+
+    IPage<DocumentationFile> documentationFileListPage(Page page, DocumentationFile documentationFile);
+}
diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java
index 4583482..f18de3d 100644
--- a/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java
+++ b/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java
@@ -2,10 +2,12 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.warehouse.dto.DocumentationDto;
 import com.ruoyi.warehouse.pojo.Documentation;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
 * @author 86151
@@ -14,8 +16,9 @@
 */
 public interface DocumentationService extends IService<Documentation> {
 
-    IPage<Documentation> listPage(Page page, Documentation documentation);
+    List<DocumentationDto> listPage(Page page, Documentation documentation);
 
-    void export(HttpServletResponse response);
+    void export(HttpServletResponse response,Documentation documentation);
 
+    boolean deleteByIds(List<Long> ids);
 }
diff --git a/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java b/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java
index 44405ee..ed3bccc 100644
--- a/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java
+++ b/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java
@@ -1,9 +1,8 @@
 package com.ruoyi.warehouse.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto;
 
 import java.util.List;
 
@@ -14,11 +13,11 @@
 */
 public interface WarehouseGoodsShelvesRowcolService extends IService<WarehouseGoodsShelvesRowcol> {
 
-    IPage<WarehouseGoodsShelvesRowcol> listPage(Page page, WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol);
-
     boolean deleteByIds(List<Long> ids);
 
 
-//    boolean add(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol);
+    List<WarehouseGoodsShelvesRowcolDto> getList(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol);
+
+
 
 }
diff --git a/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java b/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java
index 0b209a3..a1cd010 100644
--- a/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java
+++ b/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto;
 import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.apache.ibatis.annotations.Param;
@@ -15,7 +16,6 @@
 */
 public interface WarehouseGoodsShelvesService extends IService<WarehouseGoodsShelves> {
 
-    IPage<WarehouseGoodsShelves> listPage(Page page,WarehouseGoodsShelves warehouseGoodsShelves);
 
     boolean add(WarehouseGoodsShelves warehouseGoodsShelves);
 
@@ -23,6 +23,5 @@
 
     boolean deleteByIds(List<Long> ids);
 
-    List<WarehouseGoodsShelves> list(WarehouseGoodsShelves warehouseGoodsShelves);
-
+    List<WarehouseGoodsShelves> findList(WarehouseGoodsShelves warehouseGoodsShelves);
 }
diff --git a/src/main/java/com/ruoyi/warehouse/service/WarehouseService.java b/src/main/java/com/ruoyi/warehouse/service/WarehouseService.java
index 8d7274c..0b68de8 100644
--- a/src/main/java/com/ruoyi/warehouse/service/WarehouseService.java
+++ b/src/main/java/com/ruoyi/warehouse/service/WarehouseService.java
@@ -2,6 +2,9 @@
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.warehouse.dto.WarehouseDto;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto;
+import com.ruoyi.warehouse.dto.WarehouseTreeDto;
 import com.ruoyi.warehouse.pojo.Warehouse;
 
 import java.util.List;
@@ -13,7 +16,9 @@
 */
 public interface WarehouseService extends IService<Warehouse> {
 
-    List<Warehouse> listPage( Warehouse warehouse);
-
     boolean deleteByIds(List<Long> ids);
+
+    List<Warehouse> findList(Warehouse warehouse);
+
+    List<WarehouseTreeDto> findListTree();
 }
diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentClassificationServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentClassificationServiceImpl.java
index 63e4640..a36a143 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentClassificationServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentClassificationServiceImpl.java
@@ -3,6 +3,12 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.ProductTreeDto;
+import com.ruoyi.basic.pojo.Product;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.warehouse.dto.DocumentClassificationDto;
+import com.ruoyi.warehouse.dto.DocumentClassificationTreeDto;
+import com.ruoyi.warehouse.dto.DocumentationDto;
 import com.ruoyi.warehouse.mapper.DocumentationMapper;
 import com.ruoyi.warehouse.pojo.DocumentClassification;
 import com.ruoyi.warehouse.pojo.Documentation;
@@ -11,7 +17,9 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
 * @author 86151
@@ -23,16 +31,69 @@
     implements DocumentClassificationService{
     @Autowired
     private DocumentationMapper documentationMapper;
-
+    @Autowired
+    private DocumentClassificationMapper documentClassificationMapper;
     @Override
     public boolean deleteByIds(List<Long> ids) {
-        List<Documentation> documentations = documentationMapper.selectList(new LambdaQueryWrapper<Documentation>().in(Documentation::getDocumentClassificationId, ids));
-        if(!CollectionUtils.isEmpty(documentations)){
-            return false;
+        List<DocumentClassification> list = documentClassificationMapper.selectList(new LambdaQueryWrapper<DocumentClassification>().in(DocumentClassification::getId, ids));
+        for (DocumentClassification documentClassification : list) {
+          //濡傛灉姣忛」鐨勭埗id涓虹┖锛岃鏄庢槸鏍硅妭鐐癸紝闇�瑕佸垹闄ゆ枃妗d俊鎭〃涓殑鏁版嵁
+            List<DocumentationDto> documentationDtos = documentationMapper.listByDocumentClassificationId(documentClassification.getId());
+            if (CollectionUtils.isNotEmpty(documentationDtos)){
+                throw new RuntimeException("瀛樺湪鏂囨。淇℃伅锛屼笉鑳藉垹闄�");
+            }
+            documentClassificationMapper.deleteById(documentClassification.getId());
         }
-        baseMapper.deleteBatchIds(ids);
         return true;
     }
+
+    @Override
+    public List<DocumentClassificationTreeDto> selectDocumentClassificationList(DocumentClassificationDto documentClassificationDto) {
+        // 鏌ヨ鏍硅妭鐐癸紙parentId 涓� null锛�
+        LambdaQueryWrapper<DocumentClassification> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.isNull(DocumentClassification::getParentId);
+
+        if (documentClassificationDto.getCategory() != null && !documentClassificationDto.getCategory().isEmpty()) {
+            queryWrapper.like(DocumentClassification::getCategory, documentClassificationDto.getCategory());
+        }
+
+        // 鏌ヨ鏍硅妭鐐瑰垪琛�
+        List<DocumentClassification> rootList = baseMapper.selectList(queryWrapper);
+
+        // 杞崲涓烘爲鑺傜偣骞堕�掑綊鏋勫缓瀛愭爲
+        List<DocumentClassificationTreeDto> tree = new ArrayList<>();
+        for (DocumentClassification documentClassification : rootList) {
+            DocumentClassificationTreeDto node = convertToTreeDto(documentClassification);
+            node.setChildren(buildDocumentChildrenNodes(documentClassification.getId()));
+            tree.add(node);
+        }
+        return tree;
+    }
+    // 閫掑綊鏋勫缓瀛愯妭鐐�
+    private List<DocumentClassificationTreeDto> buildDocumentChildrenNodes(Long parentId) {
+        // 鏌ヨ褰撳墠鐖惰妭鐐圭殑瀛愯妭鐐�
+        LambdaQueryWrapper<DocumentClassification> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DocumentClassification::getParentId, parentId);
+        List<DocumentClassification> childList = baseMapper.selectList(queryWrapper);
+
+        // 杞崲瀛愯妭鐐瑰苟閫掑綊鏋勫缓瀹冧滑鐨勫瓙鏍�
+        List<DocumentClassificationTreeDto> children = new ArrayList<>();
+        for (DocumentClassification child : childList) {
+            DocumentClassificationTreeDto childNode = convertToTreeDto(child);
+            childNode.setChildren(buildDocumentChildrenNodes(child.getId()));
+            children.add(childNode);
+        }
+
+        return children;
+    }
+    // 灏� DocumentClassification 杞崲涓� DocumentClassificationTreeDto
+    private DocumentClassificationTreeDto convertToTreeDto(DocumentClassification documentClassification) {
+        DocumentClassificationTreeDto dto = new DocumentClassificationTreeDto();
+        BeanUtils.copyProperties(documentClassification, dto);
+        dto.setCategory(documentClassification.getCategory()); // 璁剧疆 label 涓轰骇鍝佸悕绉�
+        dto.setChildren(new ArrayList<>());
+        return dto;
+    }
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java
index 176060c..05a075e 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java
@@ -6,7 +6,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.procurementrecord.dto.ProcurementRecordOutPageDto;
+import com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto;
+import com.ruoyi.warehouse.dto.ReturnExportDto;
 import com.ruoyi.warehouse.pojo.Documentation;
 import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement;
 import com.ruoyi.warehouse.service.DocumentationBorrowManagementService;
@@ -17,6 +18,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -42,68 +44,75 @@
 
     @Override
     public boolean add(DocumentationBorrowManagement documentationBorrowManagement) {
-        Long documentationId = documentationBorrowManagement.getDocumentationId();
-        String borrowStatus = documentationBorrowManagement.getBorrowStatus();
-        Documentation documentation = documentationService.getById(documentationId);
-        if (documentation==null){
-            System.out.println("鏂囨。涓嶅瓨鍦�");
-            return false;
-        }
-        if ("鍊熷嚭".equals(documentation.getDocStatus())){
-            if ("褰掕繕".equals(borrowStatus)){
-                documentation.setDocStatus("姝e父");
-                documentationService.updateById(documentation);
-                documentationBorrowManagementMapper.insert(documentationBorrowManagement);
-                return true;
-            }else{
-                System.out.println("鏂囨。宸插�熷嚭锛屼笉鑳介噸澶嶅�熷嚭");
-                return false;
-            }
-        }else if("姝e父".equals(documentation.getDocStatus())){
-            if ("褰掕繕".equals(borrowStatus)){
-                System.out.println("鏂囨。宸插綊杩橈紝涓嶈兘閲嶅褰掕繕");
-                return false;
-            }else if("鍊熷嚭".equals(borrowStatus)){
-                documentation.setDocStatus("鍊熷嚭");
-                documentationService.updateById(documentation);
-                documentationBorrowManagementMapper.insert(documentationBorrowManagement);
-                return true;
-            }
-        }else{
-            System.out.println("鏂囨。鐘舵�佸紓甯�");
-            return false;
-        }
-        return false;
+        documentationBorrowManagementMapper.insert(documentationBorrowManagement);
+        Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
+        documentation.setDocStatus("鍊熷嚭");
+        documentationService.updateById(documentation);
+        return true;
     }
-//    @Override
-//    public boolean updateDBMById(DocumentationBorrowManagement documentationBorrowManagement) {
-//        Long id = documentationBorrowManagement.getId();
-////        Long documentationId = documentationBorrowManagement.getDocumentationId();
-//        //鏌ヨ鏂囨。鏄惁宸插綊杩�
-//        DocumentationBorrowManagement dbm = documentationBorrowManagementMapper.selectById(id);
-////        Long documentationId = dbm.getDocumentationId();
-//        if ("褰掕繕".equals(dbm.getBorrowStatus())){
-//            System.out.println("鏂囨。宸插綊杩橈紝涓嶈兘鏇存柊");
-//            return false;
-//        }
-//        //鏌ヨ鏂囨。
-//        Documentation documentation = documentationService.getById(dbm.getDocumentationId());
-//        String docStatus = documentation.getDocStatus();
-//        if ("姝e父".equals(docStatus)){
-//            System.out.println("鏂囨。宸插綊杩橈紝涓嶈兘鏇存柊");
-//            return false;
-//        }
-//        return false;
-//    }
+    @Override
+    public boolean reventdbm(DocumentationBorrowManagement documentationBorrowManagement) {
+        DocumentationBorrowManagement documentationBorrowManagement1 = new DocumentationBorrowManagement();
+        // 鏇存柊鍊熼槄璁板綍鐘舵�佷负褰掕繕
+        documentationBorrowManagement1.setBorrowStatus("褰掕繕");
+        documentationBorrowManagement1.setReturnDate(LocalDateTime.now());
+        documentationBorrowManagementMapper.updateById(documentationBorrowManagement1);
+        documentationBorrowManagementMapper.update(documentationBorrowManagement1,new LambdaQueryWrapper<DocumentationBorrowManagement>().eq(DocumentationBorrowManagement::getId,documentationBorrowManagement.getId()));
+
+        // 鏇存柊鏂囨。鐘舵�佷负姝e父
+        Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
+        documentation.setDocStatus("姝e父");
+        documentationService.updateById(documentation);
+        return true;
+    }
+
+    @Override
+    public boolean reventDeleteByIds(List<Long> ids) {
+        QueryWrapper<DocumentationBorrowManagement> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("id", ids);
+        queryWrapper.eq("borrow_status", "褰掕繕");
+        List<DocumentationBorrowManagement> list = documentationBorrowManagementMapper.selectList(queryWrapper);
+        for (DocumentationBorrowManagement documentationBorrowManagement : list) {
+            try {
+                documentationBorrowManagement.setBorrowStatus("鍊熼槄");
+                documentationBorrowManagement.setReturnDate(null);
+                documentationBorrowManagementMapper.updateById(documentationBorrowManagement);
+
+                Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
+                if (documentation != null) {
+                    documentation.setDocStatus("鍊熷嚭");
+                    documentationService.updateById(documentation);
+                }
+            } catch (Exception e) {
+                throw new RuntimeException("鏇存柊鍊熼槄璁板綍鍜屾枃妗g姸鎬佹椂鍑洪敊", e);
+            }
+        }
+        return true;
+    }
+
+    @Override
+    public void export(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement) {
+        List<DocumentationBorrowManagementDto> documentationBorrowManagements = documentationBorrowManagementMapper.export(documentationBorrowManagement);
+        ExcelUtil<DocumentationBorrowManagementDto> util = new ExcelUtil<>(DocumentationBorrowManagementDto.class);
+        util.exportExcel(response, documentationBorrowManagements, "鏂囨。鍊熼槄-鍊熼槄璁板綍");
+    }
+
+    @Override
+    public void exportrevent(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement) {
+        List<ReturnExportDto> documentationBorrowManagements = documentationBorrowManagementMapper.exportrevent(documentationBorrowManagement);
+        ExcelUtil<ReturnExportDto> util = new ExcelUtil<>(ReturnExportDto.class);
+        util.exportExcel(response, documentationBorrowManagements, "鏂囨。鍊熼槄-褰掕繕璁板綍");
+    }
 
     @Override
     public boolean deleteByIds(List<Long> ids) {
         List<DocumentationBorrowManagement> list = documentationBorrowManagementMapper.selectList(new LambdaQueryWrapper<DocumentationBorrowManagement>().in(DocumentationBorrowManagement::getId, ids));
         for (DocumentationBorrowManagement documentationBorrowManagement : list) {
-            String borrowStatus = documentationBorrowManagement.getBorrowStatus();
-            if ("鍊熼槄".equals(borrowStatus)){
-                System.out.println("鏂囨。宸插�熷嚭锛屼笉鑳藉垹闄�");
-                return false;
+            Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
+            documentation.setDocStatus("姝e父");
+            boolean b = documentationService.updateById(documentation);
+            if (!b){
+                throw new RuntimeException("鏇存柊鏂囨。鐘舵�佸け璐�");
             }
         }
         documentationBorrowManagementMapper.deleteBatchIds(ids);
@@ -111,6 +120,8 @@
     }
 
 
+
+
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationFileServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationFileServiceImpl.java
new file mode 100644
index 0000000..9811bfd
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationFileServiceImpl.java
@@ -0,0 +1,24 @@
+package com.ruoyi.warehouse.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.warehouse.mapper.DocumentationFileMapper;
+import com.ruoyi.warehouse.pojo.DocumentationFile;
+import com.ruoyi.warehouse.service.DocumentationFileService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@AllArgsConstructor
+@Service
+public class DocumentationFileServiceImpl extends ServiceImpl<DocumentationFileMapper, DocumentationFile> implements DocumentationFileService {
+
+    private DocumentationFileMapper documentationFileMapper;
+
+
+    @Override
+    public IPage<DocumentationFile> documentationFileListPage(Page page, DocumentationFile documentationFile) {
+        return documentationFileMapper.documentationFileListPage(page,documentationFile);
+    }
+}
diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java
index 195bfce..cf1efd4 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java
@@ -1,10 +1,13 @@
 package com.ruoyi.warehouse.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.warehouse.dto.DocumentationDto;
 import com.ruoyi.warehouse.pojo.Documentation;
+import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement;
 import com.ruoyi.warehouse.service.DocumentationService;
 import com.ruoyi.warehouse.mapper.DocumentationMapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,16 +27,29 @@
     @Autowired
     private DocumentationMapper documentationMapper;
     @Override
-    public IPage<Documentation> listPage(Page page, Documentation documentation) {
+    public List<DocumentationDto> listPage(Page page, Documentation documentation) {
         return documentationMapper.listPage(page, documentation);
     }
 
     @Override
-    public void export(HttpServletResponse response) {
-        List<Documentation> list =documentationMapper.list();
-        ExcelUtil<Documentation> util = new ExcelUtil<>(Documentation.class);
+    public void export(HttpServletResponse response,Documentation documentation) {
+        List<DocumentationDto> list = documentationMapper.listPage(null, documentation);
+        ExcelUtil<DocumentationDto> util = new ExcelUtil<>(DocumentationDto.class);
         util.exportExcel(response, list, "鏂囨。淇℃伅琛�");
     }
+
+    @Override
+    public boolean deleteByIds(List<Long> ids) {
+        List<Documentation> documentationList = documentationMapper.selectList(new LambdaQueryWrapper<Documentation>().in(Documentation::getId, ids));
+        for (Documentation documentation : documentationList) {
+            //濡傛灉鏂囨。鐘舵�佹槸宸插�熷嚭锛屼笉鑳藉垹闄�
+            if ("鍊熷嚭".equals(documentation.getDocStatus()) || "浣滃簾".equals(documentation.getDocStatus())) {
+                throw new RuntimeException("褰撳墠鏂囨。鐘舵�佷负 " + documentation.getDocStatus() + "锛屼笉鏀寔鍒犻櫎");
+            }
+            documentationMapper.deleteById(documentation.getId());
+        }
+        return true;
+    }
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java
index 8969218..aa624ea 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java
@@ -3,20 +3,18 @@
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.warehouse.mapper.DocumentationMapper;
 import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper;
 import com.ruoyi.warehouse.pojo.Documentation;
 import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto;
 import com.ruoyi.warehouse.service.WarehouseGoodsShelvesRowcolService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.stream.Collectors;
 
 
 /**
@@ -34,21 +32,23 @@
     private DocumentationMapper documentationMapper;
 
     @Override
-    public IPage<WarehouseGoodsShelvesRowcol> listPage(Page page, WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) {
-        IPage<WarehouseGoodsShelvesRowcol> list = warehouseGoodsShelvesRowcolMapper.listPage(page, warehouseGoodsShelvesRowcol);
+    public List<WarehouseGoodsShelvesRowcolDto> getList(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) {
+        List<WarehouseGoodsShelvesRowcolDto> list = warehouseGoodsShelvesRowcolMapper.findList(warehouseGoodsShelvesRowcol);
         return list;
     }
-
     @Override
     public boolean deleteByIds(List<Long> ids) {
         // 3. 妫�鏌ユ槸鍚︽湁鍟嗗搧
         Wrapper<Documentation> queryWrapper = new LambdaQueryWrapper<Documentation>()
                 .in(Documentation::getWarehouseGoodsShelvesRowcolId, ids);
         List<Documentation> documentations = documentationMapper.selectList(queryWrapper);
-        if (!documentations.isEmpty()) return false;
+        if (!documentations.isEmpty()) throw new RuntimeException("璐ф灦涓嬫湁鍟嗗搧锛屼笉鑳藉垹闄�");
         warehouseGoodsShelvesRowcolMapper.deleteBatchIds(ids);
         return true;
     }
+
+
+
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java
index 21d76d4..09d1c78 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java
@@ -9,6 +9,7 @@
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto;
 import com.ruoyi.warehouse.mapper.DocumentationMapper;
 import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesMapper;
 import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper;
@@ -49,10 +50,6 @@
     private DocumentationService documentationService;
     @Autowired
     private DocumentationMapper documentationMapper;
-    @Override
-    public IPage<WarehouseGoodsShelves> listPage(Page page, WarehouseGoodsShelves warehouseGoodsShelves) {
-        return warehouseGoodsShelvesMapper.listPage(page,warehouseGoodsShelves);
-    }
 
     @Override
     public boolean add(WarehouseGoodsShelves warehouseGoodsShelves) {
@@ -109,7 +106,7 @@
         Wrapper<Documentation> queryWrapper1 = new LambdaQueryWrapper<Documentation>()
                 .in(Documentation::getWarehouseGoodsShelvesRowcolId, rowcolIds);
         List<Documentation> documentations = documentationMapper.selectList(queryWrapper1);
-        if (!documentations.isEmpty()) return false;
+        if (!documentations.isEmpty()) throw new RuntimeException("璐ф灦涓嬫湁鍟嗗搧锛屼笉鑳藉垹闄�");
 
         // 鍏堟洿鏂拌揣鏋朵富淇℃伅
         updateById(warehouseGoodsShelves);
@@ -148,7 +145,7 @@
             Wrapper<Documentation> queryWrapper1 = new LambdaQueryWrapper<Documentation>()
                     .in(Documentation::getWarehouseGoodsShelvesRowcolId, rowcolIds);
             List<Documentation> documentations = documentationMapper.selectList(queryWrapper1);
-            if (!documentations.isEmpty()) return false; // 浠讳竴璐ф灦鏈夊晢鍝佸垯缁堟鍒犻櫎
+            if (!documentations.isEmpty()) throw new RuntimeException("璐ф灦涓嬫湁鍟嗗搧锛屼笉鑳藉垹闄�"); // 浠讳竴璐ф灦鏈夊晢鍝佸垯缁堟鍒犻櫎
         }
 
         // 3. 鍏堝垹闄よ揣鏋朵富璁板綍
@@ -166,9 +163,10 @@
         return true;
     }
 
+
     @Override
-    public List<WarehouseGoodsShelves> list(WarehouseGoodsShelves warehouseGoodsShelves) {
-        return warehouseGoodsShelvesMapper.list(warehouseGoodsShelves);
+    public List<WarehouseGoodsShelves> findList(WarehouseGoodsShelves warehouseGoodsShelves) {
+        return warehouseGoodsShelvesMapper.listAll(warehouseGoodsShelves);
     }
 
 }
diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java
index 7ab7312..8dc3ac4 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java
@@ -8,9 +8,15 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.warehouse.dto.WarehouseDto;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto;
+import com.ruoyi.warehouse.dto.WarehouseTreeDto;
+import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesMapper;
+import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper;
 import com.ruoyi.warehouse.mapper.WarehouseMapper;
 import com.ruoyi.warehouse.pojo.Warehouse;
 import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves;
+import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol;
 import com.ruoyi.warehouse.service.WarehouseGoodsShelvesService;
 import com.ruoyi.warehouse.service.WarehouseService;
 import lombok.extern.slf4j.Slf4j;
@@ -19,8 +25,11 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.sql.Array;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
+
+import static org.springframework.beans.BeanUtils.copyProperties;
 
 /**
 * @author 86151
@@ -35,25 +44,11 @@
     private WarehouseMapper warehouseMapper;
     @Autowired
     private WarehouseGoodsShelvesService warehouseGoodsShelvesService;
+    @Autowired
+    private WarehouseGoodsShelvesMapper warehouseGoodsShelvesMapper;
+    @Autowired
+    private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper;
 
-    @Override
-    public List<Warehouse> listPage(Warehouse warehouse) {
-        return warehouseMapper.listPage( warehouse);
-    }
-
-//    @Override
-//    public boolean deleteByIds(List<Long> ids) {
-//
-//        for (Long id : ids) {
-//            List<WarehouseGoodsShelves> list = warehouseGoodsShelvesService.list(new QueryWrapper<WarehouseGoodsShelves>().lambda()
-//                    .eq(WarehouseGoodsShelves::getWarehouseId, id));
-//            if(list.size()>0){
-//                log.error("浠撳簱涓嬫湁璐ф灦,涓嶈兘鍒犻櫎 閲嶆柊閫夋嫨");
-//                return false;
-//            }
-//        }
-//        return removeByIds(ids);
-//    }
     @Override
     public boolean deleteByIds(List<Long> ids) {
         // 1. 妫�鏌ユ槸鍚︽湁璐ф灦
@@ -61,14 +56,116 @@
                 .in(WarehouseGoodsShelves::getWarehouseId, ids);
         List<WarehouseGoodsShelves> shelvesList = warehouseGoodsShelvesService.list(queryWrapper);
         //鑾峰緱shelvesList涓墍鏈夌殑Id
+
         List<Long> shelvesIds = shelvesList.stream().map(WarehouseGoodsShelves::getId).collect(Collectors.toList());
         // 2. 鍒犻櫎璐ф灦
         if (!shelvesIds.isEmpty()) {
-            warehouseGoodsShelvesService.deleteByIds(shelvesIds);
+            boolean b = warehouseGoodsShelvesService.deleteByIds(shelvesIds);
+            if (!b) {
+                throw new RuntimeException("鍒犻櫎璐ф灦澶辫触");
+            }
         }
         return removeByIds(ids);
     }
 
+    @Override
+    public List<Warehouse> findList(Warehouse warehouse) {
+        return warehouseMapper.listAll(warehouse);
+    }
+    /**
+     * 鏌ヨ浠撳簱-璐ф灦-灞傚垪涓夌骇鏍戠粨鏋�
+     */
+    @Override
+    public List<WarehouseTreeDto> findListTree() {
+
+        // 鏌ヨ鎵�鏈夋牴鑺傜偣锛堜粨搴擄級
+        LambdaQueryWrapper<Warehouse> queryWrapper = new LambdaQueryWrapper<>();
+        // 鏌ヨ浠撳簱鍒楄〃锛堜竴绾ц妭鐐癸級
+        List<Warehouse> warehouseList = warehouseMapper.selectList(queryWrapper);
+
+        // 杞崲涓烘爲鑺傜偣骞舵瀯寤哄瓙鏍�
+        List<WarehouseTreeDto> tree = new ArrayList<>();
+        for (Warehouse warehouse : warehouseList) {
+            WarehouseTreeDto node = convertToWarehouseTreeDto(warehouse);
+            // 涓烘瘡涓粨搴撴坊鍔犺揣鏋跺瓙鑺傜偣
+            node.setChildren(buildShelfChildrenNodes(warehouse.getId()));
+            tree.add(node);
+        }
+        return tree;
+    }
+    /**
+     * 鏋勫缓璐ф灦瀛愯妭鐐癸紙浜岀骇鑺傜偣锛�
+     */
+    private List<WarehouseTreeDto> buildShelfChildrenNodes(Long warehouseId) {
+        // 鏌ヨ鎸囧畾浠撳簱涓嬬殑鎵�鏈夎揣鏋�
+        LambdaQueryWrapper<WarehouseGoodsShelves> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(WarehouseGoodsShelves::getWarehouseId, warehouseId);
+        List<WarehouseGoodsShelves> shelfList = warehouseGoodsShelvesMapper.selectList(queryWrapper);
+
+        // 杞崲涓烘爲鑺傜偣骞舵瀯寤哄眰鍒楀瓙鑺傜偣
+        List<WarehouseTreeDto> shelfNodes = new ArrayList<>();
+        for (WarehouseGoodsShelves shelf : shelfList) {
+            WarehouseTreeDto shelfNode = convertToShelfTreeDto(shelf);
+            // 涓烘瘡涓揣鏋舵坊鍔犲眰鍒楀瓙鑺傜偣
+            shelfNode.setChildren(buildRowcolChildrenNodes(shelf.getId()));
+            shelfNodes.add(shelfNode);
+        }
+
+        return shelfNodes;
+    }
+
+    /**
+     * 鏋勫缓灞傚垪瀛愯妭鐐癸紙涓夌骇鑺傜偣锛�
+     */
+    private List<WarehouseTreeDto> buildRowcolChildrenNodes(Long shelfId) {
+        // 鏌ヨ鎸囧畾璐ф灦涓嬬殑鎵�鏈夊眰鍒�
+        LambdaQueryWrapper<WarehouseGoodsShelvesRowcol> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(WarehouseGoodsShelvesRowcol::getWarehouseGoodsShelvesId, shelfId);
+        List<WarehouseGoodsShelvesRowcol> rowcolList = warehouseGoodsShelvesRowcolMapper.selectList(queryWrapper);
+
+        // 杞崲涓烘爲鑺傜偣锛堝眰鍒楁病鏈夊瓙鑺傜偣锛�
+        List<WarehouseTreeDto> rowcolNodes = new ArrayList<>();
+        for (WarehouseGoodsShelvesRowcol rowcol : rowcolList) {
+            WarehouseTreeDto rowcolNode = convertToRowcolTreeDto(rowcol);
+            rowcolNodes.add(rowcolNode);
+        }
+
+        return rowcolNodes;
+    }
+
+    /**
+     * 浠撳簱瀹炰綋杞崲涓烘爲鑺傜偣DTO
+     */
+    private WarehouseTreeDto convertToWarehouseTreeDto(Warehouse warehouse) {
+        WarehouseTreeDto dto = new WarehouseTreeDto();
+        copyProperties(warehouse, dto);
+        dto.setLabel(warehouse.getWarehouseName());
+        dto.setChildren(new ArrayList<>());
+        return dto;
+    }
+
+    /**
+     * 璐ф灦瀹炰綋杞崲涓烘爲鑺傜偣DTO
+     */
+    private WarehouseTreeDto convertToShelfTreeDto(WarehouseGoodsShelves shelf) {
+        WarehouseTreeDto dto = new WarehouseTreeDto();
+        copyProperties(shelf, dto);
+        dto.setLabel(shelf.getGoodsShelvesName());
+        dto.setChildren(new ArrayList<>());
+        return dto;
+    }
+
+    /**
+     * 灞傚垪瀹炰綋杞崲涓烘爲鑺傜偣DTO
+     */
+    private WarehouseTreeDto convertToRowcolTreeDto(WarehouseGoodsShelvesRowcol rowcol) {
+        WarehouseTreeDto dto = new WarehouseTreeDto();
+        copyProperties(rowcol, dto);
+        dto.setLabel(rowcol.getStorey() + "-" + rowcol.getArrange());
+        dto.setChildren(new ArrayList<>());
+        return dto;
+    }
+
 }
 
 
diff --git a/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml b/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml
index 22e1e8e..9d54137 100644
--- a/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml
+++ b/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml
@@ -4,22 +4,22 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.warehouse.mapper.DocumentationBorrowManagementMapper">
 
-<!--    <resultMap id="BaseResultMap" type="com.ruoyi.warehouse.pojo.DocumentationBorrowManagement">-->
-<!--            <id property="id" column="id" jdbcType="BIGINT"/>-->
-<!--            <result property="documentationId" column="documentation_id" jdbcType="BIGINT"/>-->
-<!--            <result property="borrowerId" column="borrower_id" jdbcType="BIGINT"/>-->
-<!--            <result property="borrowPurpose" column="borrow_purpose" jdbcType="VARCHAR"/>-->
-<!--            <result property="borrowDate" column="borrow_date" jdbcType="TIMESTAMP"/>-->
-<!--            <result property="dueReturnDate" column="due_return_date" jdbcType="TIMESTAMP"/>-->
-<!--            <result property="returnDate" column="return_date" jdbcType="TIMESTAMP"/>-->
-<!--            <result property="borrowStatus" column="borrow_status" jdbcType="VARCHAR"/>-->
-<!--            <result property="remark" column="remark" jdbcType="VARCHAR"/>-->
-<!--            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>-->
-<!--            <result property="createUser" column="create_user" jdbcType="BIGINT"/>-->
-<!--            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>-->
-<!--            <result property="updateUser" column="update_user" jdbcType="BIGINT"/>-->
-<!--            <result property="tenantId" column="tenant_id" jdbcType="BIGINT"/>-->
-<!--    </resultMap>-->
+    <resultMap id="BaseResultMap" type="com.ruoyi.warehouse.pojo.DocumentationBorrowManagement">
+            <id property="id" column="id"/>
+            <result property="documentationId" column="documentation_id" />
+            <result property="borrowerId" column="borrower_id" />
+            <result property="borrowPurpose" column="borrow_purpose" />
+            <result property="borrowDate" column="borrow_date"/>
+            <result property="dueReturnDate" column="due_return_date" />
+            <result property="returnDate" column="return_date"/>
+            <result property="borrowStatus" column="borrow_status" />
+            <result property="remark" column="remark"/>
+            <result property="createTime" column="create_time"/>
+            <result property="createUser" column="create_user"/>
+            <result property="updateTime" column="update_time"/>
+            <result property="updateUser" column="update_user"/>
+            <result property="tenantId" column="tenant_id"/>
+    </resultMap>
 
 <!--    <sql id="Base_Column_List">-->
 <!--        id,documentation_id,borrower_id,-->
@@ -29,7 +29,7 @@
 <!--        update_user,tenant_id-->
 <!--    </sql>-->
     <select id="listPage" resultType="com.ruoyi.warehouse.pojo.DocumentationBorrowManagement">
-        select * from documentation_borrow_management
+        select *from documentation_borrow_management
         where 1=1
         <if test="documentationBorrowManagement.borrowStatus != null">
             and borrow_status = #{documentationBorrowManagement.borrowStatus}
@@ -40,14 +40,55 @@
         <if test="documentationBorrowManagement.borrowerId != null">
             and borrower_id = #{documentationBorrowManagement.borrowerId}
         </if>
-        <if test="documentationBorrowManagement.borrowPurpose != null">
-            and borrow_purpose = #{documentationBorrowManagement.borrowPurpose}
+        <if test="documentationBorrowManagement.entryDateStart != null and documentationBorrowManagement.entryDateStart != ''">
+            and borrow_date >= DATE_FORMAT(#{documentationBorrowManagement.entryDateStart},'%Y-%m-%d')
         </if>
-        <if test="documentationBorrowManagement.borrowDate != null">
-            and borrow_date = #{documentationBorrowManagement.borrowDate}
+        <if test="documentationBorrowManagement.entryDateEnd != null and documentationBorrowManagement.entryDateEnd != ''">
+            and borrow_date &lt;= DATE_FORMAT(#{documentationBorrowManagement.entryDateEnd},'%Y-%m-%d')
         </if>
-        <if test="documentationBorrowManagement.dueReturnDate != null">
-            and due_return_date = #{documentationBorrowManagement.dueReturnDate}
+    </select>
+    <select id="export" resultType="com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto">
+        select dbm.*,doc.doc_name,su.nick_name
+        from documentation_borrow_management dbm
+        LEFT JOIN documentation doc on doc.id = dbm.documentation_id
+        LEFT JOIN sys_user su on su.user_id = dbm.borrower_id
+        where 1=1
+        <if test="documentationBorrowManagement.borrowStatus != null">
+            and borrow_status = #{documentationBorrowManagement.borrowStatus}
+        </if>
+        <if test="documentationBorrowManagement.documentationId != null">
+            and documentation_id = #{documentationBorrowManagement.documentationId}
+        </if>
+        <if test="documentationBorrowManagement.borrowerId != null">
+            and borrower_id = #{documentationBorrowManagement.borrowerId}
+        </if>
+        <if test="documentationBorrowManagement.entryDateStart != null and documentationBorrowManagement.entryDateStart != ''">
+            and borrow_date >= DATE_FORMAT(#{documentationBorrowManagement.entryDateStart},'%Y-%m-%d')
+        </if>
+        <if test="documentationBorrowManagement.entryDateEnd != null and documentationBorrowManagement.entryDateEnd != ''">
+            and borrow_date &lt;= DATE_FORMAT(#{documentationBorrowManagement.entryDateEnd},'%Y-%m-%d')
+        </if>
+    </select>
+    <select id="exportrevent" resultType="com.ruoyi.warehouse.dto.ReturnExportDto">
+        select dbm.*,doc.doc_name,su.nick_name,su.nick_name as return_nick_name
+        from documentation_borrow_management dbm
+        LEFT JOIN documentation doc on doc.id = dbm.documentation_id
+        LEFT JOIN sys_user su on su.user_id = dbm.borrower_id
+        where 1=1
+        <if test="documentationBorrowManagement.borrowStatus != null">
+            and borrow_status = #{documentationBorrowManagement.borrowStatus}
+        </if>
+        <if test="documentationBorrowManagement.documentationId != null">
+            and documentation_id = #{documentationBorrowManagement.documentationId}
+        </if>
+        <if test="documentationBorrowManagement.borrowerId != null">
+            and borrower_id = #{documentationBorrowManagement.borrowerId}
+        </if>
+        <if test="documentationBorrowManagement.entryDateStart != null and documentationBorrowManagement.entryDateStart != ''">
+            and borrow_date >= DATE_FORMAT(#{documentationBorrowManagement.entryDateStart},'%Y-%m-%d')
+        </if>
+        <if test="documentationBorrowManagement.entryDateEnd != null and documentationBorrowManagement.entryDateEnd != ''">
+            and borrow_date &lt;= DATE_FORMAT(#{documentationBorrowManagement.entryDateEnd},'%Y-%m-%d')
         </if>
     </select>
 </mapper>
diff --git a/src/main/resources/mapper/warehouse/DocumentationFileMapper.xml b/src/main/resources/mapper/warehouse/DocumentationFileMapper.xml
new file mode 100644
index 0000000..bb15889
--- /dev/null
+++ b/src/main/resources/mapper/warehouse/DocumentationFileMapper.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ruoyi.warehouse.mapper.DocumentationFileMapper">
+    <select id="documentationFileListPage" resultType="com.ruoyi.warehouse.pojo.DocumentationFile">
+        SELECT
+        *
+        FROM documentation_file
+        where
+        1=1
+        <if test="documentationFile.name != null and documentationFile.name != '' ">
+            AND name = #{documentationFile.name}
+        </if>
+    </select>
+</mapper>
diff --git a/src/main/resources/mapper/warehouse/DocumentationMapper.xml b/src/main/resources/mapper/warehouse/DocumentationMapper.xml
index 768e272..bf0b122 100644
--- a/src/main/resources/mapper/warehouse/DocumentationMapper.xml
+++ b/src/main/resources/mapper/warehouse/DocumentationMapper.xml
@@ -4,58 +4,51 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.warehouse.mapper.DocumentationMapper">
 
-    <resultMap id="BaseResultMap" type="com.ruoyi.warehouse.pojo.Documentation">
-            <id property="id" column="id" jdbcType="BIGINT"/>
-            <result property="documentClassificationId" column="document_classification_id"/>
-            <result property="docName" column="doc_name" jdbcType="VARCHAR"/>
-            <result property="docNumber" column="doc_number" jdbcType="BIGINT"/>
-            <result property="year" column="year" jdbcType="BIGINT"/>
-            <result property="responsiblePerson" column="responsible_person" jdbcType="VARCHAR"/>
-            <result property="warehouseGoodsShelvesRowcolId" column="warehouse_goods_shelves_rowcol_id" jdbcType="BIGINT"/>
-            <result property="docDate" column="doc_date" jdbcType="TIMESTAMP"/>
-            <result property="retentionPeriod" column="retention_period" jdbcType="BIGINT"/>
-            <result property="securityLevel" column="security_level" jdbcType="VARCHAR"/>
-            <result property="copyCount" column="copy_count" jdbcType="BIGINT"/>
-            <result property="pageCount" column="page_count" jdbcType="BIGINT"/>
-            <result property="docCategory" column="doc_category" jdbcType="VARCHAR"/>
-            <result property="docType" column="doc_type" jdbcType="VARCHAR"/>
-            <result property="urgencyLevel" column="urgency_level" jdbcType="VARCHAR"/>
-            <result property="docStatus" column="doc_status" jdbcType="VARCHAR"/>
-            <result property="remark" column="remark" jdbcType="VARCHAR"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="createUser" column="create_user" jdbcType="VARCHAR"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
-            <result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
-            <result property="tenantId" column="tenant_id" jdbcType="BIGINT"/>
-    </resultMap>
-
-    <sql id="Base_Column_List">
-        id,category_name,doc_name,
-        doc_number,year,responsible_person,
-        warehouse_goods_shelves_rowcol_id,doc_date,retention_period,
-        security_level,copy_count,page_count,
-        doc_category,doc_type,urgency_level,
-        doc_status,remark,create_time,
-        create_user,update_time,update_user,
-        tenant_id
-    </sql>
-    <select id="listPage" resultType="com.ruoyi.warehouse.pojo.Documentation">
-        select * from documentation
+    <select id="listPage" resultType="com.ruoyi.warehouse.dto.DocumentationDto">
+        SELECT
+        doc.*,
+        dc.category,
+        CONCAT(
+            w.warehouse_name, '-',
+            wgs.goods_shelves_name, '-',
+            wgsr.storey, '灞�-',
+            wgsr.arrange, '鍒�'
+        ) AS location_info  -- 鍚堝苟鍚庣殑瀛楁鍚�
+        FROM documentation doc
+        LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id
+        LEFT JOIN warehouse_goods_shelves_rowcol wgsr ON wgsr.id = doc.warehouse_goods_shelves_rowcol_id
+        LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id
+        LEFT JOIN warehouse w ON w.id = wgs.warehouse_id
         where 1=1
         <if test="documentation.documentClassificationId != null">
-            and document_classification_id = #{documentation.documentClassificationId}
+            and doc.document_classification_id = #{documentation.documentClassificationId}
         </if>
         <if test="documentation.docName != null">
-            and doc_name = #{documentation.docName}
+            and doc.doc_name = #{documentation.docName}
         </if>
         <if test="documentation.docNumber != null">
-            and doc_number = #{documentation.docNumber}
+            and doc.doc_number = #{documentation.docNumber}
+        </if>
+        <if test="documentation.id != null">
+            and doc.id = #{documentation.id}
         </if>
     </select>
-    <select id="list" resultType="com.ruoyi.warehouse.pojo.Documentation">
-        select * from documentation t1
-              left join warehouse_goods_shelves_rowcol t2 on t1.warehouse_goods_shelves_rowcol_id = t2.id
-              left join warehouse_goods_shelves t3 on t2.warehouse_goods_shelves_id = t3.id
-              left join warehouse t4 on t3.warehouse_id = t4.id
+    <select id="listByDocumentClassificationId" resultType="com.ruoyi.warehouse.dto.DocumentationDto">
+        SELECT
+        doc.*,
+        dc.category,
+        CONCAT(
+        w.warehouse_name, '-',
+        wgs.goods_shelves_name, '-',
+        wgsr.storey, '灞�-',
+        wgsr.arrange, '鍒�'
+        ) AS location_info  -- 鍚堝苟鍚庣殑瀛楁鍚�
+        FROM documentation doc
+        LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id
+        LEFT JOIN warehouse_goods_shelves_rowcol wgsr ON wgsr.id = doc.warehouse_goods_shelves_rowcol_id
+        LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id
+        LEFT JOIN warehouse w ON w.id = wgs.warehouse_id
+        where doc.document_classification_id = #{documentClassificationId}
     </select>
+
 </mapper>
diff --git a/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml
index dd6371b..8b1d771 100644
--- a/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml
+++ b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml
@@ -4,19 +4,32 @@
 <mapper namespace="com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesMapper">
 
 
-    <select id="listPage" resultType="com.ruoyi.warehouse.pojo.WarehouseGoodsShelves">
-        select * from warehouse_goods_shelves
+    <select id="findList" resultType="com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto">
+        SELECT
+        wgsr.*,
+        w.warehouse_name,
+        wgs.goods_shelves_name,
+        doc.*,
+        dc.category
+        FROM warehouse_goods_shelves_rowcol wgsr
+        LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id
+        LEFT JOIN warehouse w ON w.id = wgs.warehouse_id
+        LEFT JOIN documentation doc ON doc.warehouse_goods_shelves_rowcol_id = wgsr.id
+        LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id
         <where>
             1=1
-            <if test="goodsShelvesName != null and goodsShelvesName != ''">
-                and goods_shelves_name like concat('%',#{goodsShelvesName},'%')
+            <if test="warehouseGoodsShelves.goodsShelvesName != null and warehouseGoodsShelves.goodsShelvesName != ''">
+                and wgs.goods_shelves_name like concat('%',#{warehouseGoodsShelves.goodsShelvesName},'%')
             </if>
-            <if test="warehouseId != null">
-                and warehouse_id = #{warehouseId}
+            <if test="warehouseGoodsShelves.warehouseId != null">
+                and wgs.warehouse_id = #{warehouseGoodsShelves.warehouseId}
+            </if>
+            <if test="warehouseGoodsShelves.id != null">
+                and wgs.id = #{warehouseGoodsShelves.id}
             </if>
         </where>
     </select>
-    <select id="list" resultType="com.ruoyi.warehouse.pojo.WarehouseGoodsShelves">
+    <select id="listAll" resultType="com.ruoyi.warehouse.pojo.WarehouseGoodsShelves">
         select * from warehouse_goods_shelves
         <where>
             1=1
@@ -26,7 +39,11 @@
             <if test="warehouseGoodsShelves.warehouseId != null">
                 and warehouse_id = #{warehouseGoodsShelves.warehouseId}
             </if>
+            <if test="warehouseGoodsShelves.id != null">
+                and id = #{warehouseGoodsShelves.id}
+            </if>
         </where>
     </select>
 
+
 </mapper>
diff --git a/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml
index 58479b1..ccffa73 100644
--- a/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml
+++ b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml
@@ -5,21 +5,31 @@
 <mapper namespace="com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper">
 
 
-    <select id="listPage" resultType="com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol">
-        select * from warehouse_goods_shelves_rowcol
+    <select id="findList" resultType="com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto">
+        SELECT
+            wgsr.*,
+            w.warehouse_name,
+            wgs.goods_shelves_name,
+            doc.*,
+            dc.category
+        FROM warehouse_goods_shelves_rowcol wgsr
+        LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id
+        LEFT JOIN warehouse w ON w.id = wgs.warehouse_id
+        LEFT JOIN documentation doc ON doc.warehouse_goods_shelves_rowcol_id = wgsr.id
+        LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id
         <where>
             1=1
             <if test="warehouseGoodsShelvesRowcol.storey != null">
-                and storey = #{warehouseGoodsShelvesRowcol.storey}
+                and wgsr.storey = #{warehouseGoodsShelvesRowcol.storey}
             </if>
             <if test="warehouseGoodsShelvesRowcol.arrange != null">
-                and arrange = #{warehouseGoodsShelvesRowcol.arrange}
+                and wgsr.arrange = #{warehouseGoodsShelvesRowcol.arrange}
             </if>
             <if test="warehouseGoodsShelvesRowcol.warehouseGoodsShelvesId != null">
-                and warehouse_goods_shelves_id = #{warehouseGoodsShelvesRowcol.warehouseGoodsShelvesId}
+                and wgsr.warehouse_goods_shelves_id = #{warehouseGoodsShelvesRowcol.warehouseGoodsShelvesId}
             </if>
-            <if test="warehouseGoodsShelvesRowcol.warehouseId != null">
-                and warehouse_id = #{warehouseGoodsShelvesRowcol.warehouseId}
+            <if test="warehouseGoodsShelvesRowcol.id != null">
+                and wgsr.id = #{warehouseGoodsShelvesRowcol.id}
             </if>
         </where>
     </select>
diff --git a/src/main/resources/mapper/warehouse/WarehouseMapper.xml b/src/main/resources/mapper/warehouse/WarehouseMapper.xml
index 0ac5918..8f7affe 100644
--- a/src/main/resources/mapper/warehouse/WarehouseMapper.xml
+++ b/src/main/resources/mapper/warehouse/WarehouseMapper.xml
@@ -4,8 +4,89 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.warehouse.mapper.WarehouseMapper">
 
+<!--    &lt;!&ndash; 瀹氫箟 WarehouseDto 鐨� resultMap锛堜紭鍖栧悗锛� &ndash;&gt;-->
+<!--    <resultMap id="WarehouseDtoResultMap" type="com.ruoyi.warehouse.dto.WarehouseDto">-->
+<!--        &lt;!&ndash; 鏄犲皠 Warehouse 鐖剁被鐨勫瓧娈碉紙浠撳簱涓昏〃淇℃伅锛� &ndash;&gt;-->
+<!--        <id property="id" column="w_id"/> &lt;!&ndash; 鏄庣‘鍒悕锛岄伩鍏嶄笌瀛愯〃id鍐茬獊 &ndash;&gt;-->
+<!--        <result property="warehouseName" column="warehouse_name"/>-->
+<!--        &lt;!&ndash; 鍏朵粬鐖剁被瀛楁鎸夐渶娣诲姞锛屽缓璁粺涓�鍔犺〃鍒悕鍓嶇紑 &ndash;&gt;-->
 
-    <select id="listPage" resultType="com.ruoyi.warehouse.pojo.Warehouse">
+<!--        &lt;!&ndash; 绉婚櫎 WarehouseDto 涓殑 goodsShelvesName 瀛楁鏄犲皠-->
+<!--             鍘熷洜锛氳瀛楁灞炰簬瀛愯〃 warehouse_goods_shelves锛屽簲閫氳繃宓屽闆嗗悎鑾峰彇锛岄伩鍏嶆暟鎹涔� &ndash;&gt;-->
+
+<!--        &lt;!&ndash; 鏄犲皠 WarehouseDto 鑷韩鐨勫垎绫诲瓧娈碉紙鑻ヤ笟鍔¢渶瑕佸叧鑱旀枃妗e垎绫伙級 &ndash;&gt;-->
+<!--        <result property="category" column="category"/>-->
+
+<!--        &lt;!&ndash; 鏄犲皠宓屽闆嗗悎锛氫粨搴�-璐ф灦锛堜竴瀵瑰锛� &ndash;&gt;-->
+<!--        <collection property="warehouseGoodsShelvesList" ofType="com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto">-->
+<!--            <id property="id" column="wgs_id"/> &lt;!&ndash; 璐ф灦琛ㄤ富閿紝鍞竴鏍囪瘑 &ndash;&gt;-->
+<!--            <result property="goodsShelvesName" column="goods_shelves_name"/>-->
+<!--            <result property="warehouseId" column="w_id"/> &lt;!&ndash; 鍏宠仈浠撳簱鐨勫閿紝渚夸簬鍙嶅悜杩芥函 &ndash;&gt;-->
+<!--            &lt;!&ndash; 鍏朵粬璐ф灦瀛楁鎸夐渶娣诲姞锛堝鍒涘缓鏃堕棿銆佺姸鎬佺瓑锛� &ndash;&gt;-->
+
+<!--            &lt;!&ndash; 鏄犲皠宓屽闆嗗悎锛氳揣鏋�-琛屽垪锛堜竴瀵瑰锛� &ndash;&gt;-->
+<!--            <collection property="warehouseGoodsShelvesRowcolList" ofType="com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto">-->
+<!--                <id property="id" column="wgsr_id"/> &lt;!&ndash; 琛屽垪琛ㄨ嚜韬富閿紝淇鍘熷閿埆鍚嶅鑷寸殑姝т箟 &ndash;&gt;-->
+<!--                <result property="storey" column="storey"/>-->
+<!--                <result property="arrange" column="arrange"/>-->
+<!--                <result property="warehouseGoodsShelvesId" column="wgs_id"/> &lt;!&ndash; 鍏宠仈璐ф灦鐨勫閿� &ndash;&gt;-->
+<!--                &lt;!&ndash; 鍏朵粬琛屽垪瀛楁鎸夐渶娣诲姞锛堝瀹归噺銆佺姸鎬佺瓑锛� &ndash;&gt;-->
+<!--            </collection>-->
+<!--        </collection>-->
+<!--    </resultMap>-->
+
+<!--    <select id="findList" resultMap="WarehouseDtoResultMap">-->
+<!--        SELECT-->
+<!--        w.id AS w_id, &#45;&#45; 浠撳簱琛╥d鍔犲埆鍚嶏紝閬垮厤涓庡瓙琛╥d鍐茬獊-->
+<!--        w.warehouse_name,-->
+<!--        wgs.id AS wgs_id, &#45;&#45; 璐ф灦琛╥d鍔犲埆鍚�-->
+<!--        wgs.goods_shelves_name,-->
+<!--        wgsr.id AS wgsr_id, &#45;&#45; 琛屽垪琛╥d鍔犲埆鍚嶏紙淇鍘熷閿埆鍚嶏紝鏄庣‘涓轰富閿級-->
+<!--        wgsr.storey,-->
+<!--        wgsr.arrange,-->
+<!--        dc.category-->
+<!--        FROM warehouse_goods_shelves_rowcol wgsr-->
+<!--        LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id-->
+<!--        LEFT JOIN warehouse w ON  w.id = wgs.warehouse_id-->
+<!--        &#45;&#45; 鍏宠仈鏂囨。琛ㄥ拰鍒嗙被琛ㄦ椂锛岃嫢鏃犻渶鏂囨。璇︽儏锛屽缓璁敤 EXISTS 浼樺寲锛岄伩鍏嶉噸澶嶆暟鎹�-->
+<!--        LEFT JOIN documentation doc ON doc.warehouse_goods_shelves_rowcol_id = wgsr.id-->
+<!--        LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id-->
+<!--        <where>-->
+<!--            &lt;!&ndash; 绉婚櫎 1=1锛孧yBatis鐨剋here鏍囩浼氳嚜鍔ㄥ鐞嗛涓狝ND &ndash;&gt;-->
+<!--            <if test="warehouse.warehouseName != null and warehouse.warehouseName != ''">-->
+<!--                AND w.warehouse_name LIKE CONCAT('%', #{warehouse.warehouseName}, '%')-->
+<!--            </if>-->
+<!--            <if test="warehouse.id != null">-->
+<!--                AND w.id = #{warehouse.id}-->
+<!--            </if>-->
+<!--        </where>-->
+<!--        &#45;&#45; 鍒嗙粍鍘婚噸锛氶伩鍏嶅洜澶氳〃杩炴帴瀵艰嚧鐨勯噸澶嶆暟鎹紙鏍稿績浼樺寲鐐癸級-->
+<!--        GROUP BY w.id, wgs.id, wgsr.id-->
+<!--    </select>-->
+
+        <select id="findList" resultType="com.ruoyi.warehouse.dto.WarehouseDto">
+        SELECT
+        wgsr.*,
+        w.warehouse_name,
+        wgs.goods_shelves_name,
+        doc.doc_name,
+        dc.category
+        FROM warehouse_goods_shelves_rowcol wgsr
+        LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id
+        LEFT JOIN warehouse w ON w.id = wgs.warehouse_id
+        LEFT JOIN documentation doc ON doc.warehouse_goods_shelves_rowcol_id = wgsr.id
+        LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id
+        <where>
+            1=1
+            <if test="warehouse.warehouseName != null">
+                and w.warehouse_name like concat('%',#{warehouse.warehouseName},'%')
+            </if>
+            <if test="warehouse.id != null">
+                and w.id = #{warehouse.id}
+            </if>
+        </where>
+    </select>
+    <select id="listAll" resultType="com.ruoyi.warehouse.pojo.Warehouse">
         select * from warehouse
         <where>
             1=1

--
Gitblit v1.9.3