From ee98daf76231cb373d20803dfa1a309fefd82644 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期四, 27 十一月 2025 23:33:07 +0800
Subject: [PATCH] 修改了对应代码

---
 archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java |  179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 165 insertions(+), 14 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 e2b02f4..f910f0e 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -5,23 +5,30 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.domain.entity.SysUser;
 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.Archiverecordstouser;
 import com.ruoyi.domain.DocumentMaterials;
-import com.ruoyi.domain.vo.DocumentMaterialsVo;
+import com.ruoyi.domain.vo.*;
 import com.ruoyi.mapper.DocumentMaterialsMapper;
-import com.ruoyi.service.IArchiveCategoryService;
 import com.ruoyi.service.IDocumentMaterialsService;
 import com.ruoyi.util.ErrorcodeExceptionextends;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.*;
-
+/**
+ * 銆愭枃浠舵潗鏂欑患鍚堜俊鎭�慡ervice涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-07-26
+ */
 @Service
 public class DocumentMaterialsServiceImpl  extends ServiceImpl<DocumentMaterialsMapper, DocumentMaterials> implements IDocumentMaterialsService {
     private LambdaQueryWrapper<DocumentMaterials> buildCondition(DocumentMaterials documentMaterials){
@@ -35,9 +42,14 @@
                 .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());
-//                .like(!StringUtils.isEmpty(archiveRecords.getFilingNumber()), ArchiveRecords::getFilingNumber, archiveRecords.getFilingNumber())
+                .eq(documentMaterials.getRecordId()!=null, DocumentMaterials::getRecordId, documentMaterials.getRecordId())
+        .eq(documentMaterials.getPageNumber()!=null, DocumentMaterials::getPageNumber, documentMaterials.getPageNumber());
+
+        //                .like(!StringUtils.isEmpty(archiveRecords.getFilingNumber()), ArchiveRecords::getFilingNumber, archiveRecords.getFilingNumber())
 //                .like(!StringUtils.isEmpty(archiveRecords.getArchiveRoomNumber()), ArchiveRecords::getArchiveRoomNumber, archiveRecords.getArchiveRoomNumber())
 //                .like(!StringUtils.isEmpty(archiveRecords.getRecordId()), ArchiveRecords::getRecordId, archiveRecords.getRecordId());
 //        //                .like(!StringUtils.isEmpty(zfProperty.getLocation()), ZfProperty::getLocation, zfProperty.getLocation())
@@ -104,6 +116,17 @@
     }
 
     @Override
+    public List<DocumentMaterialsVoLarge> selectDocumentMaterialsAllByRecordId(Long id) {
+
+        return this.baseMapper.getDocumentMaterialsvoLarge(Math.toIntExact(id));
+    }
+
+    @Override
+    public List<DocumentMaterialsFileList> selectDocumentMaterialsFileList(Long id) {
+        return this.baseMapper.getDocumentMaterialsFileList(Math.toIntExact(id));
+    }
+
+    @Override
     public int insertDocumentMaterials(DocumentMaterials documentMaterials) {
         LocalDateTime time = LocalDateTime.now();
 
@@ -130,9 +153,85 @@
     }
 
     @Override
-    public int updateDocumentMaterials(DocumentMaterials documentMaterials) {
+    public List<DocumentMaterials> selectDocumentMaterialsByIds(Long[] ids) {
+        // 鑾峰彇褰撳墠鐢ㄦ埛ID
+        Long userid = SecurityUtils.getUserId();
 
-        boolean result = updateById(documentMaterials);
+        // 鍒涘缓鏌ヨ鏉′欢
+        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);
+
+
+//
+//            //璁$畻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
@@ -154,27 +253,30 @@
     }
 
     @Override
-    public Long getFiNum(Long pageNumber) {
-        return this.baseMapper.getFileNumber(pageNumber);
+    public Long getFiNum(Long pageNumber, Long recordId) {
+        return this.baseMapper.getFileNumber(pageNumber, recordId);
     }
 
     @Override
-    public int updateByPageNumber(Long pageNumber, Long fileNumber, int width, int height, int horizontalResolution, int verticalResolution, double fileSize, String url, String format) {
+    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;
         else {
-            Long maxPOrder = this.baseMapper.getMaxPageOrder(records.get(0).getTitle(), pageNumber, records.get(0).getStage());
+            Long maxPOrder = this.baseMapper.getMaxPageOrder(records.get(0).getTitle(), pageNumber, records.get(0).getStage(), recordId);
             if (maxPOrder != null)
                 pageOrder = maxPOrder + 1;
         }
 
-        this.baseMapper.updateInfoByPageNumber(pageNumber, fileNumber,pageOrder, width, height, horizontalResolution, verticalResolution, fileSize, url,format);
+        this.baseMapper.updateInfoByPageNumber(pageNumber, sizeType,fileNumber,pageOrder, width, height, horizontalResolution, verticalResolution, fileSize, url,format, recordId);
 
         return 0;
     }
@@ -183,4 +285,53 @@
     public List<DocumentMaterialsVo> findArchMInfo(String recordId) {
         return this.baseMapper.getArchiveMatInfo(Integer.parseInt(recordId));
     }
+
+    @Override
+    public List<DocumentMaterialFileStyle> findFileStyleInfo(int recordId) {
+        return this.baseMapper.getFileStyleInfo(recordId);
+    }
+
+    @Override
+    public AjaxResult importExcel(MultipartFile file, String recordId) {
+        ExcelUtil<DocumentMaterialFileSmallVo> util = new ExcelUtil<>(DocumentMaterialFileSmallVo.class);
+        List<DocumentMaterialFileSmallVo> dataList = null;
+        try {
+            dataList = util.importExcel(file.getInputStream());
+        } catch (Exception e) {
+            throw new RuntimeException("娌℃湁鎸夌収瑙勫垯瀵煎叆鏁版嵁");
+        }
+
+        assert dataList != null;
+
+        for (DocumentMaterialFileSmallVo archiveCategory : dataList) {
+            // physcialService.mySave(physcial);
+            DocumentMaterials documentMaterials = new DocumentMaterials();
+            BeanUtils.copyProperties(archiveCategory, documentMaterials);
+            documentMaterials.setRecordId(Long.parseLong(recordId));
+            this.insertDocumentMaterials(documentMaterials);
+        }
+
+        return AjaxResult.success();    }
+
+    @Override
+    public DocumentMaterials selectByPageNumber(Long pageNumber, Integer recordId) {
+        LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(pageNumber!=null, DocumentMaterials::getPageNumber, pageNumber);
+        lqw.eq(recordId!=null, DocumentMaterials::getRecordId, recordId);
+        List<DocumentMaterials> ls = list(lqw);
+        if(!ls.isEmpty())
+            return ls.get(0);
+        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);
+    }
 }

--
Gitblit v1.9.1