|
@@ -132,7 +132,8 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
|
|
|
conceptQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
conceptQe.eq("lib_type", LexiconTypeEnum.LIS_TABLES.getKey());
|
|
|
- conceptQe.like(StringUtil.isNotEmpty(getAllLisConceptVO.getConceptName()), "lib_name", getAllLisConceptVO.getConceptName());
|
|
|
+ conceptQe.like(StringUtil.isNotEmpty(getAllLisConceptVO.getConceptName()),
|
|
|
+ "lib_name", getAllLisConceptVO.getConceptName());
|
|
|
List<Concept> conceptList = list(conceptQe);
|
|
|
|
|
|
conceptList.forEach(i -> {
|
|
@@ -164,23 +165,31 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
|
|
|
QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<LibraryInfo>();
|
|
|
libraryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
- libraryInfoQe.eq(getAllConceptVO.getIsConcept() != null, "is_concept", getAllConceptVO.getIsConcept());
|
|
|
+ libraryInfoQe.eq(getAllConceptVO.getIsConcept() != null,
|
|
|
+ "is_concept", getAllConceptVO.getIsConcept());
|
|
|
libraryInfoQe.like("name", getAllConceptVO.getName());
|
|
|
List<LibraryInfo> libraryInfoList = libraryinfoFacade.list(libraryInfoQe);
|
|
|
+ if (ListUtil.isEmpty(libraryInfoList)) {
|
|
|
+ return getAllConceptDTOList;
|
|
|
+ }
|
|
|
|
|
|
//过滤掉非概念术语
|
|
|
if (getAllConceptVO.getIsConcept() != null && getAllConceptVO.getIsConcept() == 1) {
|
|
|
QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
|
|
|
conceptQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
- conceptQe.in("id", libraryInfoList.stream().map(i -> i.getConceptId()).distinct().collect(Collectors.toList()));
|
|
|
+ conceptQe.in("id",
|
|
|
+ libraryInfoList.stream().map(i -> i.getConceptId()).distinct().collect(Collectors.toList()));
|
|
|
Map<Long, Concept> conceptMap = list(conceptQe).stream().collect(Collectors.toMap(Concept::getId, i -> i));
|
|
|
libraryInfoList.forEach(i -> {
|
|
|
- if (conceptMap.get(i.getConceptId()) == null || conceptMap.get(i.getConceptId()).getLibId().intValue() != i.getId().intValue()
|
|
|
- || (getAllConceptVO.getExcludedConceptIds() != null && getAllConceptVO.getExcludedConceptIds().contains(i.getConceptId()))) {
|
|
|
+ if (conceptMap.get(i.getConceptId()) == null
|
|
|
+ || conceptMap.get(i.getConceptId()).getLibId().intValue() != i.getId().intValue()
|
|
|
+ || (getAllConceptVO.getExcludedConceptIds() != null
|
|
|
+ && getAllConceptVO.getExcludedConceptIds().contains(i.getConceptId()))) {
|
|
|
i.setIsDeleted(IsDeleteEnum.Y.getKey());
|
|
|
}
|
|
|
});
|
|
|
- libraryInfoList = libraryInfoList.stream().filter(i -> i.getIsDeleted().equals(IsDeleteEnum.N.getKey())).collect(Collectors.toList());
|
|
|
+ libraryInfoList = libraryInfoList.stream()
|
|
|
+ .filter(i -> i.getIsDeleted().equals(IsDeleteEnum.N.getKey())).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
/*//添加过术语医学属性的过滤掉
|
|
@@ -216,11 +225,14 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
public List<GetAllForRelationDTO> getAllForRelation(GetAllForRelationVO getAllForRelationVO) {
|
|
|
List<GetAllForRelationDTO> retList = Lists.newArrayList();
|
|
|
|
|
|
- if (StringUtil.isNotBlank(getAllForRelationVO.getName()) || getAllForRelationVO.getTypeId() != null) {
|
|
|
+ if (StringUtil.isNotBlank(getAllForRelationVO.getName())
|
|
|
+ || getAllForRelationVO.getTypeId() != null) {
|
|
|
QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
|
|
|
conceptQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
- conceptQe.like(StringUtil.isNotBlank(getAllForRelationVO.getName()), "lib_name", getAllForRelationVO.getName());
|
|
|
- conceptQe.eq(getAllForRelationVO.getTypeId() != null, "lib_type", getAllForRelationVO.getTypeId());
|
|
|
+ conceptQe.like(StringUtil.isNotBlank(getAllForRelationVO.getName()),
|
|
|
+ "lib_name", getAllForRelationVO.getName());
|
|
|
+ conceptQe.eq(getAllForRelationVO.getTypeId() != null,
|
|
|
+ "lib_type", getAllForRelationVO.getTypeId());
|
|
|
List<Concept> conceptList = list(conceptQe);
|
|
|
|
|
|
if (ListUtil.isNotEmpty(conceptList)) {
|
|
@@ -238,7 +250,9 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
if (getAllForRelationVO.getRelationTypeId() != null) {
|
|
|
QueryWrapper<Concept> conceptQe1 = new QueryWrapper<>();
|
|
|
conceptQe1.eq("lib_type", getAllForRelationVO.getRelationTypeId());
|
|
|
- relationConceptIdList = list(conceptQe1).stream().map(i -> i.getId()).collect(Collectors.toList());
|
|
|
+ relationConceptIdList = list(conceptQe1)
|
|
|
+ .stream()
|
|
|
+ .map(i -> i.getId()).collect(Collectors.toList());
|
|
|
}
|
|
|
if (getAllForRelationVO.getRelationConceptId() != null) {
|
|
|
relationConceptIdList.add(getAllForRelationVO.getRelationConceptId());
|
|
@@ -246,20 +260,26 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
if (ListUtil.isNotEmpty(relationConceptIdList)) {
|
|
|
if (getAllForRelationVO.getRelationPosition() == 1) {
|
|
|
relationQe.in("start_id", conceptIdList);
|
|
|
- relationQe.in("end_id", relationConceptIdList);
|
|
|
- reCouMap = relationFacade.list(relationQe).stream().collect(Collectors.groupingBy(Relation::getStartId, Collectors.counting()));
|
|
|
+ relationQe.in(ListUtil.isNotEmpty(relationConceptIdList), "end_id", relationConceptIdList);
|
|
|
+ reCouMap = relationFacade.list(relationQe)
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.groupingBy(Relation::getStartId, Collectors.counting()));
|
|
|
} else {
|
|
|
relationQe.in("end_id", conceptIdList);
|
|
|
- relationQe.in("start_id", relationConceptIdList);
|
|
|
- reCouMap = relationFacade.list(relationQe).stream().collect(Collectors.groupingBy(Relation::getEndId, Collectors.counting()));
|
|
|
+ relationQe.in(ListUtil.isNotEmpty(relationConceptIdList), "start_id", relationConceptIdList);
|
|
|
+ reCouMap = relationFacade.list(relationQe)
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.groupingBy(Relation::getEndId, Collectors.counting()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
for (Concept i : conceptList) {
|
|
|
if (reCouMap.get(i.getId()) != null
|
|
|
- || (getAllForRelationVO.getExcludedConceptIds() != null && getAllForRelationVO.getExcludedConceptIds().contains(i.getId()))
|
|
|
- || (getAllForRelationVO.getRelationConceptId() != null && getAllForRelationVO.getRelationConceptId() == i.getId())) {
|
|
|
+ || (getAllForRelationVO.getExcludedConceptIds() != null
|
|
|
+ && getAllForRelationVO.getExcludedConceptIds().contains(i.getId()))
|
|
|
+ || (getAllForRelationVO.getRelationConceptId() != null
|
|
|
+ && getAllForRelationVO.getRelationConceptId() == i.getId())) {
|
|
|
continue;
|
|
|
}
|
|
|
GetAllForRelationDTO getAllForRelationDTO = new GetAllForRelationDTO();
|
|
@@ -289,17 +309,22 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<>();
|
|
|
libraryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
libraryInfoQe.like("name", getAllInformationVO.getLibName());
|
|
|
- libraryInfoQe.eq(StringUtil.isNotBlank(getAllInformationVO.getType()), "type_id", LexiconTypeEnum.getKey(getAllInformationVO.getType()));
|
|
|
- List<Long> conceptIdList = libraryinfoFacade.list(libraryInfoQe).stream().map(i -> i.getConceptId()).distinct().collect(Collectors.toList());
|
|
|
+ libraryInfoQe.eq(StringUtil.isNotBlank(getAllInformationVO.getType()),
|
|
|
+ "type_id", LexiconTypeEnum.getKey(getAllInformationVO.getType()));
|
|
|
+ List<Long> conceptIdList = libraryinfoFacade.list(libraryInfoQe)
|
|
|
+ .stream().map(i -> i.getConceptId()).distinct().collect(Collectors.toList());
|
|
|
if (ListUtil.isNotEmpty(conceptIdList)) {
|
|
|
conceptQe.in("id", conceptIdList);
|
|
|
} else {
|
|
|
conceptQe.eq("id", -999999999);
|
|
|
}
|
|
|
}
|
|
|
- conceptQe.like(StringUtil.isNotBlank(getAllInformationVO.getName()), "lib_name", getAllInformationVO.getName());
|
|
|
- conceptQe.eq(StringUtil.isNotBlank(getAllInformationVO.getType()), "lib_type", LexiconTypeEnum.getKey(getAllInformationVO.getType()));
|
|
|
- conceptQe.eq(StringUtil.isNotBlank(getAllInformationVO.getIsDeleted()), "is_deleted", getAllInformationVO.getIsDeleted());
|
|
|
+ conceptQe.like(StringUtil.isNotBlank(getAllInformationVO.getName()),
|
|
|
+ "lib_name", getAllInformationVO.getName());
|
|
|
+ conceptQe.eq(StringUtil.isNotBlank(getAllInformationVO.getType()),
|
|
|
+ "lib_type", LexiconTypeEnum.getKey(getAllInformationVO.getType()));
|
|
|
+ conceptQe.eq(StringUtil.isNotBlank(getAllInformationVO.getIsDeleted()),
|
|
|
+ "is_deleted", getAllInformationVO.getIsDeleted());
|
|
|
conceptQe.orderByDesc("sort_deleted");
|
|
|
conceptQe.orderByDesc("gmt_modified");
|
|
|
conceptQe.orderByDesc("id");
|
|
@@ -313,9 +338,11 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<>();
|
|
|
libraryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
libraryInfoQe.in("concept_id", conceptIds);
|
|
|
- Map<Long, List<LibraryInfo>> libraryInfoListMap = libraryinfoFacade.list(libraryInfoQe).stream().collect(Collectors.groupingBy(LibraryInfo::getConceptId));
|
|
|
+ Map<Long, List<LibraryInfo>> libraryInfoListMap = libraryinfoFacade.list(libraryInfoQe)
|
|
|
+ .stream().collect(Collectors.groupingBy(LibraryInfo::getConceptId));
|
|
|
|
|
|
- List<String> userIds = iPage.getRecords().stream().map(i -> i.getModifier()).distinct().collect(Collectors.toList());
|
|
|
+ List<String> userIds = iPage.getRecords().stream()
|
|
|
+ .map(i -> i.getModifier()).distinct().collect(Collectors.toList());
|
|
|
RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(userIds);
|
|
|
RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
|
|
|
iPage.getRecords().forEach(i -> {
|
|
@@ -327,7 +354,11 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
getAllInformationDTO.setOperName(respDTO.data.get(i.getModifier()));
|
|
|
getAllInformationDTO.setOperTime(i.getGmtModified());
|
|
|
if (libraryInfoListMap.get(i.getId()) != null) {
|
|
|
- getAllInformationDTO.setOtherNames(libraryInfoListMap.get(i.getId()).stream().sorted((a, b) -> b.getIsConcept() - a.getIsConcept()).map(k -> k.getName()).collect(Collectors.joining("、")));
|
|
|
+ getAllInformationDTO.setOtherNames(
|
|
|
+ libraryInfoListMap.get(i.getId()).stream()
|
|
|
+ .sorted((a, b) -> b.getIsConcept() - a.getIsConcept())
|
|
|
+ .map(k -> k.getName())
|
|
|
+ .collect(Collectors.joining("、")));
|
|
|
}
|
|
|
getAllInformationDTOList.add(getAllInformationDTO);
|
|
|
});
|
|
@@ -434,13 +465,18 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
|
|
|
QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<LibraryInfo>();
|
|
|
libraryInfoQe.eq("concept_id", getConceptInfoDetailVO.getConceptId());
|
|
|
- List<GetConceptInfoDetailDTO> getConceptInfoDetailDTOList = BeanUtil.listCopyTo(libraryinfoFacade.list(libraryInfoQe), GetConceptInfoDetailDTO.class);
|
|
|
+ List<GetConceptInfoDetailDTO> getConceptInfoDetailDTOList = BeanUtil.listCopyTo(
|
|
|
+ libraryinfoFacade.list(libraryInfoQe), GetConceptInfoDetailDTO.class);
|
|
|
getConceptInfoDetailDTOList.forEach(i -> {
|
|
|
i.setType(LexiconTypeEnum.getName(i.getTypeId().intValue()));
|
|
|
});
|
|
|
|
|
|
- getConceptInfoDTO.setLibName(getConceptInfoDetailDTOList.stream().filter(i -> i.getIsConcept() != null && i.getIsConcept() == 1).collect(Collectors.toList()));
|
|
|
- getConceptInfoDTO.setOtherNames(getConceptInfoDetailDTOList.stream().filter(i -> i.getIsConcept() == null || i.getIsConcept() == 0).collect(Collectors.toList()));
|
|
|
+ getConceptInfoDTO.setLibName(getConceptInfoDetailDTOList.stream()
|
|
|
+ .filter(i -> i.getIsConcept() != null && i.getIsConcept() == 1)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+ getConceptInfoDTO.setOtherNames(getConceptInfoDetailDTOList.stream()
|
|
|
+ .filter(i -> i.getIsConcept() == null || i.getIsConcept() == 0)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
|
|
|
Lexicon lexicon = lexiconFacade.getById(concept.getLibType());
|
|
|
getConceptInfoDTO.setIsHasCommon(lexicon.getIsHasCommon());
|
|
@@ -456,14 +492,14 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if(LexiconTypeEnum.DIAGNOSIS.getKey()==concept.getLibType().intValue()){
|
|
|
- QueryWrapper<Disease> diseaseQe = new QueryWrapper<>();
|
|
|
- diseaseQe.eq("concept_id", concept.getId());
|
|
|
- Disease disease = diseaseFacade.getOne(diseaseQe, false);
|
|
|
- if(disease!=null){
|
|
|
- getConceptInfoDTO.setDeptId(disease.getDeptId());
|
|
|
- getConceptInfoDTO.setClassify(disease.getClassify());
|
|
|
- }
|
|
|
+ if (LexiconTypeEnum.DIAGNOSIS.getKey() == concept.getLibType().intValue()) {
|
|
|
+ QueryWrapper<Disease> diseaseQe = new QueryWrapper<>();
|
|
|
+ diseaseQe.eq("concept_id", concept.getId());
|
|
|
+ Disease disease = diseaseFacade.getOne(diseaseQe, false);
|
|
|
+ if (disease != null) {
|
|
|
+ getConceptInfoDTO.setDeptId(disease.getDeptId());
|
|
|
+ getConceptInfoDTO.setClassify(disease.getClassify());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return getConceptInfoDTO;
|
|
@@ -486,31 +522,38 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
for (AddConceptInfoDetailVO i : addConceptInfoVO.getDetailList()) {
|
|
|
if (i.getName().matches(regEx)) {
|
|
|
//throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "无法输入纯数字或者纯字符,请输入正确数据!");
|
|
|
- throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "无法输入纯数字,请输入正确数据!");
|
|
|
+ throw new CommonException(CommonErrorCode.RPC_ERROR,
|
|
|
+ lineNumStr + "无法输入纯数字,请输入正确数据!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (addConceptInfoVO.getMaxAge() < addConceptInfoVO.getMinAge()) {
|
|
|
- throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "症状发生的最小年龄大于症状发生的最大年龄!");
|
|
|
+ throw new CommonException(CommonErrorCode.RPC_ERROR,
|
|
|
+ lineNumStr + "症状发生的最小年龄大于症状发生的最大年龄!");
|
|
|
}
|
|
|
|
|
|
if (addConceptInfoVO.getDetailList().stream().distinct().count() != addConceptInfoVO.getDetailList().size()) {
|
|
|
- throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "存在重复数据!");
|
|
|
+ throw new CommonException(CommonErrorCode.RPC_ERROR,
|
|
|
+ lineNumStr + "存在重复数据!");
|
|
|
}
|
|
|
|
|
|
- List<AddConceptInfoDetailVO> addConceptInfoDetailVOMainList = addConceptInfoVO.getDetailList().stream().filter(i -> i.getIsConcept() == 1).collect(Collectors.toList());
|
|
|
+ List<AddConceptInfoDetailVO> addConceptInfoDetailVOMainList = addConceptInfoVO.getDetailList()
|
|
|
+ .stream().filter(i -> i.getIsConcept() == 1).collect(Collectors.toList());
|
|
|
if (addConceptInfoDetailVOMainList.size() == 0) {
|
|
|
- throw new CommonException(CommonErrorCode.PARAM_IS_NULL, lineNumStr + "无标准术语!");
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL,
|
|
|
+ lineNumStr + "无标准术语!");
|
|
|
}
|
|
|
if (addConceptInfoDetailVOMainList.size() > 1) {
|
|
|
- throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, lineNumStr + "标准术语只能有一个!");
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_ERROR,
|
|
|
+ lineNumStr + "标准术语只能有一个!");
|
|
|
}
|
|
|
|
|
|
QueryWrapper<Lexicon> lexiconQe = new QueryWrapper<>();
|
|
|
lexiconQe.eq("name", addConceptInfoVO.getType());
|
|
|
Lexicon lexicon = lexiconFacade.getOne(lexiconQe, false);
|
|
|
if (lexicon == null) {
|
|
|
- throw new CommonException(CommonErrorCode.NOT_EXISTS, lineNumStr + "数据有误,该类型信息在数据库中不存在!");
|
|
|
+ throw new CommonException(CommonErrorCode.NOT_EXISTS,
|
|
|
+ lineNumStr + "数据有误,该类型信息在数据库中不存在!");
|
|
|
}
|
|
|
|
|
|
List<LibraryInfo> saveOrUpdateLibraryInfoList = new ArrayList<>();
|
|
@@ -520,13 +563,15 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
//查询当前添加的术语是否已经在数据库中
|
|
|
QueryWrapper<LibraryInfo> libraryInfoQe1 = new QueryWrapper<>();
|
|
|
libraryInfoQe1.eq("type_id", lexicon.getId());
|
|
|
- libraryInfoQe1.in("name", addConceptInfoVO.getDetailList().stream().map(i -> i.getName()).collect(Collectors.toList()));
|
|
|
+ libraryInfoQe1.in("name", addConceptInfoVO.getDetailList()
|
|
|
+ .stream().map(i -> i.getName()).collect(Collectors.toList()));
|
|
|
List<LibraryInfo> libraryInfoList = libraryinfoFacade.list(libraryInfoQe1);
|
|
|
|
|
|
String currentUser = UserUtils.getCurrentPrincipleID();
|
|
|
Date now = DateUtil.now();
|
|
|
|
|
|
- Map<String, LibraryInfo> libraryInfoMap = libraryInfoList.stream().collect(Collectors.toMap(LibraryInfo::getName, i -> i));
|
|
|
+ Map<String, LibraryInfo> libraryInfoMap = libraryInfoList.stream()
|
|
|
+ .collect(Collectors.toMap(LibraryInfo::getName, i -> i));
|
|
|
LibraryInfo libraryInfoMain = libraryInfoMap.get(addConceptInfoDetailVOMain.getName());
|
|
|
Concept concept = new Concept();
|
|
|
Long conceptId = null;
|
|
@@ -557,14 +602,18 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
if (concept.getIsDeleted().equals("N")) {
|
|
|
throw new CommonException(CommonErrorCode.RPC_ERROR, "该数据已经建立!");
|
|
|
} else {
|
|
|
- throw new CommonException(CommonErrorCode.RPC_ERROR, "该数据已经建立且处于已删除状态,可前往列表中恢复该条数据!");
|
|
|
+ throw new CommonException(CommonErrorCode.RPC_ERROR,
|
|
|
+ "该数据已经建立且处于已删除状态,可前往列表中恢复该条数据!");
|
|
|
}
|
|
|
} else if (addConceptInfoVO.getConceptId().intValue() != ckConceptId) {
|
|
|
throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "标准术语已被占用!");
|
|
|
}
|
|
|
- } else if (addConceptInfoVO.getLineNum() == null && addConceptInfoVO.getConceptId() == null && concept != null
|
|
|
+ } else if (addConceptInfoVO.getLineNum() == null
|
|
|
+ && addConceptInfoVO.getConceptId() == null
|
|
|
+ && concept != null
|
|
|
|| libraryInfoList.stream().filter(i -> i.getConceptId().intValue() == ckConceptId).count() == 1) {
|
|
|
- throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "标准术语已作为同义词被占用!");
|
|
|
+ throw new CommonException(CommonErrorCode.RPC_ERROR,
|
|
|
+ lineNumStr + "标准术语已作为同义词被占用!");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -647,30 +696,30 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
conceptCommonFacade.saveOrUpdate(conceptCommon);
|
|
|
}
|
|
|
|
|
|
- if(lexicon.getName().equals(LexiconTypeEnum.DIAGNOSIS.getName())){
|
|
|
- QueryWrapper<Disease> diseaseQe = new QueryWrapper<>();
|
|
|
- diseaseQe.eq("concept_id", conceptId);
|
|
|
- Disease disease = diseaseFacade.getOne(diseaseQe, false);
|
|
|
- if(disease==null){
|
|
|
- disease = new Disease();
|
|
|
- disease.setGmtCreate(now);
|
|
|
- disease.setCreator(currentUser);
|
|
|
- }
|
|
|
- disease.setConceptId(conceptId);
|
|
|
- disease.setGmtModified(now);
|
|
|
- disease.setModifier(currentUser);
|
|
|
-
|
|
|
- if(addConceptInfoVO.getAddCptDiseaseExtVO()==null){
|
|
|
- QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
|
|
|
- conceptQe.eq("lib_name", "全科");
|
|
|
- conceptQe.eq("lib_type", LexiconTypeEnum.DEPARTMENT.getKey());
|
|
|
- disease.setDeptId(getOne(conceptQe, false).getId());
|
|
|
- disease.setClassify(DiseaseClassifyEnum.LevelFirst.getName());
|
|
|
- }else{
|
|
|
- BeanUtil.copyProperties(addConceptInfoVO.getAddCptDiseaseExtVO(), disease);
|
|
|
- }
|
|
|
-
|
|
|
- diseaseFacade.saveOrUpdate(disease);
|
|
|
+ if (lexicon.getName().equals(LexiconTypeEnum.DIAGNOSIS.getName())) {
|
|
|
+ QueryWrapper<Disease> diseaseQe = new QueryWrapper<>();
|
|
|
+ diseaseQe.eq("concept_id", conceptId);
|
|
|
+ Disease disease = diseaseFacade.getOne(diseaseQe, false);
|
|
|
+ if (disease == null) {
|
|
|
+ disease = new Disease();
|
|
|
+ disease.setGmtCreate(now);
|
|
|
+ disease.setCreator(currentUser);
|
|
|
+ }
|
|
|
+ disease.setConceptId(conceptId);
|
|
|
+ disease.setGmtModified(now);
|
|
|
+ disease.setModifier(currentUser);
|
|
|
+
|
|
|
+ if (addConceptInfoVO.getAddCptDiseaseExtVO() == null) {
|
|
|
+ QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
|
|
|
+ conceptQe.eq("lib_name", "全科");
|
|
|
+ conceptQe.eq("lib_type", LexiconTypeEnum.DEPARTMENT.getKey());
|
|
|
+ disease.setDeptId(getOne(conceptQe, false).getId());
|
|
|
+ disease.setClassify(DiseaseClassifyEnum.LevelFirst.getName());
|
|
|
+ } else {
|
|
|
+ BeanUtil.copyProperties(addConceptInfoVO.getAddCptDiseaseExtVO(), disease);
|
|
|
+ }
|
|
|
+
|
|
|
+ diseaseFacade.saveOrUpdate(disease);
|
|
|
}
|
|
|
|
|
|
return true;
|
|
@@ -749,7 +798,9 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
&& StringUtil.isEmpty(otherNames) && StringUtil.isEmpty(remark)) {
|
|
|
continue;
|
|
|
}
|
|
|
- if (StringUtil.isEmpty(libName) || StringUtil.isEmpty(libType) || StringUtil.isEmpty(otherNames)) {
|
|
|
+ if (StringUtil.isEmpty(libName)
|
|
|
+ || StringUtil.isEmpty(libType)
|
|
|
+ || StringUtil.isEmpty(otherNames)) {
|
|
|
sbf.append("第" + count + "行数据不完整;").append("<br/>");
|
|
|
continue;
|
|
|
}
|
|
@@ -856,7 +907,8 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
}
|
|
|
|
|
|
if (addConceptInfoVOList.size() > 5000) {
|
|
|
- throw new CommonException(CommonErrorCode.RPC_ERROR, "当前数据导入失败,单次导入最多可支持5千条数据导入");
|
|
|
+ throw new CommonException(CommonErrorCode.RPC_ERROR,
|
|
|
+ "当前数据导入失败,单次导入最多可支持5千条数据导入");
|
|
|
}
|
|
|
|
|
|
/****************excel文件中所有术语存在重复提示---名字和类型一样即重复***********************/
|
|
@@ -864,9 +916,12 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
addConceptInfoVOList.forEach(i -> {
|
|
|
addConceptInfoDetailVOList.addAll(i.getDetailList());
|
|
|
});
|
|
|
- Map<String, List<AddConceptInfoDetailVO>> addConceptInfoDetailVOListMap = addConceptInfoDetailVOList.stream().collect(Collectors.groupingBy(AddConceptInfoDetailVO::getName));
|
|
|
+ Map<String, List<AddConceptInfoDetailVO>> addConceptInfoDetailVOListMap
|
|
|
+ = addConceptInfoDetailVOList.stream()
|
|
|
+ .collect(Collectors.groupingBy(AddConceptInfoDetailVO::getName));
|
|
|
for (String key : addConceptInfoDetailVOListMap.keySet()) {
|
|
|
- if (addConceptInfoDetailVOListMap.get(key).size() > 1 && addConceptInfoDetailVOListMap.get(key).stream().map(i -> i.getType()).distinct().count() == 1) {
|
|
|
+ if (addConceptInfoDetailVOListMap.get(key).size() > 1
|
|
|
+ && addConceptInfoDetailVOListMap.get(key).stream().map(i -> i.getType()).distinct().count() == 1) {
|
|
|
sbf.append(key).append(" ");
|
|
|
}
|
|
|
}
|
|
@@ -883,16 +938,20 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
|
|
|
////优化后
|
|
|
QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<>();
|
|
|
- libraryInfoQe.in("name", addConceptInfoDetailVOList.stream().map(i -> i.getName()).distinct().collect(Collectors.toList()));
|
|
|
- Map<String, List<LibraryInfo>> libraryInfoListMap = libraryinfoFacade.list(libraryInfoQe).stream().collect(Collectors.groupingBy(LibraryInfo::getName));
|
|
|
+ libraryInfoQe.in("name", addConceptInfoDetailVOList.stream()
|
|
|
+ .map(i -> i.getName()).distinct().collect(Collectors.toList()));
|
|
|
+ Map<String, List<LibraryInfo>> libraryInfoListMap = libraryinfoFacade.list(libraryInfoQe)
|
|
|
+ .stream().collect(Collectors.groupingBy(LibraryInfo::getName));
|
|
|
|
|
|
- Map<String, Lexicon> lexiconMap = lexiconFacade.list().stream().collect(Collectors.toMap(Lexicon::getName, i -> i));
|
|
|
+ Map<String, Lexicon> lexiconMap = lexiconFacade.list().stream()
|
|
|
+ .collect(Collectors.toMap(Lexicon::getName, i -> i));
|
|
|
|
|
|
String ckmsg = null;
|
|
|
for (AddConceptInfoVO addConceptInfoVO : addConceptInfoVOList) {
|
|
|
ckmsg = checkImConceptInfo(addConceptInfoVO, libraryInfoListMap, lexiconMap);
|
|
|
if (StringUtil.isNotBlank(ckmsg)) {
|
|
|
- sbf.append("第").append(addConceptInfoVO.getLineNum()).append("行").append(ckmsg).append("<br/>");
|
|
|
+ sbf.append("第").append(addConceptInfoVO.getLineNum())
|
|
|
+ .append("行").append(ckmsg).append("<br/>");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -913,7 +972,9 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
* @param lexiconMap
|
|
|
* @return
|
|
|
*/
|
|
|
- public String checkImConceptInfo(AddConceptInfoVO addConceptInfoVO, Map<String, List<LibraryInfo>> libraryInfoListAllMap, Map<String, Lexicon> lexiconMap) {
|
|
|
+ public String checkImConceptInfo(AddConceptInfoVO addConceptInfoVO,
|
|
|
+ Map<String, List<LibraryInfo>> libraryInfoListAllMap,
|
|
|
+ Map<String, Lexicon> lexiconMap) {
|
|
|
String currentUser = UserUtils.getCurrentPrincipleID();
|
|
|
Date now = DateUtil.now();
|
|
|
|
|
@@ -921,7 +982,8 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
ConceptCommon conceptCommon = null;
|
|
|
List<LibraryInfo> libraryInfoList = Lists.newArrayList();
|
|
|
|
|
|
- List<AddConceptInfoDetailVO> addConceptInfoDetailVOMainList = addConceptInfoVO.getDetailList().stream().filter(i -> i.getIsConcept() == 1).collect(Collectors.toList());
|
|
|
+ List<AddConceptInfoDetailVO> addConceptInfoDetailVOMainList = addConceptInfoVO.getDetailList()
|
|
|
+ .stream().filter(i -> i.getIsConcept() == 1).collect(Collectors.toList());
|
|
|
if (addConceptInfoDetailVOMainList.size() == 0) {
|
|
|
return "同义词中缺少标准词本体!";
|
|
|
}
|
|
@@ -950,13 +1012,15 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
addConceptInfoVO.getDetailList().forEach(a -> {
|
|
|
List<LibraryInfo> libraryInfoListAll = libraryInfoListAllMap.get(a.getName());
|
|
|
if (ListUtil.isNotEmpty(libraryInfoListAll)) {
|
|
|
- libraryInfoListAll = libraryInfoListAll.stream().filter(b -> b.getTypeId().intValue() == typeId.intValue()).collect(Collectors.toList());
|
|
|
+ libraryInfoListAll = libraryInfoListAll.stream()
|
|
|
+ .filter(b -> b.getTypeId().intValue() == typeId.intValue()).collect(Collectors.toList());
|
|
|
if (ListUtil.isNotEmpty(libraryInfoListAll)) {
|
|
|
extLibraryInfoList.add(libraryInfoListAll.get(0));
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
- Map<String, LibraryInfo> extLibraryInfoMap = extLibraryInfoList.stream().collect(Collectors.toMap(LibraryInfo::getName, i -> i));
|
|
|
+ Map<String, LibraryInfo> extLibraryInfoMap = extLibraryInfoList.stream()
|
|
|
+ .collect(Collectors.toMap(LibraryInfo::getName, i -> i));
|
|
|
|
|
|
LibraryInfo libraryInfoMain = extLibraryInfoMap.get(addConceptInfoDetailVOMainList.get(0).getName());
|
|
|
Long conceptId = null;
|
|
@@ -973,7 +1037,8 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
concept.setId(conceptId);
|
|
|
addConceptInfoVO.setConceptId(conceptId);
|
|
|
|
|
|
- if (libraryInfoMain.getIsConcept() != 1 && extLibraryInfoList.stream().filter(i -> i.getConceptId().intValue() == libraryInfoMain.getConceptId().intValue()).count() == 1) {
|
|
|
+ if (libraryInfoMain.getIsConcept() != 1 && extLibraryInfoList.stream()
|
|
|
+ .filter(i -> i.getConceptId().intValue() == libraryInfoMain.getConceptId().intValue()).count() == 1) {
|
|
|
return "标准术语已作为同义词被占用!";
|
|
|
}
|
|
|
}
|
|
@@ -1021,7 +1086,9 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
* @param addConceptInfoVOList
|
|
|
*/
|
|
|
private void saveAddConceptInfoVOList(List<AddConceptInfoVO> addConceptInfoVOList) {
|
|
|
- List<Long> conceptIds = addConceptInfoVOList.stream().filter(i -> i.getConceptId() != null).map(i -> i.getConceptId()).collect(Collectors.toList());
|
|
|
+ List<Long> conceptIds = addConceptInfoVOList.stream()
|
|
|
+ .filter(i -> i.getConceptId() != null)
|
|
|
+ .map(i -> i.getConceptId()).collect(Collectors.toList());
|
|
|
if (ListUtil.isNotEmpty(conceptIds)) {
|
|
|
QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<>();
|
|
|
libraryInfoQe.in("concept_id", conceptIds);
|
|
@@ -1041,7 +1108,8 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
saveOrUpdateConceptList.add(i.getConcept());
|
|
|
});
|
|
|
//删除标签缓存
|
|
|
- List<Long> saveConceptIds = saveOrUpdateConceptList.stream().map(i -> i.getId()).filter(j -> j != null).distinct().collect(Collectors.toList());
|
|
|
+ List<Long> saveConceptIds = saveOrUpdateConceptList.stream()
|
|
|
+ .map(i -> i.getId()).filter(j -> j != null).distinct().collect(Collectors.toList());
|
|
|
this.cacheClearByConceptIds(saveConceptIds);
|
|
|
conceptService.saveOrUpdateBatch(saveOrUpdateConceptList);
|
|
|
|
|
@@ -1063,11 +1131,13 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
if (ListUtil.isNotEmpty(conceptIds)) {
|
|
|
QueryWrapper<ConceptCommon> conceptCommonQe = new QueryWrapper<>();
|
|
|
conceptCommonQe.in("concept_id", conceptIds);
|
|
|
- conceptCommonMap = conceptCommonFacade.list(conceptCommonQe).stream().collect(Collectors.toMap(ConceptCommon::getConceptId, i -> i));
|
|
|
+ conceptCommonMap = conceptCommonFacade.list(conceptCommonQe)
|
|
|
+ .stream().collect(Collectors.toMap(ConceptCommon::getConceptId, i -> i));
|
|
|
}
|
|
|
for (AddConceptInfoVO i : addConceptInfoVOList) {
|
|
|
if (i.getConceptCommon() != null) {
|
|
|
- if (i.getConceptId() != null && conceptCommonMap != null && conceptCommonMap.containsKey(i.getConceptId())) {
|
|
|
+ if (i.getConceptId() != null && conceptCommonMap != null
|
|
|
+ && conceptCommonMap.containsKey(i.getConceptId())) {
|
|
|
i.getConceptCommon().setId(conceptCommonMap.get(i.getConceptId()).getId());
|
|
|
}
|
|
|
i.getConceptCommon().setConceptId(i.getConcept().getId());
|
|
@@ -1078,29 +1148,32 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
conceptCommonService.saveOrUpdateBatch(saveOrUpdateConceptCommonList);
|
|
|
}
|
|
|
|
|
|
- List<AddConceptInfoVO> disExtConList = addConceptInfoVOList.stream().filter(i->i.getConceptId()==null&&i.getType().equals(LexiconTypeEnum.DIAGNOSIS.getName())).collect(Collectors.toList());
|
|
|
- if(ListUtil.isNotEmpty(disExtConList)){
|
|
|
- String currentUser = UserUtils.getCurrentPrincipleID();
|
|
|
+ List<AddConceptInfoVO> disExtConList = addConceptInfoVOList.stream()
|
|
|
+ .filter(i -> i.getConceptId() == null
|
|
|
+ && i.getType().equals(LexiconTypeEnum.DIAGNOSIS.getName()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (ListUtil.isNotEmpty(disExtConList)) {
|
|
|
+ String currentUser = UserUtils.getCurrentPrincipleID();
|
|
|
Date now = DateUtil.now();
|
|
|
|
|
|
QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
|
|
|
- conceptQe.eq("lib_name", "全科");
|
|
|
- conceptQe.eq("lib_type", LexiconTypeEnum.DEPARTMENT.getKey());
|
|
|
- Concept deptConcept = getOne(conceptQe, false);
|
|
|
+ conceptQe.eq("lib_name", "全科");
|
|
|
+ conceptQe.eq("lib_type", LexiconTypeEnum.DEPARTMENT.getKey());
|
|
|
+ Concept deptConcept = getOne(conceptQe, false);
|
|
|
|
|
|
List<Disease> saveDiseaseList = Lists.newArrayList();
|
|
|
- disExtConList.forEach(i->{
|
|
|
- Disease disease = new Disease();
|
|
|
- disease.setGmtCreate(now);
|
|
|
- disease.setCreator(currentUser);
|
|
|
- disease.setGmtModified(now);
|
|
|
- disease.setModifier(currentUser);
|
|
|
- disease.setConceptId(i.getConcept().getId());
|
|
|
- disease.setDeptId(deptConcept.getId());
|
|
|
- disease.setClassify("Ⅰ");
|
|
|
- saveDiseaseList.add(disease);
|
|
|
+ disExtConList.forEach(i -> {
|
|
|
+ Disease disease = new Disease();
|
|
|
+ disease.setGmtCreate(now);
|
|
|
+ disease.setCreator(currentUser);
|
|
|
+ disease.setGmtModified(now);
|
|
|
+ disease.setModifier(currentUser);
|
|
|
+ disease.setConceptId(i.getConcept().getId());
|
|
|
+ disease.setDeptId(deptConcept.getId());
|
|
|
+ disease.setClassify("Ⅰ");
|
|
|
+ saveDiseaseList.add(disease);
|
|
|
});
|
|
|
- diseaseService.saveBatch(saveDiseaseList);
|
|
|
+ diseaseService.saveBatch(saveDiseaseList);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1174,7 +1247,7 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
if (ids.size() == 1) {
|
|
|
conceptQueryWrapper.eq("id", ids.get(0));
|
|
|
} else {
|
|
|
- conceptQueryWrapper.in("id", ids);
|
|
|
+ conceptQueryWrapper.in(ListUtil.isNotEmpty(ids), "id", ids);
|
|
|
}
|
|
|
|
|
|
List<Concept> list = this.list(conceptQueryWrapper);
|
|
@@ -1314,7 +1387,7 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
public List<Concept> getListByNamesAndType(List<String> nameList, Integer libType) {
|
|
|
QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
|
|
|
conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .in("lib_name", nameList);
|
|
|
+ .in(ListUtil.isNotEmpty(nameList), "lib_name", nameList);
|
|
|
if (libType != null) {
|
|
|
conceptQueryWrapper.eq("lib_type", libType);
|
|
|
}
|
|
@@ -1479,13 +1552,21 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
public Boolean cacheClearByConceptIds(List<Long> conceptIds) {
|
|
|
List<Concept> concepts = this.getListByIds(conceptIds);
|
|
|
List<String> mealNames = Lists.newArrayList();
|
|
|
- List<Concept> mealConcepts = concepts.stream().filter(i -> i.getLibType().equals(Long.valueOf(LexiconTypeEnum.LIS_PACKAGE.getKey()))).collect(Collectors.toList());
|
|
|
- mealNames.addAll(mealConcepts.stream().map(i -> i.getLibName()).filter(j -> j != null).distinct().collect(Collectors.toList()));
|
|
|
- List<Concept> itemConcepts = concepts.stream().filter(i -> i.getLibType().equals(Long.valueOf(LexiconTypeEnum.LIS_DETAILS.getKey()))).collect(Collectors.toList());
|
|
|
- List<String> itemNames = itemConcepts.stream().map(i -> i.getLibName()).filter(j -> j != null).distinct().collect(Collectors.toList());
|
|
|
+ List<Concept> mealConcepts = concepts.stream()
|
|
|
+ .filter(i -> i.getLibType().equals(Long.valueOf(LexiconTypeEnum.LIS_PACKAGE.getKey())))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ mealNames.addAll(mealConcepts.stream()
|
|
|
+ .map(i -> i.getLibName()).filter(j -> j != null).distinct().collect(Collectors.toList()));
|
|
|
+ List<Concept> itemConcepts = concepts.stream()
|
|
|
+ .filter(i -> i.getLibType().equals(Long.valueOf(LexiconTypeEnum.LIS_DETAILS.getKey())))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ List<String> itemNames = itemConcepts.stream().map(i -> i.getLibName()).filter(j -> j != null)
|
|
|
+ .distinct().collect(Collectors.toList());
|
|
|
mealNames.addAll(lisMappingFacade.getMealNameByItemNames(itemNames));
|
|
|
- List<Concept> uniqueConcepts = concepts.stream().filter(i -> i.getLibType().equals(Long.valueOf(LexiconTypeEnum.LIS_TABLES.getKey()))).collect(Collectors.toList());
|
|
|
- List<String> uniqueNames = uniqueConcepts.stream().map(i -> i.getLibName()).filter(j -> j != null).distinct().collect(Collectors.toList());
|
|
|
+ List<Concept> uniqueConcepts = concepts.stream().filter(i -> i.getLibType()
|
|
|
+ .equals(Long.valueOf(LexiconTypeEnum.LIS_TABLES.getKey()))).collect(Collectors.toList());
|
|
|
+ List<String> uniqueNames = uniqueConcepts.stream().map(i -> i.getLibName())
|
|
|
+ .filter(j -> j != null).distinct().collect(Collectors.toList());
|
|
|
mealNames.addAll(lisMappingFacade.getMealNameByUniqueNames(uniqueNames));
|
|
|
mealNames = mealNames.stream().filter(i -> StringUtil.isNotBlank(i)).distinct().collect(Collectors.toList());
|
|
|
|