lead
6 天以前 bc00242ee0410684eb9f4c5fe0aa486dfebb3162
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/archive/MesPdArchiveController.java
@@ -83,8 +83,10 @@
    @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) {
        // 分页参数只能从 pageReqVO 取:签名里再放一个 Page 参数会被 Spring 单独按 current/size 绑定成默认的 1/10,
        // 前端传的 pageNo/pageSize 全被丢掉,台账就永远只返回前 10 条、翻页也不动(列表看不出从 9/17 往后的日期)。
        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()));
@@ -104,8 +106,11 @@
    @ApiAccessLog(operateType = EXPORT)
    public void exportArchiveExcel(@Valid MesPdArchivePageReqVO pageReqVO,
                                   HttpServletResponse response) throws IOException {
        // 导出需要传入 Page 对象:分组查询走 XML mapper,Page 为 null 时 MyBatis-Plus 会抛
        // MybatisPlusException: can't found IPage for args!(此前这里传 null 直接导致 500)
        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
        IPage<MesPdArchiveGroupRespVO> archivePage = archiveService.getArchivePageGroupByProject(pageReqVO, null);
        Page<MesPdArchiveGroupRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
        IPage<MesPdArchiveGroupRespVO> archivePage = archiveService.getArchivePageGroupByProject(pageReqVO, page);
        ExcelUtils.write(response, "归档台账.xls", "数据", MesPdArchiveRespVO.class,
                buildArchiveRespVOList(archivePage.getRecords()));
    }