From 2d59c3e55978bd93741dae7a8ff21cf63b9ecf25 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期三, 14 一月 2026 21:16:57 +0800
Subject: [PATCH] 修改了对应代码
---
archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java | 37 +++++++++++++++++++++++++++++--------
1 files changed, 29 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 febfadf..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" +
@@ -71,4 +75,21 @@
//鎷垮埌闄ゅ叾瀹冩潗鏂欎箣澶栫殑鍏ㄩ儴鏁版嵁鐨勪釜鏁�
@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