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/service/impl/DocumentMaterialsServiceImpl.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 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 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;

--
Gitblit v1.9.1