|
@@ -16,11 +16,13 @@ import com.diagbot.dto.GetConceptInfoDetailDTO;
|
|
|
import com.diagbot.dto.RespDTO;
|
|
|
import com.diagbot.entity.Concept;
|
|
|
import com.diagbot.entity.ConceptCommon;
|
|
|
+import com.diagbot.entity.Disease;
|
|
|
import com.diagbot.entity.Lexicon;
|
|
|
import com.diagbot.entity.LibraryInfo;
|
|
|
import com.diagbot.entity.QuestionInfo;
|
|
|
import com.diagbot.entity.Relation;
|
|
|
import com.diagbot.entity.wrapper.ConceptWrapper;
|
|
|
+import com.diagbot.enums.DiseaseClassifyEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.enums.LexiconRSTypeEnum;
|
|
|
import com.diagbot.enums.LexiconTypeEnum;
|
|
@@ -28,6 +30,7 @@ import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
|
import com.diagbot.service.ConceptCommonService;
|
|
|
import com.diagbot.service.ConceptService;
|
|
|
+import com.diagbot.service.DiseaseService;
|
|
|
import com.diagbot.service.LibraryInfoService;
|
|
|
import com.diagbot.service.impl.ConceptServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
@@ -108,6 +111,11 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
@Autowired
|
|
|
private ConceptCommonFacade conceptCommonFacade;
|
|
|
@Autowired
|
|
|
+ private DiseaseFacade diseaseFacade;
|
|
|
+ @Autowired
|
|
|
+ @Qualifier("diseaseServiceImpl")
|
|
|
+ private DiseaseService diseaseService;
|
|
|
+ @Autowired
|
|
|
private LisMappingFacade lisMappingFacade;
|
|
|
@Autowired
|
|
|
private ICSSManServiceClient icssManServiceClient;
|
|
@@ -434,9 +442,10 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
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()));
|
|
|
|
|
|
- Integer isHasCommon = lexiconFacade.getById(concept.getLibType()).getIsHasCommon();
|
|
|
- getConceptInfoDTO.setIsHasCommon(isHasCommon);
|
|
|
- if (isHasCommon == 1) {
|
|
|
+ Lexicon lexicon = lexiconFacade.getById(concept.getLibType());
|
|
|
+ getConceptInfoDTO.setIsHasCommon(lexicon.getIsHasCommon());
|
|
|
+ getConceptInfoDTO.setType(lexicon.getName());
|
|
|
+ if (lexicon.getIsHasCommon() == 1) {
|
|
|
QueryWrapper<ConceptCommon> conceptCommonQe = new QueryWrapper<>();
|
|
|
conceptCommonQe.eq("concept_id", getConceptInfoDetailVO.getConceptId());
|
|
|
ConceptCommon conceptCommon = conceptCommonFacade.getOne(conceptCommonQe);
|
|
@@ -447,6 +456,16 @@ 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);
|
|
|
+ if(disease!=null){
|
|
|
+ getConceptInfoDTO.setDeptId(disease.getDeptId());
|
|
|
+ getConceptInfoDTO.setClassify(disease.getClassify());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return getConceptInfoDTO;
|
|
|
}
|
|
|
|
|
@@ -628,6 +647,32 @@ 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);
|
|
|
+ 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).getId());
|
|
|
+ disease.setClassify(DiseaseClassifyEnum.LevelFirst.getName());
|
|
|
+ }else{
|
|
|
+ BeanUtil.copyProperties(addConceptInfoVO.getAddCptDiseaseExtVO(), disease);
|
|
|
+ }
|
|
|
+
|
|
|
+ diseaseFacade.saveOrUpdate(disease);
|
|
|
+ }
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -1032,6 +1077,31 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
if (ListUtil.isNotEmpty(saveOrUpdateConceptCommonList)) {
|
|
|
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();
|
|
|
+ Date now = DateUtil.now();
|
|
|
+
|
|
|
+ QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
|
|
|
+ conceptQe.eq("lib_name", "全科");
|
|
|
+ conceptQe.eq("lib_type", LexiconTypeEnum.DEPARTMENT.getKey());
|
|
|
+ Concept deptConcept = getOne(conceptQe);
|
|
|
+
|
|
|
+ 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);
|
|
|
+ });
|
|
|
+ diseaseService.saveBatch(saveDiseaseList);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@SuppressWarnings("deprecation")
|