liu
2026-10-19 555a0724a2d62c6fb2faa9bf7abc57cd241880e6
fix(mes): 修复归档台账导出提示系统异常

导出接口向返回 IPage 的 Mapper 方法传入 null 分页对象,
MyBatis-Plus 抛出 can't found IPage for args!,被全局异常处理为"系统异常"。
改为传入 size=-1、searchCount=false 的分页对象实现不分页导出。

同时修正列表分页:Page 参数改由 PageReqVO 的 pageNo/pageSize 构造,
确保前端分页参数真正生效。

Co-Authored-By: Claude <noreply@anthropic.com>
已修改1个文件
8 ■■■■■ 文件已修改
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/archive/MesPdArchiveController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/archive/MesPdArchiveController.java
@@ -83,8 +83,8 @@
    @GetMapping("/page")
    @Operation(summary = "获得归档台账分页(按项目/产品聚合)")
    @PreAuthorize("@ss.hasPermission('mes:pd-archive:query')")
    public CommonResult<PageResult<MesPdArchiveRespVO>> getArchivePage(@Valid MesPdArchivePageReqVO pageReqVO,
                                                                        Page<MesPdArchiveGroupRespVO> page) {
    public CommonResult<PageResult<MesPdArchiveRespVO>> getArchivePage(@Valid MesPdArchivePageReqVO pageReqVO) {
        Page<MesPdArchiveGroupRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
        IPage<MesPdArchiveGroupRespVO> archivePage = archiveService.getArchivePageGroupByProject(pageReqVO, page);
        return CommonResult.success(new PageResult<>(
                buildArchiveRespVOList(archivePage.getRecords()), archivePage.getTotal()));
@@ -105,7 +105,9 @@
    public void exportArchiveExcel(@Valid MesPdArchivePageReqVO pageReqVO,
                                   HttpServletResponse response) throws IOException {
        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
        IPage<MesPdArchiveGroupRespVO> archivePage = archiveService.getArchivePageGroupByProject(pageReqVO, null);
        // 注意:Mapper 返回 IPage,必须传入非空的分页对象;size=-1 表示不分页,searchCount=false 跳过 count 查询
        Page<MesPdArchiveGroupRespVO> page = new Page<>(1, PageParam.PAGE_SIZE_NONE, false);
        IPage<MesPdArchiveGroupRespVO> archivePage = archiveService.getArchivePageGroupByProject(pageReqVO, page);
        ExcelUtils.write(response, "归档台账.xls", "数据", MesPdArchiveRespVO.class,
                buildArchiveRespVOList(archivePage.getRecords()));
    }