package com.ruoyi.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.domain.DocumentMaterials; import com.ruoyi.domain.vo.DocumentMaterialsVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; @Mapper public interface DocumentMaterialsMapper extends BaseMapper { @Select("update document_materials SET url = #{url},file_number=#{fileNumber},page_order=#{pageOrder},width=#{width},height=#{height},horizontal_resolution=#{horizontalResolution},vertical_resolution=#{verticalResolution},file_size=#{fileSize}, format=#{format} where page_number = #{pageNumber}") Long updateInfoByPageNumber(@Param("pageNumber") Long pageNumber,@Param("fileNumber") Long fileNumber,@Param("pageOrder") Long pageOrder,@Param("width") int width, @Param("height") int height, @Param("horizontalResolution") int horizontalResolution, @Param("verticalResolution") int verticalResolution, @Param("fileSize") Double fileSize,@Param("url") String url,@Param("format") String format); //根据题名拿到最大的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(distinct(title))-1 from document_materials where page_number<=#{pageNumber}") Long getFileNumber(@Param("pageNumber") Long pageNumber); //查询卷内目录 @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" + " 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 getArchiveMatInfo(@Param("recordId") int recordId); }