fei
1 天以前 e899d2709f21b322232fb64778fef296233be3f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.ruoyi.mapper;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
import com.ruoyi.domain.ArchiveRecords;
import com.ruoyi.domain.vo.AnalysisResult;
import com.ruoyi.domain.vo.ArchiveInfoVo;
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 ArchiveRecordsMapper extends BaseMapper<ArchiveRecords> {
 
 
    @Select({
            "<script>",
            "SELECT c.*,a.archive_records_id,b.user_id, if(a.user_id=#{userId}, TRUE, FALSE) as tst FROM archiverecordstouser a inner join sys_user b ON a.user_id = b.user_id right join archive_records c on c.record_id=a.archive_records_id ${ew.customSqlSegment} ",
            "<if test= \"userId !=1 \">",
            "order by tst desc",
            "</if>",
            "</script>"
    })
    Page<ArchiveRecords> selectJoinUserPage(Page<ArchiveRecords> page, @Param("userId") Long userId, @Param("ew") LambdaQueryWrapper<ArchiveRecords> queryWrapper);
 
    @Select("select max(id) from archive_records")
    Long findMaxId();
 
    @Select("UPDATE `archivesys`.`archive_records` SET  `inquiry_number` = '', `case_title` = NULL, `public_attribute` = NULL, `preparation_unit` = NULL, `preparation_date` = NULL, `retention_period` = NULL, `security_classification` = NULL, `page_count` = NULL, `filing_number` = NULL, `construction_unit` = NULL, `construction_address` = NULL, `project_name` = '', `project_number` = NULL, `scanning_company` = NULL, `archive_room_number` = NULL, `microfilm_number` = NULL, `remarks` = NULL, `historical_reference_number` = NULL, `record_status` = NULL, `every_project_name` = NULL WHERE `id` = #{id}")
    Long updateAllInfoById(@Param("id") Long id);
 
    @Select("select record_id,archive_room_number,microfilm_number,inquiry_number,case_title,preparation_date,preparation_unit,retention_period,security_classification from archive_records where id=#{id}")
    ArchiveInfoVo findByRecordId(@Param("id") Long id);
 
    @Select("SELECT every_project_name, count(*) as cnt, (select count(*) from archive_records as ac where ac.every_project_name=ar.every_project_name and record_status='未录入') as unfinished,\n" +
            "(select count(*) from archive_records as ac where ac.every_project_name=ar.every_project_name and record_status='录入完成') as finished \n" +
            " from archive_records as ar GROUP BY every_project_name")
    List<AnalysisResult> statisticAyasis();
}