From 8f4db901aa772a808c243f8a4e39522f6f09d5da Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期四, 21 八月 2025 13:10:22 +0800
Subject: [PATCH] 修改完善3

---
 src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java                    |   27 ++
 src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java                            |   17 +
 src/main/java/com/ruoyi/warehouse/pojo/DocumentationReturnManagement.java                    |  130 ++++++++++++++
 src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java                 |   58 ++++++
 src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java                    |    2 
 src/main/java/com/ruoyi/warehouse/service/DocumentationService.java                          |   14 +
 src/main/resources/mapper/warehouse/DocumentationReturnManagementMapper.xml                  |   57 ++++++
 src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java |   62 +++++-
 src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml                    |   15 +
 src/main/java/com/ruoyi/warehouse/dto/DocumentationReturnManagementDto.java                  |   12 +
 src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java          |    8 
 src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java    |   33 ++
 src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml                  |   23 --
 src/main/java/com/ruoyi/warehouse/mapper/DocumentationReturnManagementMapper.java            |   33 +++
 src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java            |    4 
 15 files changed, 437 insertions(+), 58 deletions(-)

diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java
index 0575729..d4b44ad 100644
--- a/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java
+++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java
@@ -10,7 +10,9 @@
 import com.ruoyi.framework.web.domain.AjaxResult;
 
 import com.ruoyi.warehouse.mapper.DocumentationBorrowManagementMapper;
+import com.ruoyi.warehouse.mapper.DocumentationReturnManagementMapper;
 import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement;
+import com.ruoyi.warehouse.pojo.DocumentationReturnManagement;
 import com.ruoyi.warehouse.pojo.Warehouse;
 import com.ruoyi.warehouse.service.DocumentationBorrowManagementService;
 import com.ruoyi.warehouse.service.WarehouseService;
@@ -32,11 +34,25 @@
     private DocumentationBorrowManagementService documentationBorrowManagementService;
     @Autowired
     private DocumentationBorrowManagementMapper documentationBorrowManagementMapper;
+    @Autowired
+    private DocumentationReturnManagementMapper documentationReturnManagementMapper;
     @GetMapping("/listPage")
     @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄鍒嗛〉鏌ヨ")
     @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
     public AjaxResult listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement) {
         return AjaxResult.success(documentationBorrowManagementService.listPage(page, documentationBorrowManagement));
+    }
+    @GetMapping("/list")
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄鏌ヨ")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄鏌ヨ", businessType = BusinessType.OTHER)
+    public AjaxResult list() {
+        return AjaxResult.success(documentationBorrowManagementService.listAll());
+    }
+    @GetMapping("/listPageReturn")
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕鍒嗛〉鏌ヨ")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    public AjaxResult listPageReturn(Page page, DocumentationReturnManagement documentationReturnManagement) {
+        return AjaxResult.success(documentationReturnManagementMapper.listPage(page, documentationReturnManagement));
     }
     @PostMapping("/add")
     @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄")
@@ -47,14 +63,20 @@
     @PutMapping("/revent")
     @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕")
     @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕", businessType = BusinessType.UPDATE)
-    public AjaxResult reventdbm(@RequestBody DocumentationBorrowManagement documentationBorrowManagement) {
-        return AjaxResult.success(documentationBorrowManagementService.reventdbm(documentationBorrowManagement));
+    public AjaxResult revent(@RequestBody DocumentationReturnManagement documentationReturnManagement) {
+        return AjaxResult.success(documentationBorrowManagementService.reventdbm(documentationReturnManagement));
     }
     @PutMapping("/update")
     @ApiOperation("鏂囨。鍊熼槄绠$悊-鏇存柊")
     @Log(title = "鏂囨。鍊熼槄绠$悊-鏇存柊", businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody DocumentationBorrowManagement documentationBorrowManagement) {
         return AjaxResult.success(documentationBorrowManagementService.updateById(documentationBorrowManagement));
+    }
+    @PutMapping("/reventUpdate")
+    @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕鏇存柊")
+    @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕鏇存柊", businessType = BusinessType.UPDATE)
+    public AjaxResult reventupdate(@RequestBody DocumentationReturnManagement documentationReturnManagement) {
+        return AjaxResult.success(documentationReturnManagementMapper.updateById(documentationReturnManagement));
     }
     @DeleteMapping ("/delete")
     @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄鍒犻櫎")
@@ -79,10 +101,7 @@
     @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, "鏂囨。鍊熼槄-褰掕繕璁板綍");
+    public void exportrevent(HttpServletResponse response, DocumentationReturnManagement documentationReturnManagement) {
+        documentationBorrowManagementService.exportrevent(response,documentationReturnManagement);
     }
 }
diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
index 2af0875..586c330 100644
--- a/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
+++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
@@ -18,7 +18,9 @@
 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")
@@ -66,9 +68,24 @@
     public void export(HttpServletResponse response,Documentation documentation ) {
         documentationService.export(response,documentation);
     }
-    //闄勪欢璇︽儏
-//    @GetMapping("/getDocumentation")
-//    public Documentation getDocumentation(Documentation documentation) {
-//        return documentationService.getById(id);
-//    }
+    @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());
+    }
 }
diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentationReturnManagementDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentationReturnManagementDto.java
new file mode 100644
index 0000000..a65e1e0
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentationReturnManagementDto.java
@@ -0,0 +1,12 @@
+package com.ruoyi.warehouse.dto;
+
+import com.ruoyi.warehouse.pojo.DocumentationReturnManagement;
+import lombok.Data;
+
+@Data
+public class DocumentationReturnManagementDto extends DocumentationReturnManagement {
+    /**
+     * 鏂囨。鍚嶇О
+     */
+    private String docName;
+}
diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java
index cad07e2..6af2ceb 100644
--- a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java
+++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java
@@ -1,5 +1,7 @@
 package com.ruoyi.warehouse.mapper;
 
+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.ruoyi.warehouse.dto.DocumentationBorrowManagementDto;
@@ -25,7 +27,7 @@
 
     List<DocumentationBorrowManagementDto> export(@Param("documentationBorrowManagement") DocumentationBorrowManagement documentationBorrowManagement);
 
-    List<ReturnExportDto> exportrevent(DocumentationBorrowManagement documentationBorrowManagement);
+    List<DocumentationBorrowManagementDto> list(@Param("ew") Wrapper<DocumentationBorrowManagementDto> queryWrapper);
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java
index d8f0178..33278bf 100644
--- a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java
+++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java
@@ -8,8 +8,10 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
+import java.util.Map;
 
 /**
 * @author 86151
@@ -24,6 +26,21 @@
     List<DocumentationDto> list();
     List<DocumentationDto> listByDocumentClassificationId(@Param("documentClassificationId") Long documentClassificationId);
     List<DocumentationDto> listBywarehouseGoodsShelvesRowcolId(@Param("warehouseGoodsShelvesRowcolId") Long warehouseGoodsShelvesRowcolId);
+    @Select("select count(*) from documentation")
+    Integer countTotalDocs();
+    @Select("select count(distinct document_classification_id) from documentation")
+    Integer countCategoryNum();
+    @Select("select count(*) from documentation where doc_status = '鍊熷嚭'")
+    Integer countBorrowedDocs();
+    @Select("select count(*) from documentation where create_time >= date_format(now(), '%Y-%m-01') and create_time < date_format(now(), '%Y-%m-%d')")
+    Integer countMonthlyAddedDocs();
+
+    @Select("select dc.category, count(*) as count from documentation doc left join document_classification dc on doc.document_classification_id = dc.id group by dc.category")
+    List<Map<String, Object>> countCategoryDistribution();
+
+    @Select("select doc_status as docStatus, count(*) as count from documentation group by doc_status")
+    List<Map<String, Object>> countStatusDistribution();
+
 }
 
 
diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationReturnManagementMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationReturnManagementMapper.java
new file mode 100644
index 0000000..d9de592
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationReturnManagementMapper.java
@@ -0,0 +1,33 @@
+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.warehouse.dto.DocumentationBorrowManagementDto;
+import com.ruoyi.warehouse.dto.ReturnExportDto;
+import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement;
+import com.ruoyi.warehouse.pojo.DocumentationReturnManagement;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+* @author 86151
+* @description 閽堝琛ㄣ�恉ocumentation_borrow_management(鏂囨。鍊熼槄-褰掕繕琛�)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-08-14 15:55:45
+* @Entity com.ruoyi.warehouse.pojo.DocumentationBorrowManagement
+*/
+@Mapper
+public interface DocumentationReturnManagementMapper extends BaseMapper<DocumentationReturnManagement> {
+
+    IPage<DocumentationReturnManagement> listPage(Page page, @Param("documentationReturnManagement") DocumentationReturnManagement documentationReturnManagement);
+//
+//    List<DocumentationReturnManagementDto> export(@Param("documentationReturnManagement") DocumentationReturnManagement documentationReturnManagement);
+//
+    List<ReturnExportDto> exportrevent(@Param("documentationReturnManagement") DocumentationReturnManagement documentationReturnManagement);
+}
+
+
+
+
diff --git a/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java
index 6039b20..a6c560f 100644
--- a/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java
+++ b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java
@@ -21,7 +21,7 @@
  */
 @TableName(value ="documentation_borrow_management")
 @Data
-@ApiModel(value = "鏂囨。鍊熼槄-褰掕繕琛�")
+@ApiModel(value = "鏂囨。鍊熼槄琛�")
 public class DocumentationBorrowManagement extends DateQueryDto implements Serializable {
 
     private static final long serialVersionUID = 1L;
diff --git a/src/main/java/com/ruoyi/warehouse/pojo/DocumentationReturnManagement.java b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationReturnManagement.java
new file mode 100644
index 0000000..5573923
--- /dev/null
+++ b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationReturnManagement.java
@@ -0,0 +1,130 @@
+package com.ruoyi.warehouse.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+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;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 鏂囨。鍊熼槄-褰掕繕琛�
+ * @TableName documentation_return_management
+ */
+@TableName(value ="documentation_return_management")
+@Data
+@ApiModel(value = "鏂囨。褰掕繕琛�")
+public class DocumentationReturnManagement extends DateQueryDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+    /**
+     * 涓婚敭
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鏂囨。id
+     */
+    @ApiModelProperty(value = "鏂囨。id")
+    private Long documentationId;
+    /**
+     * 鍊熼槄id
+     */
+    private Long borrowId;
+    /**
+     * 鍊熼槄浜�
+     */
+    @ApiModelProperty(value = "鍊熼槄浜�")
+    @Excel(name = "鍊熼槄浜�")
+    private String borrower;
+    /**
+     * 褰掕繕浜�
+     */
+    @ApiModelProperty(value = "褰掕繕浜�")
+    @Excel(name = "褰掕繕浜�")
+    private String returner;
+
+    /**
+     * 鍊熼槄鐩殑
+     */
+    @Excel(name = "鍊熼槄鐩殑")
+    @ApiModelProperty(value = "鍊熼槄鐩殑")
+    private String borrowPurpose;
+
+    /**
+     * 鍊熼槄鏃ユ湡
+     */
+
+    @ApiModelProperty(value = "鍊熼槄鏃ユ湡")
+    @Excel(name = "鍊熼槄鏃ユ湡", dateFormat = "yyyy-MM-dd", width = 30)
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDate borrowDate;
+
+    /**
+     * 搴斿綊杩樻棩鏈�
+     */
+    @ApiModelProperty(value = "搴斿綊杩樻棩鏈�")
+    @Excel(name = "搴斿綊杩樻棩鏈�", dateFormat = "yyyy-MM-dd", width = 30)
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate dueReturnDate;
+
+    /**
+     * 瀹為檯褰掕繕鏃ユ湡
+     */
+    @ApiModelProperty(value = "瀹為檯褰掕繕鏃ユ湡")
+    @Excel(name = "瀹為檯褰掕繕鏃ユ湡", dateFormat = "yyyy-MM-dd", width = 30)
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate returnDate;
+
+    /**
+     * 鍊熼槄鐘舵��
+     */
+    @ApiModelProperty(value = "鍊熼槄鐘舵��")
+    @Excel(name = "鍊熼槄鐘舵��")
+    private String borrowStatus;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    @Excel(name = "澶囨敞")
+    private String remark;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    /**
+     * 鍒涘缓鐢ㄦ埛
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    /**
+     * 淇敼鐢ㄦ埛
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    /**
+     * 绉熸埛id
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java
index 91265e3..2a162d2 100644
--- a/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java
+++ b/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java
@@ -2,8 +2,10 @@
 
 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.pojo.DocumentationBorrowManagement;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.warehouse.pojo.DocumentationReturnManagement;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
@@ -22,11 +24,13 @@
 
     boolean deleteByIds(List<Long> ids);
 
-    boolean reventdbm(DocumentationBorrowManagement documentationBorrowManagement);
+    boolean reventdbm(DocumentationReturnManagement documentationReturnManagement);
 
     boolean reventDeleteByIds(List<Long> ids);
 
     void export(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement);
 
-    void exportrevent(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement);
+    void exportrevent(HttpServletResponse response, DocumentationReturnManagement documentationReturnManagement);
+
+    List<DocumentationBorrowManagementDto> listAll();
 }
diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java
index ca6c3ec..32910ce 100644
--- a/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java
+++ b/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java
@@ -8,6 +8,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.Map;
 
 /**
 * @author 86151
@@ -23,4 +24,17 @@
     boolean deleteByIds(List<Long> ids);
 
     List<DocumentationDto> listAll();
+    Integer getTotalDocsCount();
+
+    Integer getCategoryNumCount();
+
+    Integer getBorrowedDocsCount();
+
+    Integer getMonthlyAddedDocsCount();
+
+
+    List<Map<String, Object>> getCategoryDistribution();
+
+
+    List<Map<String, Object>> getStatusDistribution();
 }
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 1e8f2a6..38b8d5a 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java
@@ -8,8 +8,10 @@
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto;
 import com.ruoyi.warehouse.dto.ReturnExportDto;
+import com.ruoyi.warehouse.mapper.DocumentationReturnManagementMapper;
 import com.ruoyi.warehouse.pojo.Documentation;
 import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement;
+import com.ruoyi.warehouse.pojo.DocumentationReturnManagement;
 import com.ruoyi.warehouse.service.DocumentationBorrowManagementService;
 import com.ruoyi.warehouse.mapper.DocumentationBorrowManagementMapper;
 import com.ruoyi.warehouse.service.DocumentationService;
@@ -35,6 +37,8 @@
     @Autowired
     private DocumentationBorrowManagementMapper documentationBorrowManagementMapper;
     @Autowired
+    private DocumentationReturnManagementMapper documentationReturnManagementMapper;
+    @Autowired
     private DocumentationService documentationService;
     @Override
     public IPage<DocumentationBorrowManagement> listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement) {
@@ -45,6 +49,7 @@
 
     @Override
     public boolean add(DocumentationBorrowManagement documentationBorrowManagement) {
+        documentationBorrowManagement.setBorrowStatus("鍊熼槄");
         documentationBorrowManagementMapper.insert(documentationBorrowManagement);
         Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
         documentation.setDocStatus("鍊熷嚭");
@@ -52,15 +57,29 @@
         return true;
     }
     @Override
-    public boolean reventdbm(DocumentationBorrowManagement documentationBorrowManagement) {
+    public boolean reventdbm(DocumentationReturnManagement documentationReturnManagement) {
         // 鏇存柊鍊熼槄璁板綍鐘舵�佷负褰掕繕
-        DocumentationBorrowManagement documentationBorrowManagement1 = documentationBorrowManagementMapper.selectById(documentationBorrowManagement.getId());
-        documentationBorrowManagement1.setReturner(documentationBorrowManagement.getReturner());
+        DocumentationBorrowManagement documentationBorrowManagement1 = documentationBorrowManagementMapper.selectById(documentationReturnManagement.getBorrowId());
+
+        DocumentationReturnManagement returnManagement = new DocumentationReturnManagement();
+        returnManagement.setDocumentationId(documentationBorrowManagement1.getDocumentationId());
+        returnManagement.setBorrower(documentationBorrowManagement1.getBorrower());
+        returnManagement.setBorrowPurpose(documentationBorrowManagement1.getBorrowPurpose());
+        returnManagement.setBorrowDate(documentationBorrowManagement1.getBorrowDate());
+        returnManagement.setDueReturnDate(documentationBorrowManagement1.getDueReturnDate());
+        returnManagement.setBorrowStatus("褰掕繕");
+        returnManagement.setBorrowId(documentationReturnManagement.getBorrowId());
+        returnManagement.setReturner(documentationReturnManagement.getReturner());
+        returnManagement.setReturnDate(LocalDate.now());
+        returnManagement.setRemark(documentationReturnManagement.getRemark());
+
+        documentationReturnManagementMapper.insert(returnManagement);
         documentationBorrowManagement1.setBorrowStatus("褰掕繕");
+        documentationBorrowManagement1.setReturner(documentationReturnManagement.getReturner());
         documentationBorrowManagement1.setReturnDate(LocalDate.now());
         documentationBorrowManagementMapper.updateById(documentationBorrowManagement1);
         // 鏇存柊鏂囨。鐘舵�佷负姝e父
-        Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
+        Documentation documentation = documentationService.getById(documentationBorrowManagement1.getDocumentationId());
         documentation.setDocStatus("姝e父");
         documentationService.updateById(documentation);
         return true;
@@ -68,25 +87,29 @@
 
     @Override
     public boolean reventDeleteByIds(List<Long> ids) {
-        QueryWrapper<DocumentationBorrowManagement> queryWrapper = new QueryWrapper<>();
+        QueryWrapper<DocumentationReturnManagement> queryWrapper = new QueryWrapper<>();
         queryWrapper.in("id", ids);
-        queryWrapper.eq("borrow_status", "褰掕繕");
-        List<DocumentationBorrowManagement> list = documentationBorrowManagementMapper.selectList(queryWrapper);
-        for (DocumentationBorrowManagement documentationBorrowManagement : list) {
+//        queryWrapper.eq("borrow_status", "褰掕繕");
+        List<DocumentationReturnManagement> list = documentationReturnManagementMapper.selectList(queryWrapper);
+
+        for (DocumentationReturnManagement documentationReturnManagement : list) {
+
             try {
+                documentationReturnManagementMapper.deleteById(documentationReturnManagement);
+                DocumentationBorrowManagement documentationBorrowManagement = documentationBorrowManagementMapper.selectById(documentationReturnManagement.getBorrowId());
                 documentationBorrowManagement.setBorrowStatus("鍊熼槄");
+                documentationBorrowManagement.setReturner(null);
                 documentationBorrowManagement.setReturnDate(null);
                 documentationBorrowManagementMapper.updateById(documentationBorrowManagement);
 
-                Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
-                if (documentation != null) {
-                    documentation.setDocStatus("鍊熷嚭");
-                    documentationService.updateById(documentation);
-                }
+                Documentation documentation = documentationService.getById(documentationReturnManagement.getDocumentationId());
+                documentation.setDocStatus("鍊熷嚭");
+                documentationService.updateById(documentation);
             } catch (Exception e) {
-                throw new RuntimeException("鏇存柊鍊熼槄璁板綍鍜屾枃妗g姸鎬佹椂鍑洪敊", e);
+                throw new RuntimeException("鍒犻櫎褰掕繕璁板綍鍜屾枃妗g姸鎬佹椂鍑洪敊", e);
             }
         }
+//        documentationReturnManagementMapper.deleteBatchIds(ids);
         return true;
     }
 
@@ -98,10 +121,15 @@
     }
 
     @Override
-    public void exportrevent(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement) {
-        List<ReturnExportDto> documentationBorrowManagements = documentationBorrowManagementMapper.exportrevent(documentationBorrowManagement);
+    public void exportrevent(HttpServletResponse response, DocumentationReturnManagement documentationReturnManagement) {
+        List<ReturnExportDto> documentationReturnManagements = documentationReturnManagementMapper.exportrevent(documentationReturnManagement);
         ExcelUtil<ReturnExportDto> util = new ExcelUtil<>(ReturnExportDto.class);
-        util.exportExcel(response, documentationBorrowManagements, "鏂囨。鍊熼槄-褰掕繕璁板綍");
+        util.exportExcel(response, documentationReturnManagements, "鏂囨。鍊熼槄-褰掕繕璁板綍");
+    }
+
+    @Override
+    public List<DocumentationBorrowManagementDto> listAll() {
+        return documentationBorrowManagementMapper.list(new LambdaQueryWrapper<DocumentationBorrowManagementDto>().eq(DocumentationBorrowManagementDto::getBorrowStatus, "鍊熼槄"));
     }
 
     @Override
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 210401e..5a7cf30 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java
@@ -15,6 +15,8 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
 * @author 86151
@@ -50,10 +52,62 @@
         }
         return true;
     }
-
+    /**
+     * 鍒楄〃鎵�鏈夋枃妗�
+     * @return
+     */
     @Override
     public List<DocumentationDto> listAll() {
-        return documentationMapper.list();
+        List<DocumentationDto> list = documentationMapper.list().stream().filter(documentationDto -> "姝e父".equals(documentationDto.getDocStatus())).collect(Collectors.toList());
+        return list;
+    }
+    /**
+     * 鑾峰彇鏂囨。鎬绘暟
+     * @return
+     */
+    @Override
+    public Integer getTotalDocsCount() {
+        return documentationMapper.countTotalDocs();
+    }
+    /**
+     * 鑾峰彇鏂囨。鍒嗙被鎬绘暟
+     * @return
+     */
+    @Override
+    public Integer getCategoryNumCount() {
+        return documentationMapper.countCategoryNum();
+    }
+    /**
+     * 鑾峰彇宸插�熷嚭鏂囨。鎬绘暟
+     * @return
+     */
+    @Override
+    public Integer getBorrowedDocsCount() {
+        return documentationMapper.countBorrowedDocs();
+    }
+    /**
+     * 鑾峰彇姣忔湀鏂板鏂囨。鎬绘暟
+     * @return
+     */
+    @Override
+    public Integer getMonthlyAddedDocsCount() {
+        return documentationMapper.countMonthlyAddedDocs();
+    }
+    /**
+     * 鑾峰彇鏂囨。鍒嗙被鍒嗗竷
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getCategoryDistribution() {
+        return documentationMapper.countCategoryDistribution();
+    }
+    /**
+     * 鑾峰彇鏂囨。鐘舵�佸垎甯�
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getStatusDistribution() {
+        return documentationMapper.countStatusDistribution();
     }
 }
 
diff --git a/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml b/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml
index d29d24a..18b2082 100644
--- a/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml
+++ b/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml
@@ -76,28 +76,13 @@
             and borrow_date &lt;= DATE_FORMAT(#{documentationBorrowManagement.entryDateEnd},'%Y-%m-%d')
         </if>
     </select>
-    <select id="exportrevent" resultType="com.ruoyi.warehouse.dto.ReturnExportDto">
+    <select id="list" resultType="com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto">
         select dbm.*,doc.doc_name
         from documentation_borrow_management dbm
         LEFT JOIN documentation doc on doc.id = dbm.documentation_id
-        where dbm.returner IS NOT NULL
-        <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.borrower != null">
-            and borrower like concat('%',#{documentationBorrowManagement.borrower},'%')
-        </if>
-        <if test="documentationBorrowManagement.returner != null">
-            and returner like concat('%',#{documentationBorrowManagement.returner},'%')
-        </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 test="ew != null">
+            ${ew.customSqlSegment}
         </if>
     </select>
+
 </mapper>
diff --git a/src/main/resources/mapper/warehouse/DocumentationReturnManagementMapper.xml b/src/main/resources/mapper/warehouse/DocumentationReturnManagementMapper.xml
new file mode 100644
index 0000000..dabc4f0
--- /dev/null
+++ b/src/main/resources/mapper/warehouse/DocumentationReturnManagementMapper.xml
@@ -0,0 +1,57 @@
+<?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.DocumentationReturnManagementMapper">
+
+
+    <select id="listPage" resultType="com.ruoyi.warehouse.dto.DocumentationReturnManagementDto">
+        select dbm.*,doc.doc_name
+        from documentation_return_management dbm
+        LEFT JOIN documentation doc on doc.id = dbm.documentation_id
+        where 1=1
+        <if test="documentationReturnManagement.borrowStatus != null">
+            and borrow_status = #{documentationReturnManagement.borrowStatus}
+        </if>
+        <if test="documentationReturnManagement.documentationId != null">
+            and documentation_id = #{documentationReturnManagement.documentationId}
+        </if>
+        <if test="documentationReturnManagement.borrower != null">
+            and borrower like concat('%',#{documentationReturnManagement.borrower},'%')
+        </if>
+        <if test="documentationReturnManagement.returner != null">
+            and returner like concat('%',#{documentationReturnManagement.returner},'%')
+        </if>
+        <if test="documentationReturnManagement.entryDateStart != null and documentationReturnManagement.entryDateStart != ''">
+            and return_date >= DATE_FORMAT(#{documentationReturnManagement.entryDateStart},'%Y-%m-%d')
+        </if>
+        <if test="documentationReturnManagement.entryDateEnd != null and documentationReturnManagement.entryDateEnd != ''">
+            and return_date &lt;= DATE_FORMAT(#{documentationReturnManagement.entryDateEnd},'%Y-%m-%d')
+        </if>
+    </select>
+
+    <select id="exportrevent" resultType="com.ruoyi.warehouse.dto.ReturnExportDto">
+        select dbm.*,doc.doc_name
+        from documentation_return_management dbm
+        LEFT JOIN documentation doc on doc.id = dbm.documentation_id
+        where dbm.returner IS NOT NULL
+        <if test="documentationReturnManagement.returnStatus != null">
+            and return_status = #{documentationReturnManagement.returnStatus}
+        </if>
+        <if test="documentationReturnManagement.documentationId != null">
+            and documentation_id = #{documentationReturnManagement.documentationId}
+        </if>
+        <if test="documentationReturnManagement.borrower != null">
+            and borrower like concat('%',#{documentationReturnManagement.borrower},'%')
+        </if>
+        <if test="documentationReturnManagement.returner != null">
+            and returner like concat('%',#{documentationReturnManagement.returner},'%')
+        </if>
+        <if test="documentationReturnManagement.entryDateStart != null and documentationReturnManagement.entryDateStart != ''">
+            and return_date >= DATE_FORMAT(#{documentationReturnManagement.entryDateStart},'%Y-%m-%d')
+        </if>
+        <if test="documentationReturnManagement.entryDateEnd != null and documentationReturnManagement.entryDateEnd != ''">
+            and return_date &lt;= DATE_FORMAT(#{documentationReturnManagement.entryDateEnd},'%Y-%m-%d')
+        </if>
+    </select>
+</mapper>
diff --git a/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml
index aa2a16a..87dfa32 100644
--- a/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml
+++ b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml
@@ -4,16 +4,23 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper">
     <select id="findList" resultType="com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto">
+--         SELECT
+--         wgsr.*,
+--         w.warehouse_name,
+--         wgs.name,
+--         dc.category
+--         FROM warehouse_goods_shelves_rowcol wgsr
+--         LEFT JOIN documentation doc ON doc.warehouse_goods_shelves_rowcol_id = wgsr.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
+--         LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id
         SELECT
         wgsr.*,
         w.warehouse_name,
-        wgs.name,
-        dc.category
+        wgs.name
         FROM warehouse_goods_shelves_rowcol wgsr
-        LEFT JOIN documentation doc ON doc.warehouse_goods_shelves_rowcol_id = wgsr.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
-        LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id
         <where>
             1=1
             <if test="warehouseGoodsShelvesRowcol.row != null">

--
Gitblit v1.9.3