From b33e6f53dd537abaebad066de12474580fcc33b2 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期四, 21 八月 2025 15:03:14 +0800
Subject: [PATCH] Merge branch 'pim_ywx'

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

diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
new file mode 100644
index 0000000..586c330
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
@@ -0,0 +1,91 @@
+package com.ruoyi.warehouse.controller;
+
+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.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 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 = "鏂囨。淇℃伅琛�")
+public class DocumentationController extends BaseController {
+    @Autowired
+    private DocumentationService documentationService;
+    @GetMapping("/listPage")
+    @ApiOperation("鏂囨。淇℃伅琛�-鍒嗛〉鏌ヨ")
+    @Log(title = "鏂囨。淇℃伅琛�-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    public AjaxResult listPage(Page page, Documentation documentation) {
+        IPage<DocumentationDto> list = documentationService.listPage(page, documentation);
+        return AjaxResult.success(list);
+    }
+    @GetMapping("/list")
+    @ApiOperation("鏂囨。淇℃伅琛ㄦ煡璇�")
+    @Log(title = "鏂囨。淇℃伅琛ㄦ煡璇�", businessType = BusinessType.OTHER)
+    public AjaxResult list() {
+        List<DocumentationDto> list = documentationService.listAll();
+        return AjaxResult.success(list);
+    }
+    @PostMapping("/add")
+    @ApiOperation("鏂囨。淇℃伅琛�-娣诲姞")
+    @Log(title = "鏂囨。淇℃伅琛�-娣诲姞", businessType = BusinessType.INSERT)
+    public AjaxResult add(@RequestBody Documentation documentation) {
+        return AjaxResult.success(documentationService.save(documentation));
+    }
+    @PutMapping("/update")
+    @ApiOperation("鏂囨。淇℃伅琛�-鏇存柊")
+    @Log(title = "鏂囨。淇℃伅琛�-鏇存柊", businessType = BusinessType.UPDATE)
+    public AjaxResult update(@RequestBody Documentation documentation) {
+        return AjaxResult.success(documentationService.updateById(documentation));
+    }
+    @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.deleteByIds(ids));
+    }
+
+    @PostMapping("/export")
+    @ApiOperation("鏂囨。淇℃伅琛�-瀵煎嚭")
+    @Log(title = "鏂囨。淇℃伅琛�-瀵煎嚭", businessType = BusinessType.EXPORT)
+    public void export(HttpServletResponse response,Documentation documentation ) {
+        documentationService.export(response,documentation);
+    }
+    @ApiOperation("鏂囨。淇℃伅琛�-缁熻")
+    @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);
+    }
+    @ApiOperation("鏂囨。淇℃伅琛�-鍒嗙被缁熻")
+    @GetMapping("/category")
+    public AjaxResult getCategoryDistribution() {
+        return AjaxResult.success(documentationService.getCategoryDistribution());
+    }
+    @ApiOperation("鏂囨。淇℃伅琛�-鐘舵�佺粺璁�")
+    @GetMapping("/status")
+    public AjaxResult getStatusDistribution() {
+        return AjaxResult.success(documentationService.getStatusDistribution());
+    }
+}

--
Gitblit v1.9.3