From 2d59c3e55978bd93741dae7a8ff21cf63b9ecf25 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期三, 14 一月 2026 21:16:57 +0800
Subject: [PATCH] 修改了对应代码

---
 archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java |  262 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 255 insertions(+), 7 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 deb0f96..57a32ab 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -73,7 +73,7 @@
     public AjaxResult selectDataList(DocumentMaterials documentMaterials, Integer pageNum, Integer pageSize) {
         LambdaQueryWrapper<DocumentMaterials> lqw = buildCondition(documentMaterials);
 
-
+        lqw.eq(true, DocumentMaterials::getVisible, 1);
         Page<DocumentMaterials> zfClanPage = new Page<>(pageNum, pageSize);
         Page<DocumentMaterials> pageResult = page(zfClanPage, lqw);
 
@@ -113,13 +113,42 @@
     public List<DocumentMaterials> selectDocumentMaterialsList(DocumentMaterials documentMaterials) {
         LambdaQueryWrapper<DocumentMaterials> lambdaQueryWrapper = buildCondition(documentMaterials);
         List<DocumentMaterials> beanRecords = list(lambdaQueryWrapper);
+        int size = beanRecords.size();
+        // 鑾峰彇璇ユ鍗风殑鏈�澶ч〉鍙凤紙鎬婚〉鏁帮級
+        Long totalPages = this.baseMapper.getMaxPageNumber(documentMaterials.getRecordId().intValue());
+
+        // 閬嶅巻鎵�鏈夋潯鐩紝璁剧疆pageNumberFormatted
+        for (int i = 0; i < size; i++) {
+            DocumentMaterials item = beanRecords.get(i);
+            Long pageNumber = item.getPageNumber();
+
+            if (i == size - 1) {
+                // 鏈�鍚庝竴琛岋細鏍煎紡鍖栭〉鍙蜂负"鏈�鍚庝竴椤甸〉鍙�-鎬婚〉鏁�"鐨勫舰寮�
+                item.setPageNumberFormatted(pageNumber + "-" + totalPages);
+            } else {
+                // 鍏朵粬琛岋細鐩存帴浣跨敤pageNumber鐨勫��
+                item.setPageNumberFormatted(pageNumber != null ? pageNumber.toString() : "");
+            }
+            if(item.getSecurityLevel().equals("璇ラ〉鍙﹀瓨"))
+                item.setSecurityLevel("鏅��");
+        }
         return beanRecords;
     }
 
     @Override
     public List<DocumentMaterialsVoLarge> selectDocumentMaterialsAllByRecordId(Long id) {
 
-        return this.baseMapper.getDocumentMaterialsvoLarge(Math.toIntExact(id));
+        List<DocumentMaterialsVoLarge> lists = this.baseMapper.getDocumentMaterialsvoLarge(Math.toIntExact(id));
+        // 閬嶅巻鎵�鏈夋潯鐩紝璁剧疆pageNumberFormatted
+        for (int i = 0; i < lists.size(); i++) {
+            DocumentMaterialsVoLarge item = lists.get(i);
+            Long pageNumber = item.getPageNumber();
+
+
+            if(item.getSecurityLevel().equals("璇ラ〉鍙﹀瓨"))
+                item.setSecurityLevel("鏅��");
+        }
+        return lists;
     }
 
     @Override
@@ -129,8 +158,9 @@
 
     @Override
     public int insertDocumentMaterials(DocumentMaterials documentMaterials) {
+     
+        
         LocalDateTime time = LocalDateTime.now();
-
         Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
         documentMaterials.setCreatedAt(date);
         System.out.println(documentMaterials.getFileStyle());
@@ -142,7 +172,6 @@
         boolean res = false;
         try {
              res = this.save(documentMaterials);
-
         } catch (Exception e) {
             System.out.println(e);
             throw new ErrorcodeExceptionextends(500, "鍚屼竴涓鍗峰唴锛屼笉鍏佽椤电爜閲嶅锛�");
@@ -170,6 +199,15 @@
         }
 
         List<DocumentMaterials> beanRecords = list(lambdaQueryWrapper);
+        // 閬嶅巻鎵�鏈夋潯鐩紝璁剧疆pageNumberFormatted
+        for (int i = 0; i < beanRecords.size(); i++) {
+            DocumentMaterials item = beanRecords.get(i);
+            Long pageNumber = item.getPageNumber();
+
+
+            if(item.getSecurityLevel().equals("璇ラ〉鍙﹀瓨"))
+                item.setSecurityLevel("鏅��");
+        }
         return beanRecords;
     }
 
@@ -264,8 +302,65 @@
     }
 
     @Override
-    public List<DocumentMaterialsVo> findArchMInfo(String recordId) {
-        return this.baseMapper.getArchiveMatInfo(Integer.parseInt(recordId));
+    public List<DocumentMaterialsVo> findArchMInfo(String recordId, long pageCount) {
+        // 鑾峰彇鍘熷鏁版嵁鍒楄〃
+        List<DocumentMaterialsVo> dataList = this.baseMapper.getArchiveMatInfo(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++) {
+                DocumentMaterialsVo 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;
+    }
+
+    @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;
     }
 
     @Override
@@ -291,6 +386,42 @@
             BeanUtils.copyProperties(archiveCategory, documentMaterials);
             documentMaterials.setRecordId(Long.parseLong(recordId));
             documentMaterials.setVisible(1);
+               // 楠岃瘉蹇呭~瀛楁
+        if (StringUtils.isEmpty(documentMaterials.getTitle())) {
+            throw new ErrorcodeExceptionextends(400, "鏂囦欢棰樺悕涓嶈兘涓虹┖");
+        }
+        if (StringUtils.isEmpty(documentMaterials.getFileStyle())) {
+            throw new ErrorcodeExceptionextends(400, "鏉愭枡绫诲瀷涓嶈兘涓虹┖");
+        }
+        // 鏉愭枡绫诲瀷涓嶆槸"鍏跺畠鏉愭枡"鏃讹紝椤靛彿蹇呴』杈撳叆
+        if (!"鍏朵粬鏉愭枡".equals(documentMaterials.getFileStyle()) && documentMaterials.getPageNumber() == null) {
+            throw new ErrorcodeExceptionextends(400, "褰撳墠鏉愭枡绫诲瀷闈炲叾瀹冩潗鏂欙紝椤靛彿蹇呴』杈撳叆");
+        }
+        if (StringUtils.isEmpty(documentMaterials.getIsAttachment())) {
+            throw new ErrorcodeExceptionextends(400, "鏄惁涓洪檮浠朵笉鑳戒负绌�");
+        }
+        if (StringUtils.isEmpty(documentMaterials.getStage())) {
+            throw new ErrorcodeExceptionextends(400, "鎵�澶勯樁娈典笉鑳戒负绌�");
+        }
+        if (StringUtils.isEmpty(documentMaterials.getRetentionPeriod())) {
+            throw new ErrorcodeExceptionextends(400, "淇濈鏈熼檺涓嶈兘涓虹┖");
+        }
+        if (StringUtils.isEmpty(documentMaterials.getIsSensitive())) {
+            throw new ErrorcodeExceptionextends(400, "鏄惁鏁忔劅涓嶈兘涓虹┖");
+        }
+        if (StringUtils.isEmpty(documentMaterials.getIsCanceled())) {
+            throw new ErrorcodeExceptionextends(400, "鏄惁娉ㄩ攢涓嶈兘涓虹┖");
+        }
+            // 鎵嬪姩杞崲瀵嗙骇瀛楁
+//            if ("绉樺瘑".equals(documentMaterials.getSecurityLevel())) {
+//                documentMaterials.setSecurityLevel("璇ラ〉鍙﹀瓨");
+//            }
+//            if ("鍐呴儴鐢ㄥ浘".equals(documentMaterials.getSecurityLevel())) {
+//                documentMaterials.setSecurityLevel("璇ラ〉鍙﹀瓨");
+//            }
+//            if ("鍐呴儴鐢ㄩ��".equals(documentMaterials.getSecurityLevel())) {
+//                documentMaterials.setSecurityLevel("璇ラ〉鍙﹀瓨");
+//            }
             this.insertDocumentMaterials(documentMaterials);
         }
 
@@ -317,7 +448,114 @@
     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());
+                    // 閲嶇疆鏂囦欢鏉愭枡搴忓彿涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+                    newRecord.setFileNumber((long) startFileNumber);
+                    // 閲嶇疆椤垫涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+                    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) {
+            // 娣诲姞浠巐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((long) startFileNumber);
+                // 閲嶇疆椤垫涓簄ull锛岃绯荤粺鑷姩鐢熸垚
+                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 {
@@ -405,6 +643,8 @@
                     newRecord.setFileSize(null);
                     newRecord.setFormat(null);
                     newRecord.setUrl(null);
+                    newRecord.setVisible(0);
+
                     // 娣诲姞鍒颁腑闂磋褰曞垪琛�
                     middleRecords.add(newRecord);
                 }
@@ -422,6 +662,14 @@
             return AjaxResult.error("娣诲姞涓棿璁板綍澶辫触锛�" + e.getMessage());
         }
     }
+
+    @Override
+    public Boolean judgeInfo(int recordId) {
+
+            return  this.baseMapper.judgeArchiveInfo(recordId);
+    }
 }
 
 
+
+

--
Gitblit v1.9.1