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<>();