From 28cf22aaff7f092256db2ad6df699e17426f62ea Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 30 四月 2026 16:34:27 +0800
Subject: [PATCH] Merge branch 'dev_New_pro' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New_pro

---
 src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java |   88 ++++++++++++++++++++++++++++---------------
 1 files changed, 57 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
index e70cce9..427396b 100644
--- a/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
+++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
@@ -6,66 +6,92 @@
 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.DocumentationDto;
 import com.ruoyi.warehouse.pojo.Documentation;
-import com.ruoyi.warehouse.pojo.Warehouse;
 import com.ruoyi.warehouse.service.DocumentationService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/documentation")
-@Api(tags = "鏂囨。淇℃伅琛�")
+@Tag(name = "鏂囨。淇℃伅琛�")
+@AllArgsConstructor
 public class DocumentationController extends BaseController {
-    @Autowired
     private DocumentationService documentationService;
+
     @GetMapping("/listPage")
-    @ApiOperation("鏂囨。淇℃伅琛�-鍒嗛〉鏌ヨ")
+    @Operation(summary = "鏂囨。淇℃伅琛�-鍒嗛〉鏌ヨ")
     @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();
+        IPage<DocumentationDto> list = documentationService.listPage(page, documentation);
         return AjaxResult.success(list);
     }
+
+    @GetMapping("/list")
+    @Operation(summary = "鏂囨。淇℃伅琛ㄦ煡璇�")
+    @Log(title = "鏂囨。淇℃伅琛ㄦ煡璇�", businessType = BusinessType.OTHER)
+    public AjaxResult list() {
+        List<DocumentationDto> list = documentationService.listAll();
+        return AjaxResult.success(list);
+    }
+
     @PostMapping("/add")
-    @ApiOperation("鏂囨。淇℃伅琛�-娣诲姞")
+    @Operation(summary = "鏂囨。淇℃伅琛�-娣诲姞")
     @Log(title = "鏂囨。淇℃伅琛�-娣诲姞", businessType = BusinessType.INSERT)
     public AjaxResult add(@RequestBody Documentation documentation) {
-        boolean save = documentationService.save(documentation);
-        return save ? AjaxResult.success("娣诲姞鎴愬姛") : AjaxResult.error("娣诲姞澶辫触");
+        return AjaxResult.success(documentationService.save(documentation));
     }
-    @PostMapping("/update")
-    @ApiOperation("鏂囨。淇℃伅琛�-鏇存柊")
+
+    @PutMapping("/update")
+    @Operation(summary = "鏂囨。淇℃伅琛�-鏇存柊")
     @Log(title = "鏂囨。淇℃伅琛�-鏇存柊", businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody Documentation documentation) {
         return AjaxResult.success(documentationService.updateById(documentation));
     }
-    @PostMapping("/delete")
-    @ApiOperation("鏂囨。淇℃伅琛�-鍒犻櫎")
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "鏂囨。淇℃伅琛�-鍒犻櫎")
     @Log(title = "鏂囨。淇℃伅琛�-鍒犻櫎", businessType = BusinessType.DELETE)
     public AjaxResult delete(@RequestBody List<Long> ids) {
-        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
-        boolean remove = documentationService.removeBatchByIds(ids);
-//        boolean remove = documentationService.deleteByIds(ids);
-        return remove ? AjaxResult.success("鍒犻櫎鎴愬姛") : AjaxResult.error("鍒犻櫎澶辫触");
+        if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        return AjaxResult.success(documentationService.deleteByIds(ids));
     }
 
     @PostMapping("/export")
-    @ApiOperation("鏂囨。淇℃伅琛�-瀵煎嚭")
+    @Operation(summary = "鏂囨。淇℃伅琛�-瀵煎嚭")
     @Log(title = "鏂囨。淇℃伅琛�-瀵煎嚭", businessType = BusinessType.EXPORT)
-    public void export(HttpServletResponse response) {
-        documentationService.export(response);
+    public void export(HttpServletResponse response, Documentation documentation) {
+        documentationService.export(response, documentation);
+    }
+
+    @Operation(summary = "鏂囨。淇℃伅琛�-缁熻")
+    @GetMapping("/overview")
+    public AjaxResult getOverviewStatistics() {
+        Map<String, Object> result = new HashMap<>();
+        result.put("totalDocsCount", documentationService.getTotalDocsCount());
+        result.put("categoryNumCount", documentationService.getCategoryNumCount());
+        result.put("borrowedDocsCount", documentationService.getBorrowedDocsCount());
+        result.put("monthlyAddedDocsCount", documentationService.getMonthlyAddedDocsCount());
+        return AjaxResult.success(result);
+    }
+
+    @Operation(summary = "鏂囨。淇℃伅琛�-鍒嗙被缁熻")
+    @GetMapping("/category")
+    public AjaxResult getCategoryDistribution() {
+        return AjaxResult.success(documentationService.getCategoryDistribution());
+    }
+
+    @Operation(summary = "鏂囨。淇℃伅琛�-鐘舵�佺粺璁�")
+    @GetMapping("/status")
+    public AjaxResult getStatusDistribution() {
+        return AjaxResult.success(documentationService.getStatusDistribution());
     }
 }

--
Gitblit v1.9.3