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

---
 archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java               |    3 +
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml                          |    4 +
 archiveManager/src/main/java/com/ruoyi/service/IArchiveRecordsService.java               |    8 ++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java |   19 ++++++---
 archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java       |   22 +++++++++++
 archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java    |   61 ++++++++++++++++++++++++++++++
 6 files changed, 108 insertions(+), 9 deletions(-)

diff --git a/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java b/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
index d27ea19..024585a 100644
--- a/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
+++ b/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
@@ -63,4 +63,7 @@
             "where record_id=#{recordId} GROUP BY file_style")
 
     List<DocumentMaterialFileStyle> getFileStyleInfo(@Param("recordId") int recordId);
+
+    @Select("select if(count(*) < max(page_number), false, true) as res from document_materials where record_id=#{recordId}")
+    boolean isPageNumberLegal(@Param("recordId") int recordId);
 }
diff --git a/archiveManager/src/main/java/com/ruoyi/service/IArchiveRecordsService.java b/archiveManager/src/main/java/com/ruoyi/service/IArchiveRecordsService.java
index cd3dd9a..a95650e 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/IArchiveRecordsService.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/IArchiveRecordsService.java
@@ -38,6 +38,14 @@
      * @return 妗f璁板綍闆嗗悎
      */
     public List<ArchiveRecords> selectArchiveRecordsList(ArchiveRecords archiveRecords);
+    
+    /**
+     * 鏍规嵁ids鏌ヨ妗f璁板綍鍒楄〃
+     * 
+     * @param ids 妗f璁板綍涓婚敭闆嗗悎
+     * @return 妗f璁板綍闆嗗悎
+     */
+    public List<ArchiveRecords> selectArchiveRecordsByIds(Long[] ids);
 
     /**
      * 鏂板妗f璁板綍
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
index b7a0777..9ac9f0e 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
@@ -24,6 +24,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
+import java.util.Arrays;
 
 /**
  * 妗f璁板綍Service涓氬姟灞傚鐞�
@@ -183,6 +184,27 @@
 
         return beanRecords;
     }
+    
+    @Override
+    public List<ArchiveRecords> selectArchiveRecordsByIds(Long[] ids)
+    {
+        // 鑾峰彇褰撳墠鐢ㄦ埛ID
+        Long userid = SecurityUtils.getUserId();
+        
+        // 鍒涘缓鏌ヨ鏉′欢
+        LambdaQueryWrapper<ArchiveRecords> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        
+        // 鏍规嵁ids鏌ヨ
+        lambdaQueryWrapper.in(ArchiveRecords::getId, Arrays.asList(ids));
+        
+        // 濡傛灉涓嶆槸绠$悊鍛橈紝闇�瑕佽�冭檻鏉冮檺杩囨护锛堝彲鏍规嵁瀹為檯鏉冮檺闇�姹傝皟鏁达級
+        if (userid != 1) {
+            // 杩欓噷鍙互娣诲姞鏉冮檺鐩稿叧鐨勮繃婊ゆ潯浠�
+        }
+        
+        List<ArchiveRecords> beanRecords = list(lambdaQueryWrapper);
+        return beanRecords;
+    }
 
     /**
      * 鏂板妗f璁板綍
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 c98e310..800b22a 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -149,8 +149,64 @@
 
     @Override
     public int updateDocumentMaterials(DocumentMaterials documentMaterials) {
+        boolean result = false;
+        try {
 
-        boolean result = updateById(documentMaterials);
+            //淇敼椤靛彿鎴愬姛涔嬪悗锛岃閲嶆柊鐢熸垚鏂囦欢鏉愭枡搴忓彿锛岄〉娆�
+            //鏍规嵁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);
+            //淇敼椤靛彿
+            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);
+            }
+
+
+        } catch (Exception e) {
+            System.out.println(e);
+            throw new ErrorcodeExceptionextends(500, "鍚屼竴涓鍗峰唴锛屼笉鍏佽椤电爜閲嶅锛�");
+        }
         if(result)
             return 1;
         else
@@ -180,9 +236,12 @@
     public int updateByPageNumber(Long pageNumber, String sizeType, Long fileNumber, int width, int height, int horizontalResolution, int verticalResolution, double fileSize, String url, String format, Long recordId) {
         //鏍规嵁pageNumber鎷垮埌title锛岀劧鍚庤绠梡ageOrder
         LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(recordId!=null, DocumentMaterials::getRecordId, recordId);
         lqw.eq(pageNumber!=null, DocumentMaterials::getPageNumber, pageNumber);
         List<DocumentMaterials> records = list(lqw);
 
+
+        //璁$畻pageOrder
         Long pageOrder = 1L;
         if(pageNumber.equals(1))
             pageOrder = 1L;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java
index 41aa1c2..88b41fc 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/ArchiveRecordsController.java
@@ -104,14 +104,19 @@
     @PreAuthorize("@ss.hasPermi('system:records:export')")
     @Log(title = "妗f璁板綍", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, ArchiveRecords archiveRecords)
+    public void export(HttpServletResponse response, ArchiveRecords archiveRecords, @RequestParam(value = "ids", required = false) Long[] ids)
     {
-        List<ArchiveRecords> list = archiveRecordsService.selectArchiveRecordsList(archiveRecords);
+        List<ArchiveRecords> list;
+        System.out.println(ids);
+        // 濡傛灉鎻愪緵浜唅ds鍙傛暟锛屽垯鏍规嵁ids瀵煎嚭鎸囧畾璁板綍
+        if (ids != null && ids.length > 0) {
+            list = archiveRecordsService.selectArchiveRecordsByIds(ids);
+        } else {
+            // 鍚﹀垯鏍规嵁鏌ヨ鏉′欢瀵煎嚭
+            list = archiveRecordsService.selectArchiveRecordsList(archiveRecords);
+        }
         ExcelUtil<ArchiveRecords> util = new ExcelUtil<ArchiveRecords>(ArchiveRecords.class);
-        //util.showColumn();
         util.exportExcel(response, list, "妗f璁板綍鏁版嵁");
-       // response.getB
-      //  response.
     }
 
     /**
@@ -237,7 +242,7 @@
         if(selectedSignatures!=null){
             for(int si: selectedSignatures)
             {
-                arrLis.add(sig[si-1]);
+                arrLis.add(sig[si]);
             }
         }
         //娉ㄩ�夋嫨
@@ -249,7 +254,7 @@
         List<String> arrAn = new ArrayList<>();
         if(selectedAnnotations!=null) {
             for (int ar : selectedAnnotations) {
-                arrAn.add(ann[ar - 1]);
+                arrAn.add(ann[ar]);
             }
         }
         List<DocumentMaterialsFileList> arsi = new ArrayList<>();
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 5d3b5f1..74a08c7 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -195,7 +195,9 @@
  		<set>
  			<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
  			<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
- 			<if test="email != null ">email = #{email},</if>
+            <if test="userName != null and userName != ''">user_name = #{userName},</if>
+
+            <if test="email != null ">email = #{email},</if>
  			<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
  			<if test="sex != null and sex != ''">sex = #{sex},</if>
  			<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>

--
Gitblit v1.9.1