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

---
 archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java |   42 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java b/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
index 024585a..2e4fce8 100644
--- a/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
+++ b/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
@@ -2,10 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.domain.DocumentMaterials;
-import com.ruoyi.domain.vo.DocumentMaterialFileStyle;
-import com.ruoyi.domain.vo.DocumentMaterialsFileList;
-import com.ruoyi.domain.vo.DocumentMaterialsVo;
-import com.ruoyi.domain.vo.DocumentMaterialsVoLarge;
+import com.ruoyi.domain.vo.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -28,8 +25,8 @@
     @Select("select count(*) from document_materials where title=#{title} and page_number<#{pageNumber} and stage=#{stage} and record_id=#{recordId}")
     Long getMaxPageOrder(@Param("title")String title,@Param("pageNumber") Long pageNumber,@Param("stage") String stage, @Param("recordId") Long recordId);
 
-    //璁$畻鏂囦欢鐨勫簭鍙�
-    @Select("select count(distinct(title))-1 from document_materials where  page_number<=#{pageNumber} and record_id=#{recordId}")
+    //璁$畻鏂囦欢鐨勫簭鍙凤紝title鏈夊彲鑳介噸澶�
+    @Select("select count(distinct(concat_ws(',', title, stage)))-1 from document_materials where  page_number<=#{pageNumber} and record_id=#{recordId}")
     Long getFileNumber(@Param("pageNumber") Long pageNumber, @Param("recordId") Long recordId);
 
 
@@ -37,13 +34,20 @@
 
     //鏌ヨ鍗峰唴鐩綍
     @Select(
-            "select ROW_NUMBER() OVER (ORDER BY page_number) AS num, document_number, creator,title, date, page_number,dm.remarks, ar.record_id, publicity from document_materials as dm, archive_records as ar \n" +
+            "select ROW_NUMBER() OVER (ORDER BY page_number) AS num, document_number, creator,title, date, page_number,dm.remarks, ar.record_id, publicity, file_style, dm.retention_period from document_materials as dm, archive_records as ar \n" +
             "            WHERE ar.id = dm.record_id and page_number  IN (\n" +
             "            SELECT MIN(page_number)\n" +
             "            FROM document_materials where record_id=#{recordId}\n" +
             "             GROUP BY stage, title) and ar.id =#{recordId} order by page_number ;")
     List<DocumentMaterialsVo> getArchiveMatInfo(@Param("recordId") int recordId);
-
+    //鏌ヨ鍗峰唴鐩綍鐨勮缁嗕俊鎭�
+    @Select(
+            "select ROW_NUMBER() OVER (ORDER BY page_number) AS num, document_number, creator,title, date, page_number, publicity, file_style, stage,is_attachment,is_diagram, dm.retention_period,is_sensitive,is_canceled,dm.remarks from document_materials as dm, archive_records as ar \n" +
+                    "            WHERE ar.id = dm.record_id and page_number  IN (\n" +
+                    "            SELECT MIN(page_number)\n" +
+                    "            FROM document_materials where record_id=#{recordId}\n" +
+                    "             GROUP BY stage, title) and ar.id =#{recordId} order by page_number ;")
+    List<DocumentMaterialsVoMid> getArchiveMatInfoAll(@Param("recordId") int recordId);
 
     @Select(  "select ROW_NUMBER() OVER (ORDER BY page_number) AS num,ar.record_id, file_number, \n" +
             "            document_number, creator, title, date, page_number, page_order, \n" +
@@ -66,4 +70,26 @@
 
     @Select("select if(count(*) < max(page_number), false, true) as res from document_materials where record_id=#{recordId}")
     boolean isPageNumberLegal(@Param("recordId") int recordId);
+
+
+    //鎷垮埌闄ゅ叾瀹冩潗鏂欎箣澶栫殑鍏ㄩ儴鏁版嵁鐨勪釜鏁�
+    @Select("select count(*) FROM document_materials where file_style!='鍏朵粬鏉愭枡' and record_id=#{recordId}")
+    int getCount(@Param("recordId") int recordId);
+    
+    //鑾峰彇鎸囧畾妗堝嵎鐨勬渶澶ч〉鍙�
+    @Select("select max(page_number) FROM document_materials where record_id=#{recordId}")
+    Long getMaxPageNumber(@Param("recordId") int recordId);
+
+
+    //鍒ゆ柇鍗峰唴鐩綍鏄惁鍏ㄩ儴涓婁紶浜嗛檮浠�
+    @Select("select if(num=total_count, true, false) as res from (\n" +
+            "SELECT\n" +
+            " ROW_NUMBER() OVER (ORDER BY page_number) AS num,  SUM(CASE WHEN dm.url IS NOT NULL THEN 1 ELSE 0 END) OVER() AS total_count\n" +
+            " from document_materials as dm, archive_records as ar \n" +
+            "         WHERE ar.id = dm.record_id and page_number  IN (SELECT MIN(page_number) \n" +
+            "         FROM document_materials where record_id=#{recordId}\n" +
+            "         GROUP BY stage, title) and ar.id =#{recordId} order by page_number desc limit 1) as res ")
+    Boolean judgeArchiveInfo(   @Param("recordId") int recordId);
+
 }
+

--
Gitblit v1.9.1