|
@@ -3,7 +3,6 @@ package com.diagbot.facade;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.diagbot.client.UserServiceClient;
|
|
|
import com.diagbot.dto.GetAllForRelationDTO;
|
|
|
import com.diagbot.dto.KlConceptAllDTO;
|
|
@@ -25,7 +24,6 @@ import com.diagbot.exception.CommonException;
|
|
|
import com.diagbot.service.impl.KlConceptServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
-import com.diagbot.util.IntegerUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.RespDTOUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
@@ -84,51 +82,25 @@ public class KlConceptFacade extends KlConceptServiceImpl {
|
|
|
* @return
|
|
|
*/
|
|
|
public IPage<KlConceptInfoDTO> getConceptInfoPage(KlConceptInfoVO klConceptInfoVO) {
|
|
|
- Page<KlConceptInfoDTO> klConceptInfoDTOPage = new Page<>();
|
|
|
- QueryWrapper<KlConcept> conceptQe = new QueryWrapper<>();
|
|
|
if (StringUtil.isNotBlank(klConceptInfoVO.getSynonymName())) {
|
|
|
- QueryWrapper<KlLibraryInfo> libraryInfoQe = new QueryWrapper<>();
|
|
|
- libraryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
- libraryInfoQe.apply(
|
|
|
- "UPPER(`name`) LIKE CONCAT('%',trim('"
|
|
|
- + klConceptInfoVO.getSynonymName().toUpperCase()
|
|
|
- + "'),'%')");
|
|
|
- libraryInfoQe.eq(StringUtil.isNotBlank(klConceptInfoVO.getLibType()),
|
|
|
- "type_id", klConceptInfoVO.getLibType());
|
|
|
- List<Long> conceptIdList = klLibraryInfoFacade.list(libraryInfoQe)
|
|
|
+ List<Long> conceptIdList = klLibraryInfoFacade.getLib(klConceptInfoVO)
|
|
|
.stream().map(KlLibraryInfo::getConceptId).distinct().collect(Collectors.toList());
|
|
|
- if (ListUtil.isNotEmpty(conceptIdList)) {
|
|
|
- conceptQe.in("id", conceptIdList);
|
|
|
- } else {
|
|
|
- conceptQe.eq("id", -999999999);
|
|
|
+ if (ListUtil.isEmpty(conceptIdList)) {
|
|
|
+ conceptIdList.add(-999999999L);
|
|
|
}
|
|
|
+ klConceptInfoVO.setConceptIdList(conceptIdList);
|
|
|
}
|
|
|
- if (StringUtil.isNotBlank(klConceptInfoVO.getLibName())) {
|
|
|
- conceptQe.apply(
|
|
|
- "UPPER(lib_name) LIKE CONCAT('%',trim('"
|
|
|
- + klConceptInfoVO.getLibName().toUpperCase()
|
|
|
- + "'),'%')");
|
|
|
- }
|
|
|
- conceptQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
- conceptQe.eq(StringUtil.isNotBlank(klConceptInfoVO.getLibType()),
|
|
|
- "lib_type", klConceptInfoVO.getLibType());
|
|
|
- conceptQe.eq(!IntegerUtil.isNull(klConceptInfoVO.getStatus()),
|
|
|
- "status", klConceptInfoVO.getStatus());
|
|
|
- conceptQe.orderByDesc("status");
|
|
|
- conceptQe.orderByDesc("gmt_modified");
|
|
|
- conceptQe.orderByDesc("id");
|
|
|
- IPage<KlConcept> conceptPage = this.page(klConceptInfoVO, conceptQe);
|
|
|
- BeanUtil.copyProperties(conceptPage, klConceptInfoDTOPage);
|
|
|
+ IPage<KlConceptInfoDTO> conceptPage = this.getConceptPage2(klConceptInfoVO);
|
|
|
|
|
|
if (ListUtil.isNotEmpty(conceptPage.getRecords())) {
|
|
|
//获取用户
|
|
|
List<String> userIds = conceptPage.getRecords().stream()
|
|
|
- .map(KlConcept::getModifier).distinct().collect(Collectors.toList());
|
|
|
+ .map(KlConceptInfoDTO::getModifierId).distinct().collect(Collectors.toList());
|
|
|
RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(userIds);
|
|
|
RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
|
|
|
//获取同义词
|
|
|
List<Long> conceptIds = conceptPage.getRecords().stream()
|
|
|
- .map(KlConcept::getId).distinct().collect(Collectors.toList());
|
|
|
+ .map(KlConceptInfoDTO::getConceptId).distinct().collect(Collectors.toList());
|
|
|
QueryWrapper<KlLibraryInfo> qw = new QueryWrapper<>();
|
|
|
qw.in("concept_id", conceptIds)
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
@@ -138,33 +110,23 @@ public class KlConceptFacade extends KlConceptServiceImpl {
|
|
|
.stream().collect(Collectors.groupingBy(KlLibraryInfo::getConceptId));
|
|
|
//获取类型
|
|
|
List<Integer> libTypes = conceptPage.getRecords().stream()
|
|
|
- .map(KlConcept::getLibType).distinct().collect(Collectors.toList());
|
|
|
+ .map(KlConceptInfoDTO::getLibType).distinct().collect(Collectors.toList());
|
|
|
QueryWrapper<KlLexicon> qwLib = new QueryWrapper<>();
|
|
|
qwLib.in("code", libTypes)
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
Map<Integer, String> lexiconMap = klLexiconFacade.list(qwLib)
|
|
|
.stream().collect(Collectors.toMap(KlLexicon::getCode, KlLexicon::getName));
|
|
|
//组装结果
|
|
|
- List<KlConceptInfoDTO> records = new ArrayList<>();
|
|
|
conceptPage.getRecords().forEach(i -> {
|
|
|
- KlConceptInfoDTO klConceptInfoDTO = new KlConceptInfoDTO();
|
|
|
- klConceptInfoDTO.setConceptId(i.getId());
|
|
|
- klConceptInfoDTO.setLibName(i.getLibName());
|
|
|
- klConceptInfoDTO.setLibType(i.getLibType());
|
|
|
- klConceptInfoDTO.setTypeName(lexiconMap.get(i.getLibType()));
|
|
|
- klConceptInfoDTO.setSynonymName(libMap.get(i.getId())
|
|
|
+ i.setTypeName(lexiconMap.get(i.getLibType()));
|
|
|
+ i.setSynonymName(libMap.get(i.getConceptId())
|
|
|
.stream()
|
|
|
.map(KlLibraryInfo::getName)
|
|
|
.collect(Collectors.joining("、")));
|
|
|
- klConceptInfoDTO.setModifierId(i.getModifier());
|
|
|
- klConceptInfoDTO.setModifierName(respDTO.data.get(i.getModifier()));
|
|
|
- klConceptInfoDTO.setGmtModified(i.getGmtModified());
|
|
|
- klConceptInfoDTO.setStatus(i.getStatus());
|
|
|
- records.add(klConceptInfoDTO);
|
|
|
+ i.setModifierName(respDTO.data.get(i.getModifierId()));
|
|
|
});
|
|
|
- klConceptInfoDTOPage.setRecords(records);
|
|
|
}
|
|
|
- return klConceptInfoDTOPage;
|
|
|
+ return conceptPage;
|
|
|
}
|
|
|
|
|
|
/**
|