| | |
| | | } |
| | | |
| | | @Override |
| | | public List<DocumentMaterialsVo> findArchMInfo(String recordId) { |
| | | public List<DocumentMaterialsVo> findArchMInfo(String recordId, long pageCount) { |
| | | // 获取原始数据列表 |
| | | List<DocumentMaterialsVo> dataList = this.baseMapper.getArchiveMatInfo(Integer.parseInt(recordId)); |
| | | |
| | | // 获取该案卷的最大页号(总页数) |
| | | Long totalPages = this.baseMapper.getMaxPageNumber(Integer.parseInt(recordId)); |
| | | Long totalPages = (long) pageCount; |
| | | //this.baseMapper.getMaxPageNumber(Integer.parseInt(recordId)); |
| | | |
| | | // 如果数据列表不为空 |
| | | if (dataList != null && !dataList.isEmpty() && totalPages != null) { |
| | |
| | | } |
| | | } |
| | | |
| | | return dataList; |
| | | } |
| | | |
| | | @Override |
| | | public List<DocumentMaterialsVoMid> findArchMInfoAll(String recordId, long pageCount) { |
| | | // 获取原始数据列表 |
| | | List<DocumentMaterialsVoMid> dataList = this.baseMapper.getArchiveMatInfoAll(Integer.parseInt(recordId)); |
| | | |
| | | // 获取该案卷的最大页号(总页数) |
| | | Long totalPages = (long) pageCount; |
| | | //this.baseMapper.getMaxPageNumber(Integer.parseInt(recordId)); |
| | | |
| | | // 如果数据列表不为空 |
| | | if (dataList != null && !dataList.isEmpty() && totalPages != null) { |
| | | int size = dataList.size(); |
| | | |
| | | // 遍历所有条目,设置pageNumberFormatted |
| | | for (int i = 0; i < size; i++) { |
| | | DocumentMaterialsVoMid item = dataList.get(i); |
| | | Long pageNumber = item.getPageNumber(); |
| | | |
| | | if (i == size - 1) { |
| | | // 最后一行:格式化页号为"最后一页页号-总页数"的形式 |
| | | item.setPageNumberFormatted(pageNumber + "-" + totalPages); |
| | | } else { |
| | | // 其他行:直接使用pageNumber的值 |
| | | item.setPageNumberFormatted(pageNumber != null ? pageNumber.toString() : ""); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return dataList; |
| | | } |
| | | |
| | |
| | | public int getFileCount(Integer recordId) { |
| | | return this.baseMapper.getCount(recordId); |
| | | } |
| | | |
| | | |
| | | public List<DocumentMaterials> SelectAllRecordsByPageNumbersToList(Long recordId, Long maxPageNumber) { |
| | | // 获取指定recordId下的所有记录,按页号升序排列 |
| | | LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.eq(DocumentMaterials::getRecordId, recordId); |
| | | lqw.ne(DocumentMaterials::getFileStyle, "其他材料"); |
| | | lqw.orderByAsc(DocumentMaterials::getPageNumber); |
| | | List<DocumentMaterials> records = this.list(lqw); |
| | | |
| | | if (records == null || records.isEmpty()) { |
| | | // return AjaxResult.success("没有找到指定记录"); |
| | | return null; |
| | | } |
| | | |
| | | List<DocumentMaterials> middleRecords = new ArrayList<>(); |
| | | int startFileNumber = 1; |
| | | // 遍历记录,找出需要添加中间页号的位置 |
| | | for (int i = 0; i < records.size() - 1; i++) { |
| | | // startFileNumber = 1; |
| | | int pageOrderNumber = 1; |
| | | DocumentMaterials currentRecord = records.get(i); |
| | | DocumentMaterials nextRecord = records.get(i + 1); |
| | | currentRecord.setFileNumber((long) startFileNumber); |
| | | currentRecord.setPageOrder((long) pageOrderNumber++); |
| | | middleRecords.add(currentRecord); |
| | | long currentPage = currentRecord.getPageNumber(); |
| | | long nextPage = nextRecord.getPageNumber(); |
| | | |
| | | // 如果当前页号和下一页号之间有间隔 |
| | | if (nextPage - currentPage > 1) { |
| | | // 添加中间页号的记录,信息与当前记录保持一致 |
| | | for (long page = currentPage + 1; page < nextPage; page++) { |
| | | DocumentMaterials newRecord = new DocumentMaterials(); |
| | | // 复制当前记录的所有属性 |
| | | BeanUtils.copyBeanProp(newRecord, currentRecord); |
| | | // 设置新的页号 |
| | | newRecord.setPageNumber(page); |
| | | // 清除ID,确保是新记录 |
| | | newRecord.setMaterialId(null); |
| | | // 设置创建时间 |
| | | newRecord.setCreatedAt(new Date()); |
| | | // 重置文件材料序号为null,让系统自动生成 |
| | | newRecord.setFileNumber((long) startFileNumber); |
| | | // 重置页次为null,让系统自动生成 |
| | | newRecord.setPageOrder((long) pageOrderNumber++); |
| | | // 重置图像相关字段,以便上传文件时更新 |
| | | newRecord.setSizeType(null); |
| | | newRecord.setWidth(null); |
| | | newRecord.setHeight(null); |
| | | newRecord.setHorizontalResolution(null); |
| | | newRecord.setVerticalResolution(null); |
| | | newRecord.setFileSize(null); |
| | | newRecord.setFormat(null); |
| | | newRecord.setUrl(null); |
| | | //不在前端显示 |
| | | newRecord.setVisible(0); |
| | | // 添加到中间记录列表 |
| | | middleRecords.add(newRecord); |
| | | } |
| | | } |
| | | //下一次加1 |
| | | startFileNumber++; |
| | | } |
| | | |
| | | // 处理最后一条记录到maxPageNumber之间的间隔 |
| | | // int startLastFileNumber = 1; |
| | | DocumentMaterials lastRecord = records.get(records.size() - 1); |
| | | lastRecord.setFileNumber((long) startFileNumber); |
| | | int lastpageordernumber = 1; |
| | | lastRecord.setPageOrder((long) lastpageordernumber); |
| | | long lastPage = lastRecord.getPageNumber(); |
| | | middleRecords.add(lastRecord); |
| | | if (maxPageNumber > lastPage) { |
| | | // 添加从lastPage+1到maxPageNumber之间的中间记录 |
| | | for (long page = lastPage + 1; page <= maxPageNumber; page++) { |
| | | DocumentMaterials newRecord = new DocumentMaterials(); |
| | | // 复制最后一条记录的所有属性 |
| | | BeanUtils.copyBeanProp(newRecord, lastRecord); |
| | | // 设置新的页号 |
| | | newRecord.setPageNumber(page); |
| | | // 清除ID,确保是新记录 |
| | | newRecord.setMaterialId(null); |
| | | // 设置创建时间 |
| | | newRecord.setCreatedAt(new Date()); |
| | | // 重置文件材料序号为null,让系统自动生成 |
| | | newRecord.setFileNumber((long) startFileNumber); |
| | | // 重置页次为null,让系统自动生成 |
| | | newRecord.setPageOrder((long) lastpageordernumber++); |
| | | // 重置图像相关字段,以便上传文件时更新 |
| | | newRecord.setSizeType(null); |
| | | newRecord.setWidth(null); |
| | | newRecord.setHeight(null); |
| | | newRecord.setHorizontalResolution(null); |
| | | newRecord.setVerticalResolution(null); |
| | | newRecord.setFileSize(null); |
| | | newRecord.setFormat(null); |
| | | newRecord.setUrl(null); |
| | | newRecord.setVisible(0); |
| | | |
| | | // 添加到中间记录列表 |
| | | middleRecords.add(newRecord); |
| | | } |
| | | } |
| | | |
| | | return middleRecords; |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult addMiddleRecordsByPageNumbers(Long recordId, Long maxPageNumber) { |
| | | try { |