From f41e9a8dd4aa5de0de323ffe2377c896cb44ea37 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期五, 05 十二月 2025 18:46:34 +0800
Subject: [PATCH] 修改了对应代码
---
archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 107 insertions(+), 0 deletions(-)
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
index 887bbce..f34a9d5 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -329,4 +329,111 @@
public boolean isPageNumberIslegal(Integer recordId) {
return this.baseMapper.isPageNumberLegal(recordId);
}
+
+ @Override
+ public int getFileCount(Integer recordId) {
+ return this.baseMapper.getCount(recordId);
+ }
+
+ @Override
+ public AjaxResult addMiddleRecordsByPageNumbers(Long recordId, Long maxPageNumber) {
+ try {
+ // 鑾峰彇鎸囧畾recordId涓嬬殑鎵�鏈夎褰曪紝鎸夐〉鍙峰崌搴忔帓鍒�
+ LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
+ lqw.eq(DocumentMaterials::getRecordId, recordId);
+ lqw.orderByAsc(DocumentMaterials::getPageNumber);
+ List<DocumentMaterials> records = this.list(lqw);
+
+ if (records == null || records.isEmpty()) {
+ return AjaxResult.success("娌℃湁鎵惧埌鎸囧畾璁板綍");
+ }
+
+ List<DocumentMaterials> middleRecords = new ArrayList<>();
+
+ // 閬嶅巻璁板綍锛屾壘鍑洪渶瑕佹坊鍔犱腑闂撮〉鍙风殑浣嶇疆
+ for (int i = 0; i < records.size() - 1; i++) {
+ DocumentMaterials currentRecord = records.get(i);
+ DocumentMaterials nextRecord = records.get(i + 1);
+
+ 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());
+ // 閲嶇疆鏂囦欢鏉愭枡搴忓彿涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+ newRecord.setFileNumber(null);
+ // 閲嶇疆椤垫涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+ newRecord.setPageOrder(null);
+ // 閲嶇疆鍥惧儚鐩稿叧瀛楁锛屼互渚夸笂浼犳枃浠舵椂鏇存柊
+ newRecord.setSizeType(null);
+ newRecord.setWidth(null);
+ newRecord.setHeight(null);
+ newRecord.setHorizontalResolution(null);
+ newRecord.setVerticalResolution(null);
+ newRecord.setFileSize(null);
+ newRecord.setFormat(null);
+ newRecord.setUrl(null);
+ // 娣诲姞鍒颁腑闂磋褰曞垪琛�
+ middleRecords.add(newRecord);
+ }
+ }
+ }
+
+ // 澶勭悊鏈�鍚庝竴鏉¤褰曞埌maxPageNumber涔嬮棿鐨勯棿闅�
+ DocumentMaterials lastRecord = records.get(records.size() - 1);
+ long lastPage = lastRecord.getPageNumber();
+
+ if (maxPageNumber > lastPage) {
+ // 娣诲姞浠巐astPage+1鍒癿axPageNumber涔嬮棿鐨勪腑闂磋褰�
+ 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());
+ // 閲嶇疆鏂囦欢鏉愭枡搴忓彿涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+ newRecord.setFileNumber(null);
+ // 閲嶇疆椤垫涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+ newRecord.setPageOrder(null);
+ // 閲嶇疆鍥惧儚鐩稿叧瀛楁锛屼互渚夸笂浼犳枃浠舵椂鏇存柊
+ newRecord.setSizeType(null);
+ newRecord.setWidth(null);
+ newRecord.setHeight(null);
+ newRecord.setHorizontalResolution(null);
+ newRecord.setVerticalResolution(null);
+ newRecord.setFileSize(null);
+ newRecord.setFormat(null);
+ newRecord.setUrl(null);
+ // 娣诲姞鍒颁腑闂磋褰曞垪琛�
+ middleRecords.add(newRecord);
+ }
+ }
+
+ // 鎵归噺淇濆瓨涓棿璁板綍
+ if (!middleRecords.isEmpty()) {
+ this.saveBatch(middleRecords);
+ return AjaxResult.success("鎴愬姛娣诲姞涓棿璁板綍", "娣诲姞鏁伴噺锛�" + middleRecords.size());
+ } else {
+ return AjaxResult.success("娌℃湁闇�瑕佹坊鍔犵殑涓棿璁板綍");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ return AjaxResult.error("娣诲姞涓棿璁板綍澶辫触锛�" + e.getMessage());
+ }
+ }
}
--
Gitblit v1.9.1