yaowanxin
3 天以前 8f4db901aa772a808c243f8a4e39522f6f09d5da
修改完善3
已修改11个文件
已添加4个文件
491 ■■■■ 文件已修改
src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/dto/DocumentationReturnManagementDto.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/mapper/DocumentationReturnManagementMapper.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/pojo/DocumentationReturnManagement.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/service/DocumentationService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/warehouse/DocumentationReturnManagementMapper.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
}
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());
    }
}
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;
}
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);
}
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();
}
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 é’ˆå¯¹è¡¨ã€documentation_borrow_management(文档借阅-归还表)】的数据库操作Mapper
* @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);
}
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;
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;
}
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();
}
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();
}
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);
        // æ›´æ–°æ–‡æ¡£çŠ¶æ€ä¸ºæ­£å¸¸
        Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
        Documentation documentation = documentationService.getById(documentationBorrowManagement1.getDocumentationId());
        documentation.setDocStatus("正常");
        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 documentation = documentationService.getById(documentationReturnManagement.getDocumentationId());
                    documentation.setDocStatus("借出");
                    documentationService.updateById(documentation);
                }
            } catch (Exception e) {
                throw new RuntimeException("更新借阅记录和文档状态时出错", e);
                throw new RuntimeException("删除归还记录和文档状态时出错", 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
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 -> "正常".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();
    }
}
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>
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>
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">