From f0aac7e028b09aefa2428a8d66fdb81e466a89fe Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期三, 19 十一月 2025 15:35:52 +0800
Subject: [PATCH] 修改了对应代码

---
 ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtilManySheetFour.java           |    2 
 archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java               |    5 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java |   26 +++++++-
 archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java       |  120 +++++++++++++++++++++++++---------------
 4 files changed, 104 insertions(+), 49 deletions(-)

diff --git a/archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java b/archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java
index 7abb2ba..65fc92c 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/IDocumentMaterialsService.java
@@ -1,6 +1,7 @@
 package com.ruoyi.service;
 
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.domain.ArchiveRecords;
 import com.ruoyi.domain.Archiverecordstouser;
 import com.ruoyi.domain.DocumentMaterials;
 import com.ruoyi.domain.vo.DocumentMaterialFileStyle;
@@ -48,6 +49,7 @@
      * @return
      */
     public int insertDocumentMaterials(DocumentMaterials documentMaterials);
+    public List<DocumentMaterials> selectDocumentMaterialsByIds(Long[] ids);
 
     /**
      * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
@@ -86,4 +88,7 @@
 
     //鏍规嵁pageNumber鎷垮埌document_materials鐨勪俊鎭�
     DocumentMaterials selectByPageNumber(Long pageNumber, Integer recordId);
+
+    //鍒ゆ柇pageNumber鏄惁杩炵画
+    public  boolean isPageNumberIslegal(Integer recordId);
 }
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..887bbce 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,9 @@
         else
             return null;
     }
+
+    @Override
+    public boolean isPageNumberIslegal(Integer recordId) {
+        return this.baseMapper.isPageNumberLegal(recordId);
+    }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
index 2911d98..34bb6ac 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
@@ -22,6 +22,7 @@
 import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.common.utils.file.FileUtils;
 import com.ruoyi.domain.ArchiveCategory;
+import com.ruoyi.domain.ArchiveRecords;
 import com.ruoyi.domain.DocumentMaterials;
 import com.ruoyi.domain.vo.DocumentMaterialFileSmallVo;
 import com.ruoyi.framework.config.ServerConfig;
@@ -62,6 +63,18 @@
     @Autowired
     private IDocumentMaterialsService documentMaterialsService;
 
+
+    /**
+     * 鍒ゆ柇PageNumber鏄惁杩炵画
+     */
+    @PreAuthorize("@ss.hasPermi('system:materials:list')")
+    @GetMapping("/isPageNubLegal/{recordId}")
+    public AjaxResult judgePageLegal(@PathVariable("recordId") Integer recordId)
+    {
+
+        boolean res = documentMaterialsService.isPageNumberIslegal(recordId);
+        return AjaxResult.success(res); 
+    }
     /**
      * 鏌ヨ銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戝垪琛�
      */
@@ -69,7 +82,6 @@
     @GetMapping("/list")
     public AjaxResult list(DocumentMaterials documentMaterials)
     {
-
         Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
         Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
         return documentMaterialsService.selectDataList(documentMaterials, pageNum, pageSize);
@@ -81,9 +93,17 @@
     @PreAuthorize("@ss.hasPermi('system:materials:export')")
     @Log(title = "銆愭枃浠舵潗鏂欑患鍚堜俊鎭��", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, DocumentMaterials documentMaterials)
+    public void export(HttpServletResponse response, DocumentMaterials documentMaterials, @RequestParam(value = "ids", required = false) Long[] ids)
     {
-        List<DocumentMaterials> list = documentMaterialsService.selectDocumentMaterialsList(documentMaterials);
+        List<DocumentMaterials> list;
+        System.out.println(ids);
+        // 濡傛灉鎻愪緵浜唅ds鍙傛暟锛屽垯鏍规嵁ids瀵煎嚭鎸囧畾璁板綍
+        if (ids != null && ids.length > 0) {
+            list = documentMaterialsService.selectDocumentMaterialsByIds(ids);
+        } else {
+            list = documentMaterialsService.selectDocumentMaterialsList(documentMaterials);
+
+        }
         ExcelUtil<DocumentMaterials> util = new ExcelUtil<DocumentMaterials>(DocumentMaterials.class);
         util.exportExcel(response, list, "銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戞暟鎹�");
     }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtilManySheetFour.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtilManySheetFour.java
index 336aeb0..96852e9 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtilManySheetFour.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtilManySheetFour.java
@@ -656,7 +656,7 @@
             sheet.setColumnWidth(column, 6000);
         } else {
             // 璁剧疆鍒楀
-            sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256));
+            sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 200));
         }
         // 濡傛灉璁剧疆浜嗘彁绀轰俊鎭垯榧犳爣鏀句笂鍘绘彁绀�.
         if (StringUtils.isNotEmpty(attr.prompt())) {

--
Gitblit v1.9.1