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 | 227 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 182 insertions(+), 45 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 800b22a..f34a9d5 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -6,10 +6,12 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.MapUtils;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.domain.ArchiveCategory;
+import com.ruoyi.domain.ArchiveRecords;
import com.ruoyi.domain.DocumentMaterials;
import com.ruoyi.domain.vo.*;
import com.ruoyi.mapper.DocumentMaterialsMapper;
@@ -40,6 +42,9 @@
.like(!StringUtils.isEmpty(documentMaterials.getPublicity()), DocumentMaterials::getPublicity, documentMaterials.getPublicity())
.like(!StringUtils.isEmpty(documentMaterials.getRetentionPeriod()), DocumentMaterials::getRetentionPeriod, documentMaterials.getRetentionPeriod())
.like(!StringUtils.isEmpty(documentMaterials.getSecurityLevel()), DocumentMaterials::getSecurityLevel, documentMaterials.getSecurityLevel())
+ .like(!StringUtils.isEmpty(documentMaterials.getTitle()), DocumentMaterials::getTitle, documentMaterials.getTitle())
+
+
.eq(documentMaterials.getDate()!=null, DocumentMaterials::getDate, documentMaterials.getDate())
.eq(documentMaterials.getRecordId()!=null, DocumentMaterials::getRecordId, documentMaterials.getRecordId())
.eq(documentMaterials.getPageNumber()!=null, DocumentMaterials::getPageNumber, documentMaterials.getPageNumber());
@@ -148,59 +153,79 @@
}
@Override
+ public List<DocumentMaterials> selectDocumentMaterialsByIds(Long[] ids) {
+ // 鑾峰彇褰撳墠鐢ㄦ埛ID
+ Long userid = SecurityUtils.getUserId();
+
+ // 鍒涘缓鏌ヨ鏉′欢
+ LambdaQueryWrapper<DocumentMaterials> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+
+ // 鏍规嵁ids鏌ヨ
+ lambdaQueryWrapper.in(DocumentMaterials::getMaterialId, Arrays.asList(ids));
+ lambdaQueryWrapper.orderByAsc(DocumentMaterials::getPageNumber);
+ // 濡傛灉涓嶆槸绠$悊鍛橈紝闇�瑕佽�冭檻鏉冮檺杩囨护锛堝彲鏍规嵁瀹為檯鏉冮檺闇�姹傝皟鏁达級
+ if (userid != 1) {
+ // 杩欓噷鍙互娣诲姞鏉冮檺鐩稿叧鐨勮繃婊ゆ潯浠�
+ }
+
+ List<DocumentMaterials> beanRecords = list(lambdaQueryWrapper);
+ return beanRecords;
+ }
+
+ @Override
public int updateDocumentMaterials(DocumentMaterials documentMaterials) {
boolean result = false;
try {
- //淇敼椤靛彿鎴愬姛涔嬪悗锛岃閲嶆柊鐢熸垚鏂囦欢鏉愭枡搴忓彿锛岄〉娆�
- //鏍规嵁pageNumber鎷垮埌title锛岀劧鍚庤绠梡ageOrder
- LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
- lqw.eq(documentMaterials.getRecordId()!=null, DocumentMaterials::getRecordId, documentMaterials.getRecordId());
- lqw.eq(documentMaterials.getPageNumber()!=null, DocumentMaterials::getPageNumber, documentMaterials.getPageNumber());
- List<DocumentMaterials> records = list(lqw);
+// //淇敼椤靛彿鎴愬姛涔嬪悗锛岃閲嶆柊鐢熸垚鏂囦欢鏉愭枡搴忓彿锛岄〉娆�
+// //鏍规嵁pageNumber鎷垮埌title锛岀劧鍚庤绠梡ageOrder
+// LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
+// lqw.eq(documentMaterials.getRecordId()!=null, DocumentMaterials::getRecordId, documentMaterials.getRecordId());
+// lqw.eq(documentMaterials.getPageNumber()!=null, DocumentMaterials::getPageNumber, documentMaterials.getPageNumber());
+// List<DocumentMaterials> records = list(lqw);
-
- //璁$畻pageOrder
- Long pageOrder = 1L;
- if(documentMaterials.getPageNumber().equals(1))
- pageOrder = 1L;
- else {
- Long maxPOrder = this.baseMapper.getMaxPageOrder(records.get(0).getTitle(), documentMaterials.getPageNumber(), records.get(0).getStage(), documentMaterials.getRecordId());
- if (maxPOrder != null)
- pageOrder = maxPOrder + 1;
- }
- //璁剧疆pageOrder
- documentMaterials.setPageOrder(pageOrder);
- //璁$畻fileNumber
- Long fileNumber = this.getFiNum(documentMaterials.getPageNumber(), documentMaterials.getRecordId());
- documentMaterials.setFileNumber(fileNumber);
+//
+// //璁$畻pageOrder
+// Long pageOrder = 1L;
+// if(documentMaterials.getPageNumber().equals(1))
+// pageOrder = 1L;
+// else {
+// Long maxPOrder = this.baseMapper.getMaxPageOrder(records.get(0).getTitle(), documentMaterials.getPageNumber(), records.get(0).getStage(), documentMaterials.getRecordId());
+// if (maxPOrder != null)
+// pageOrder = maxPOrder + 1;
+// }
+// //璁剧疆pageOrder
+// documentMaterials.setPageOrder(pageOrder);
+// //璁$畻fileNumber
+// Long fileNumber = this.getFiNum(documentMaterials.getPageNumber(), documentMaterials.getRecordId());
+// documentMaterials.setFileNumber(fileNumber);
//淇敼椤靛彿
result = updateById(documentMaterials);
- //鎶婂墿涓嬫墍鏈夌殑鐨刦ileNumber鍜宲ageOrder閮芥洿鏂颁竴閬�
- LambdaQueryWrapper<DocumentMaterials> lqw1 = new LambdaQueryWrapper<>();
- lqw.eq(documentMaterials.getRecordId()!=null, DocumentMaterials::getRecordId, documentMaterials.getRecordId());
- // lqw.eq(documentMaterials.getPageNumber()!=null, DocumentMaterials::getPageNumber, documentMaterials.getPageNumber());
- List<DocumentMaterials> recordss = list(lqw1);
- for(DocumentMaterials dt: recordss)
- {
- //璁$畻pageOrder
- Long pageOrder1 = 1L;
- if(dt.getPageNumber().equals(1))
- pageOrder1 = 1L;
- else {
- Long maxPOrder1 = this.baseMapper.getMaxPageOrder(dt.getTitle(), dt.getPageNumber(), dt.getStage(), dt.getRecordId());
- if (maxPOrder1 != null)
- pageOrder1 = maxPOrder1 + 1;
- }
- //璁剧疆pageOrder
- dt.setPageOrder(pageOrder1);
- //璁$畻fileNumber
- Long fileNumber1 = this.getFiNum(dt.getPageNumber(), dt.getRecordId());
- dt.setFileNumber(fileNumber1);
- //淇敼椤靛彿
- updateById(dt);
- }
+// //鎶婂墿涓嬫墍鏈夌殑鐨刦ileNumber鍜宲ageOrder閮芥洿鏂颁竴閬�
+// LambdaQueryWrapper<DocumentMaterials> lqw1 = new LambdaQueryWrapper<>();
+// lqw.eq(documentMaterials.getRecordId()!=null, DocumentMaterials::getRecordId, documentMaterials.getRecordId());
+// // lqw.eq(documentMaterials.getPageNumber()!=null, DocumentMaterials::getPageNumber, documentMaterials.getPageNumber());
+// List<DocumentMaterials> recordss = list(lqw1);
+// for(DocumentMaterials dt: recordss)
+// {
+// //璁$畻pageOrder
+// Long pageOrder1 = 1L;
+// if(dt.getPageNumber().equals(1))
+// pageOrder1 = 1L;
+// else {
+// Long maxPOrder1 = this.baseMapper.getMaxPageOrder(dt.getTitle(), dt.getPageNumber(), dt.getStage(), dt.getRecordId());
+// if (maxPOrder1 != null)
+// pageOrder1 = maxPOrder1 + 1;
+// }
+// //璁剧疆pageOrder
+// dt.setPageOrder(pageOrder1);
+// //璁$畻fileNumber
+// Long fileNumber1 = this.getFiNum(dt.getPageNumber(), dt.getRecordId());
+// dt.setFileNumber(fileNumber1);
+// //淇敼椤靛彿
+// updateById(dt);
+// }
} catch (Exception e) {
@@ -299,4 +324,116 @@
else
return null;
}
+
+ @Override
+ 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