|
@@ -68,7 +68,8 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<StaticKnowledgeIndexDTO> staticKnowledgeIndexWithoutInfo(StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
|
|
|
- List<StaticKnowledgeIndexDTO> staticKnowledgeIndexDTOList = staticKnowledgeIndex(staticKnowledgeIndexVO, 1);
|
|
|
+ staticKnowledgeIndexVO.setHasInfo(0);
|
|
|
+ List<StaticKnowledgeIndexDTO> staticKnowledgeIndexDTOList = staticKnowledgeIndex(staticKnowledgeIndexVO);
|
|
|
//过滤没有静态知识的检索结果
|
|
|
staticKnowledgeIndexDTOList = staticKnowledgeIndexDTOList
|
|
|
.stream()
|
|
@@ -81,10 +82,9 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
|
|
|
* 医学知识(静态信息)检索
|
|
|
*
|
|
|
* @param staticKnowledgeIndexVO
|
|
|
- * @param type 0:过滤逻辑删除数据,1:不过滤逻辑删除数据
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<StaticKnowledgeIndexDTO> staticKnowledgeIndex(StaticKnowledgeIndexVO staticKnowledgeIndexVO, Integer type) {
|
|
|
+ public List<StaticKnowledgeIndexDTO> staticKnowledgeIndex(StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
|
|
|
List<StaticKnowledgeIndexDTO> retList = Lists.newLinkedList();
|
|
|
//静态知识检索顺序
|
|
|
List<DictionaryInfoDTO> dicStaticIndexList = dictionaryFacade.getListByGroupType(7);
|
|
@@ -100,64 +100,64 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
|
|
|
staticKnowledgeIndexDTOList.forEach(item -> {
|
|
|
item.setTypeName(convertTypeName(item.getTypeName(), 2, dicTypeMappingList));
|
|
|
});
|
|
|
- //是否有静态知识
|
|
|
- List<String> conNameList = staticKnowledgeIndexDTOList
|
|
|
- .stream()
|
|
|
- .map(i -> i.getName())
|
|
|
- .collect(Collectors.toList());
|
|
|
- QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
|
|
|
- conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .in("name", conNameList);
|
|
|
- if (type.equals(0)) {
|
|
|
- conceptInfoQueryWrapper.eq("status", StatusEnum.Enable.getKey());
|
|
|
- }
|
|
|
- List<ConceptInfo> conceptInfoList = this.list(conceptInfoQueryWrapper);
|
|
|
- if (ListUtil.isNotEmpty(conceptInfoList)) {
|
|
|
- //typeName转换
|
|
|
- conceptInfoList.forEach(item -> {
|
|
|
- item.setType(convertTypeName(item.getType(), 2, dicTypeMappingList));
|
|
|
- });
|
|
|
- Map<String, ConceptInfo> infoMap
|
|
|
- = EntityUtil.makeEntityMapByKeys(conceptInfoList, "_", "name", "type");
|
|
|
- for (StaticKnowledgeIndexDTO item : staticKnowledgeIndexDTOList) {
|
|
|
- if (infoMap.containsKey(item.getName() + "_" + item.getTypeName())) {
|
|
|
- item.setId(infoMap.get(item.getName() + "_" + item.getTypeName()).getId());
|
|
|
- }
|
|
|
- }
|
|
|
- List<Long> conceptIdList = conceptInfoList.stream()
|
|
|
- .map(i -> i.getId())
|
|
|
+ if (staticKnowledgeIndexVO.getHasInfo().equals(1)) {
|
|
|
+ //是否有静态知识
|
|
|
+ List<String> conNameList = staticKnowledgeIndexDTOList
|
|
|
+ .stream()
|
|
|
+ .map(i -> i.getName())
|
|
|
.collect(Collectors.toList());
|
|
|
- if (ListUtil.isNotEmpty(conceptIdList)) {
|
|
|
- QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
|
|
|
- conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
- conceptDetailQueryWrapper.in("concept_id", conceptIdList);
|
|
|
- List<ConceptDetail> conceptDetailList = conceptDetailFacade.list(conceptDetailQueryWrapper);
|
|
|
- Map<Long, List<ConceptDetail>> detailMap
|
|
|
- = EntityUtil.makeEntityListMap(conceptDetailList, "conceptId");
|
|
|
+ QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
|
|
|
+ conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .in("name", conNameList)
|
|
|
+ .eq("status", StatusEnum.Enable.getKey());
|
|
|
+ List<ConceptInfo> conceptInfoList = this.list(conceptInfoQueryWrapper);
|
|
|
+ if (ListUtil.isNotEmpty(conceptInfoList)) {
|
|
|
+ //typeName转换
|
|
|
+ conceptInfoList.forEach(item -> {
|
|
|
+ item.setType(convertTypeName(item.getType(), 2, dicTypeMappingList));
|
|
|
+ });
|
|
|
+ Map<String, ConceptInfo> infoMap
|
|
|
+ = EntityUtil.makeEntityMapByKeys(conceptInfoList, "_", "name", "type");
|
|
|
for (StaticKnowledgeIndexDTO item : staticKnowledgeIndexDTOList) {
|
|
|
- if (item.getId() == null
|
|
|
- || !detailMap.containsKey(item.getId())) {
|
|
|
- item.setHasInfo(0);
|
|
|
- item.setHasStaticKnowledge(0);
|
|
|
- item.setHasClinicalPathway(0);
|
|
|
- item.setHasNotice((0));
|
|
|
- item.setHasTreatInfo(0);
|
|
|
- continue;
|
|
|
+ if (infoMap.containsKey(item.getName() + "_" + item.getTypeName())) {
|
|
|
+ item.setId(infoMap.get(item.getName() + "_" + item.getTypeName()).getId());
|
|
|
}
|
|
|
- for (ConceptDetail detail : detailMap.get(item.getId())) {
|
|
|
- item.setHasInfo(1);
|
|
|
- List<String> contentTypeList = Arrays.asList(detail.getContentType().split(","));
|
|
|
- if (contentTypeList.contains("1")) {
|
|
|
- item.setHasStaticKnowledge(1);
|
|
|
- }
|
|
|
- if (contentTypeList.contains("2")) {
|
|
|
- item.setHasNotice(1);
|
|
|
- }
|
|
|
- if (contentTypeList.contains("3")) {
|
|
|
- item.setHasClinicalPathway(1);
|
|
|
+ }
|
|
|
+ List<Long> conceptIdList = conceptInfoList.stream()
|
|
|
+ .map(i -> i.getId())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (ListUtil.isNotEmpty(conceptIdList)) {
|
|
|
+ QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
|
|
|
+ conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ conceptDetailQueryWrapper.in("concept_id", conceptIdList);
|
|
|
+ List<ConceptDetail> conceptDetailList = conceptDetailFacade.list(conceptDetailQueryWrapper);
|
|
|
+ Map<Long, List<ConceptDetail>> detailMap
|
|
|
+ = EntityUtil.makeEntityListMap(conceptDetailList, "conceptId");
|
|
|
+ for (StaticKnowledgeIndexDTO item : staticKnowledgeIndexDTOList) {
|
|
|
+ if (item.getId() == null
|
|
|
+ || !detailMap.containsKey(item.getId())) {
|
|
|
+ item.setHasInfo(0);
|
|
|
+ item.setHasStaticKnowledge(0);
|
|
|
+ item.setHasClinicalPathway(0);
|
|
|
+ item.setHasNotice((0));
|
|
|
+ item.setHasTreatInfo(0);
|
|
|
+ continue;
|
|
|
}
|
|
|
- if (contentTypeList.contains("4")) {
|
|
|
- item.setHasTreatInfo(1);
|
|
|
+ for (ConceptDetail detail : detailMap.get(item.getId())) {
|
|
|
+ item.setHasInfo(1);
|
|
|
+ List<String> contentTypeList = Arrays.asList(detail.getContentType().split(","));
|
|
|
+ if (contentTypeList.contains("1")) {
|
|
|
+ item.setHasStaticKnowledge(1);
|
|
|
+ }
|
|
|
+ if (contentTypeList.contains("2")) {
|
|
|
+ item.setHasNotice(1);
|
|
|
+ }
|
|
|
+ if (contentTypeList.contains("3")) {
|
|
|
+ item.setHasClinicalPathway(1);
|
|
|
+ }
|
|
|
+ if (contentTypeList.contains("4")) {
|
|
|
+ item.setHasTreatInfo(1);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -295,7 +295,7 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
|
|
|
RespDTO<Boolean> respDTO = cdssCoreClient.updateHasInfoStatus(hasStaticKnowledgeVO);
|
|
|
//更新失败
|
|
|
if (RespDTOUtil.respIsNG(respDTO)) {
|
|
|
-
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "图谱更新静态知识状态失败");
|
|
|
}
|
|
|
}
|
|
|
|