fei
2025-11-17 131cd265f4711691fe22ff50c44f523c65cd7022
archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
@@ -3,6 +3,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 org.apache.ibatis.annotations.Mapper;
@@ -10,7 +11,12 @@
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
 * 【文件材料综合信息】Mapper接口
 *
 * @author ruoyi
 * @date 2025-07-26
 */
@Mapper
public interface DocumentMaterialsMapper extends BaseMapper<DocumentMaterials> {
@@ -19,12 +25,15 @@
    //根据题名拿到最大的pageOrder
    @Select("select count(*) from document_materials where title=#{title} and page_number<#{pageNumber} and stage=#{stage}")
    Long getMaxPageOrder(@Param("title")String title,@Param("pageNumber") Long pageNumber,@Param("stage") String stage);
    @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}")
    Long getFileNumber(@Param("pageNumber") Long pageNumber);
    @Select("select count(distinct(title))-1 from document_materials where  page_number<=#{pageNumber} and record_id=#{recordId}")
    Long getFileNumber(@Param("pageNumber") Long pageNumber, @Param("recordId") Long recordId);
    //查询卷内目录
    @Select(
@@ -42,11 +51,19 @@
            "            is_canceled, format, size_type, horizontal_resolution, vertical_resolution, width,\n" +
            "            height, file_size, attachment_history_numbers,url, dm.remarks\n" +
            "            from document_materials as dm, archive_records as ar WHERE dm.record_id=ar.id \n" +
            "and dm.record_id=#{recordId}")
            "and dm.record_id=#{recordId} and file_style!='其它材料' ")
    List<DocumentMaterialsVoLarge> getDocumentMaterialsvoLarge(@Param("recordId") int recordId);
    @Select(  "select ROW_NUMBER() OVER (ORDER BY page_number) AS num,file_style, ar.record_id, ar.inquiry_number, ar.case_title, " +
            "            document_number, title, page_number, \n" +
            "            publicity, dm.retention_period, dm.remarks\n" +
            "            from document_materials as dm, archive_records as ar WHERE dm.record_id=ar.id \n" +
            "and dm.record_id=#{recordId} and file_style!='其它材料' ")
    List<DocumentMaterialsFileList> getDocumentMaterialsFileList(@Param("recordId") int recordId);
    @Select("select count(*) as cnt, file_style from document_materials " +
            "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);
}