From 681f5f35d384792cf6b76df81e0152b36a3a25f2 Mon Sep 17 00:00:00 2001 From: xia Date: Fri, 29 Jul 2022 10:30:08 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E5=85=A8=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/archives/controller/ArchivesController.java | 8 ++++++++ .../archives/repository/ArchivesSummaryRepository.java | 7 +++++++ .../modules/archives/service/ArchivesService.java | 2 ++ .../archives/service/impl/ArchivesServiceImpl.java | 7 +++++++ 4 files changed, 24 insertions(+) diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java index ac63251..ac4c4d1 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java @@ -70,6 +70,14 @@ public class ArchivesController { return ApiResponse.success(archivesService.getArchivesRelease(page)); } + @ApiOperation("模糊查询") + @GetMapping("/queryVagueArchives") + public ApiResponse queryVagueArchives( + String criteria,String query,Pageable pageable + ){ + return ApiResponse.success(archivesService.queryVagueArchives(criteria,query,pageable)); + } + @ApiOperation("档案详情") @GetMapping("/archivesDetails") public ApiResponse archivesDetails( diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java index 8e84984..77cc76d 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java @@ -24,6 +24,13 @@ public interface ArchivesSummaryRepository extends JpaRepository> getArchivesRelease(Pageable page); + @Query(nativeQuery = true, + value = "select * " + + "from archives_summary " + + "where category_type in (3,5) and if(length(?2)=0,1=1,if(?1 = 'maintitle',maintitle regexp ?2,if(?1 = 'archive_no',archive_no regexp ?2,if(?1 = 'archive_year',archive_year regexp ?2,if(?1 = 'security_class',security_class regexp ?2,if(?1 = 'case_name',case_name regexp ?2,if(?1 = 'retention',retention regexp ?2,if(?1 = 'department',department regexp ?2,1=1)))))))) " + + "order by create_time asc,archives_id asc") + Page> queryVagueArchives(String criteria, String query,Pageable page); + @Modifying @Transactional(rollbackFor = Exception.class) @Query(nativeQuery = true, diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java index 6aa6382..fe75e55 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java @@ -20,6 +20,8 @@ public interface ArchivesService { String organizationMatter,boolean isdel,Pageable page); //档案列表外放接口 Object getArchivesRelease(Pageable page); + //档案模糊查询 + Object queryVagueArchives(String criteria,String query,Pageable pageable); //根据门类id 档案id 获取显示档案详情信息 List archiveDetails(String categoryId,String archivesId); //根据门类id 档案id 获取元数据 diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java index e6710bb..3a2da2b 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java @@ -151,6 +151,13 @@ public class ArchivesServiceImpl implements ArchivesService { return PageUtil.toPage(page); } + @Override + public Object queryVagueArchives(String criteria, String query,Pageable pageable) { + query = query==null?"":query.trim().replaceAll(" ","|"); + Page> page = archivesSummaryRepository.queryVagueArchives(criteria,query,pageable); + return PageUtil.toPage(page); + } + @Override public List archiveDetails(String categoryId, String archivesId) { List returnVo = new ArrayList<>();