Browse Source

Merge branch 'dev/diagbotcloud20190918_vital' into dev/diagbotcloud20190924_diagnose2

gaodm 5 years ago
parent
commit
1aa39a5f0c
59 changed files with 2032 additions and 1565 deletions
  1. 17 4
      aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java
  2. 31 14
      aipt-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java
  3. 30 21
      aipt-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  4. 12 6
      aipt-service/src/main/java/com/diagbot/facade/FeatureFacade.java
  5. 4 6
      aipt-service/src/main/java/com/diagbot/facade/LisMappingFacade.java
  6. 6 8
      aipt-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java
  7. 41 13
      aipt-service/src/main/java/com/diagbot/facade/PushFacade.java
  8. 71 21
      aipt-service/src/main/java/com/diagbot/facade/TreatmentFacade.java
  9. 7 9
      aipt-service/src/main/java/com/diagbot/web/PatientInfoController.java
  10. 35 25
      diagbotman-service/src/main/java/com/diagbot/facade/ProductServiceFacade.java
  11. 3 0
      diagbotman-service/src/main/java/com/diagbot/facade/ServiceTokenFacade.java
  12. 29 30
      diagbotman-service/src/main/java/com/diagbot/web/ProductOrderController.java
  13. 11 3
      icss-service/src/main/java/com/diagbot/facade/FeatureFacade.java
  14. 135 112
      icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java
  15. 6 7
      icss-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java
  16. 36 15
      icss-service/src/main/java/com/diagbot/facade/PushFacade.java
  17. 14 12
      icss-service/src/main/java/com/diagbot/facade/RetrievalFacade.java
  18. 5 2
      icss-service/src/main/java/com/diagbot/facade/TreatmentFacade.java
  19. 15 18
      icss-service/src/main/java/com/diagbot/web/InquiryInfoController.java
  20. 7 9
      icss-service/src/main/java/com/diagbot/web/PatientInfoController.java
  21. 43 34
      icssman-service/src/main/java/com/diagbot/facade/DeptVitalFacade.java
  22. 46 36
      icssman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java
  23. 13 10
      icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java
  24. 5 2
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java
  25. 194 113
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  26. 9 3
      knowledgeman-service/src/main/java/com/diagbot/facade/DisclaimerInformationFacade.java
  27. 9 6
      knowledgeman-service/src/main/java/com/diagbot/facade/EvaluationFacade.java
  28. 24 19
      knowledgeman-service/src/main/java/com/diagbot/facade/IndexConfigFacade.java
  29. 2 1
      knowledgeman-service/src/main/java/com/diagbot/facade/LexiconFacade.java
  30. 41 14
      knowledgeman-service/src/main/java/com/diagbot/facade/LisMappingFacade.java
  31. 14 13
      knowledgeman-service/src/main/java/com/diagbot/facade/LisSonContactFacade.java
  32. 25 24
      knowledgeman-service/src/main/java/com/diagbot/facade/MultContactFacade.java
  33. 353 322
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationContactFacade.java
  34. 248 242
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java
  35. 5 1
      knowledgeman-service/src/main/java/com/diagbot/facade/ScaleContentFacade.java
  36. 1 1
      knowledgeman-service/src/main/java/com/diagbot/facade/VersionDetailFacade.java
  37. 1 1
      knowledgeman-service/src/main/java/com/diagbot/facade/VersionInfoFacade.java
  38. 5 5
      knowledgeman-service/src/main/java/com/diagbot/web/CommonConceptController.java
  39. 3 3
      knowledgeman-service/src/main/java/com/diagbot/web/ConceptController.java
  40. 16 19
      knowledgeman-service/src/main/java/com/diagbot/web/LexiconController.java
  41. 8 10
      knowledgeman-service/src/main/java/com/diagbot/web/MultContactController.java
  42. 8 1
      prec-service/src/main/java/com/diagbot/facade/InquiryEvaluatorFacade.java
  43. 52 27
      prec-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java
  44. 25 16
      prec-service/src/main/java/com/diagbot/facade/PushFacade.java
  45. 4 0
      prec-service/src/main/java/com/diagbot/facade/QuestionFacade.java
  46. 10 13
      prec-service/src/main/java/com/diagbot/web/InquiryInfoController.java
  47. 20 10
      precman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java
  48. 2 1
      tran-service/src/main/java/com/diagbot/facade/DataServiceFacade.java
  49. 18 13
      tran-service/src/main/java/com/diagbot/facade/HospitalDeptFacade.java
  50. 1 1
      tran-service/src/main/java/com/diagbot/facade/HospitalInfoFacade.java
  51. 12 8
      tran-service/src/main/java/com/diagbot/facade/InquiryDetailFacade.java
  52. 121 116
      tran-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java
  53. 5 2
      tran-service/src/main/java/com/diagbot/facade/IntroduceTitleConfigFacade.java
  54. 10 4
      tran-service/src/main/java/com/diagbot/facade/PacsConfigFacade.java
  55. 35 28
      tran-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java
  56. 13 8
      tran-service/src/main/java/com/diagbot/facade/TranLisConfigFacade.java
  57. 66 65
      tran-service/src/main/java/com/diagbot/web/InquiryInfoController.java
  58. 27 30
      tran-service/src/main/java/com/diagbot/web/PatientInfoController.java
  59. 23 8
      triage-service/src/main/java/com/diagbot/facade/AIFacade.java

+ 17 - 4
aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java

@@ -243,7 +243,10 @@ public class ClinicalFacade {
                     Integer standWordSBP = Integer.valueOf(values[0]); //标准词收缩压
                     Integer standWordDBP = Integer.valueOf(values[1]); //标准词舒张压
                     if (featuresSBP > standWordSBP && featuresDBP > standWordDBP) {
-                        String standWord = standWordKey + standWordMap.get("op") + standWordMap.get("value") + standWordMap.get("unit") + "。";
+                        String standWord = standWordKey
+                                + standWordMap.get("op")
+                                + standWordMap.get("value")
+                                + standWordMap.get("unit") + "。";
                         sData.setSymptom(sData.getSymptom() + standWord);
                         System.out.println(sData.getSymptom());
                     }
@@ -251,7 +254,10 @@ public class ClinicalFacade {
             } else {
                 String num = getNum(standWordMap.get("value"));
                 if (Double.valueOf(getNum(features[1])) > Double.valueOf(num)) {
-                    String standWord = standWordKey + standWordMap.get("op") + standWordMap.get("value") + standWordMap.get("unit") + "。";
+                    String standWord = standWordKey
+                            + standWordMap.get("op")
+                            + standWordMap.get("value")
+                            + standWordMap.get("unit") + "。";
                     sData.setSymptom(sData.getSymptom() + standWord);
                     System.out.println(sData.getSymptom());
 
@@ -272,7 +278,10 @@ public class ClinicalFacade {
                     Integer standWordSBP = Integer.valueOf(values[0]); //收缩压
                     Integer standWordDBP = Integer.valueOf(values[1]); //舒张压
                     if (featuresSBP < standWordSBP && featuresDBP < standWordDBP) {
-                        String standWord = standWordKey + standWordMap.get("op") + standWordMap.get("value") + standWordMap.get("unit") + "。";
+                        String standWord = standWordKey
+                                + standWordMap.get("op")
+                                + standWordMap.get("value")
+                                + standWordMap.get("unit") + "。";
                         sData.setSymptom(sData.getSymptom() + standWord);
                         System.out.println(sData.getSymptom());
                     }
@@ -280,7 +289,11 @@ public class ClinicalFacade {
             } else {
                 String num = getNum(standWordMap.get("value"));
                 if (Double.valueOf(getNum(features[1])) < Double.valueOf(num)) {
-                    String standWord = standWordKey + standWordMap.get("op") + standWordMap.get("value") + standWordMap.get("unit") + "。";
+                    String standWord = standWordKey
+                            + standWordMap.get("op")
+                            + standWordMap.get("value")
+                            + standWordMap.get("unit")
+                            + "。";
                     sData.setSymptom(sData.getSymptom() + standWord);
                     System.out.println(sData.getSymptom());
                 }

+ 31 - 14
aipt-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -54,7 +54,8 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
         Concept concept = conceptFacade.exist(conceptBaseVO);
         //提示信息明细
         QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
-        conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+        conceptDetailQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("concept_id", concept.getId())
                 .orderByAsc("order_no");
         if (conceptIntroduceVO.getPosition() == null) {
@@ -118,12 +119,21 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
         Map<String, Map<Long, List<ConceptDetail>>> retMap = new LinkedHashMap<>();
         Map<Long, List<ConceptDetail>> retSubMap = new LinkedHashMap<>();
         if (ListUtil.isNotEmpty(conceptList)) {
-            List<Long> conceptIds = conceptList.stream().map(concept -> concept.getId()).collect(Collectors.toList());
+            List<Long> conceptIds = conceptList
+                    .stream()
+                    .map(concept -> concept.getId())
+                    .collect(Collectors.toList());
             QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
-            conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).in("concept_id", conceptIds);
+            conceptDetailQueryWrapper
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("concept_id", conceptIds);
+            if (ListUtil.isEmpty(conceptIds)) {
+                return retMap;
+            }
             List<ConceptDetail> conceptDetailList = this.list(conceptDetailQueryWrapper);
             if (ListUtil.isNotEmpty(conceptDetailList)) {
-                Map<Long, List<ConceptDetail>> conceptDetailMap = EntityUtil.makeEntityListMap(conceptDetailList, "conceptId");
+                Map<Long, List<ConceptDetail>> conceptDetailMap
+                        = EntityUtil.makeEntityListMap(conceptDetailList, "conceptId");
                 for (Concept concept : conceptList) {
                     if (retMap.containsKey(concept.getLibName())) {
                         retSubMap = retMap.get(concept.getLibName());
@@ -131,7 +141,8 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
                     if (retSubMap == null) {
                         retSubMap = new LinkedHashMap<>();
                     }
-                    if (conceptDetailMap.containsKey(concept.getId()) && ListUtil.isNotEmpty(conceptDetailMap.get(concept.getId()))) {
+                    if (conceptDetailMap.containsKey(concept.getId())
+                            && ListUtil.isNotEmpty(conceptDetailMap.get(concept.getId()))) {
                         retSubMap.put(concept.getLibType(), conceptDetailMap.get(concept.getId()));
                         retMap.put(concept.getLibName(), retSubMap);
                     }
@@ -148,15 +159,21 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
      * @return
      */
     public List<Long> existListByConceptIds(ExistListByConceptIdsVO existListByConceptIdsVO) {
-        QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
-        conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .in("concept_id", existListByConceptIdsVO.getConceptIds());
-        List<ConceptDetail> conceptDetailList = this.list(conceptDetailQueryWrapper);
-        if (ListUtil.isNotEmpty(conceptDetailList)) {
-            List<Long> retConceptIds = conceptDetailList.stream().map(conceptDetail -> conceptDetail.getConceptId()).distinct().collect(Collectors.toList());
-            return retConceptIds;
-        } else {
-            return null;
+        if (ListUtil.isNotEmpty(existListByConceptIdsVO.getConceptIds())) {
+            QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
+            conceptDetailQueryWrapper
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("concept_id", existListByConceptIdsVO.getConceptIds());
+            List<ConceptDetail> conceptDetailList = this.list(conceptDetailQueryWrapper);
+            if (ListUtil.isNotEmpty(conceptDetailList)) {
+                List<Long> retConceptIds = conceptDetailList
+                        .stream()
+                        .map(conceptDetail -> conceptDetail.getConceptId())
+                        .distinct()
+                        .collect(Collectors.toList());
+                return retConceptIds;
+            }
         }
+        return null;
     }
 }

+ 30 - 21
aipt-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -142,10 +142,13 @@ public class ConceptFacade extends ConceptServiceImpl {
      * @return
      */
     public List<Concept> getListByIds(List<Long> ids) {
-        QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
-        conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .in("id", ids);
-        List<Concept> list = this.list(conceptQueryWrapper);
+        List<Concept> list = new ArrayList<>();
+        if (ListUtil.isNotEmpty(ids)) {
+            QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
+            conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("id", ids);
+            list = this.list(conceptQueryWrapper);
+        }
         return list;
     }
 
@@ -157,13 +160,16 @@ public class ConceptFacade extends ConceptServiceImpl {
      * @return
      */
     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);
-        if (libType != null) {
-            conceptQueryWrapper.eq("lib_type", libType);
+        List<Concept> list = new ArrayList<>();
+        if (ListUtil.isNotEmpty(nameList)) {
+            QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
+            conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("lib_name", nameList);
+            if (libType != null) {
+                conceptQueryWrapper.eq("lib_type", libType);
+            }
+            list = this.list(conceptQueryWrapper);
         }
-        List<Concept> list = this.list(conceptQueryWrapper);
         return list;
     }
 
@@ -174,10 +180,13 @@ public class ConceptFacade extends ConceptServiceImpl {
      * @return
      */
     public List<Concept> getListByNames(List<String> nameList) {
-        QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
-        conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .in("lib_name", nameList);
-        List<Concept> list = this.list(conceptQueryWrapper);
+        List<Concept> list = new ArrayList<>();
+        if (ListUtil.isNotEmpty(nameList)) {
+            QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
+            conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("lib_name", nameList);
+            list = this.list(conceptQueryWrapper);
+        }
         return list;
     }
 
@@ -316,18 +325,18 @@ public class ConceptFacade extends ConceptServiceImpl {
         // 有本体,过滤同义词和子项;无本体,有子项,过滤同义词
         for (ConceptRetrievalDTO bean : conceptRetrievalDTOS) {
             if (bean.getShowType().intValue() == 1) {
-                if(retrievalVO.getIsSonShow().intValue() == 0){//isSonShow为0执行检索去重逻辑
+                if (retrievalVO.getIsSonShow().intValue() == 0) {//isSonShow为0执行检索去重逻辑
                     res.add(bean);
                 }
             } else if (bean.getShowType().intValue() == 2) {
-                if(retrievalVO.getIsSonShow().intValue() == 0){//isSonShow为0执行检索去重逻辑
-                    if (!selfList.contains(bean.getParentId()) && !conceptNameList.contains(bean.getParentName()) ) {
+                if (retrievalVO.getIsSonShow().intValue() == 0) {//isSonShow为0执行检索去重逻辑
+                    if (!selfList.contains(bean.getParentId()) && !conceptNameList.contains(bean.getParentName())) {
                         conceptNameList.add(bean.getParentName());
                         res.add(bean);
                     }
                 }
             } else if (bean.getShowType().intValue() == 0) {
-                if(retrievalVO.getIsSonShow().intValue() == 0){//isSonShow为0执行检索去重逻辑
+                if (retrievalVO.getIsSonShow().intValue() == 0) {//isSonShow为0执行检索去重逻辑
                     if (!selfList.contains(bean.getSelfId()) && !subList.contains(bean.getSelfId()) && !conceptNameList.contains(bean.getSelfName())) {
                         conceptNameList.add(bean.getSelfName());
                         res.add(bean);
@@ -354,12 +363,12 @@ public class ConceptFacade extends ConceptServiceImpl {
      */
     public List<RetrievalDTO> getStaticKnowledge(GetStaticKnowledgeVO getStaticKnowledgeVO) {
         RetrievalVO retrievalVO = new RetrievalVO();
-        BeanUtil.copyProperties(getStaticKnowledgeVO,retrievalVO);
+        BeanUtil.copyProperties(getStaticKnowledgeVO, retrievalVO);
         List<RetrievalDTO> staticRetrievalList = this.staticKnowledge(retrievalVO);
         for (RetrievalDTO retrievalDTO : staticRetrievalList) {
             retrievalDTO.setType(ParamConvertUtil.libConvert2Concept(retrievalDTO.getLibTypeId().intValue()));
-            if((retrievalDTO.getShowType().intValue() == 1)
-                || (retrievalDTO.getShowType().intValue() == 21)){//去除本体retrivalName和(父项--子项)组合的retrivalName
+            if ((retrievalDTO.getShowType().intValue() == 1)
+                    || (retrievalDTO.getShowType().intValue() == 21)) {//去除本体retrivalName和(父项--子项)组合的retrivalName
                 retrievalDTO.setRetrievalName(null);
             }
         }

+ 12 - 6
aipt-service/src/main/java/com/diagbot/facade/FeatureFacade.java

@@ -7,8 +7,6 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.ParamConvertUtil;
-import com.diagbot.vo.ConceptBaseVO;
-import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -41,18 +39,26 @@ public class FeatureFacade {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "未提取到特征词");
         }
 
-        Map<Integer, List<FeatureConceptDTO>> symptomMap = EntityUtil.makeEntityListMap(symptomFeatureList, "libType");
+        Map<Integer, List<FeatureConceptDTO>> symptomMap
+                = EntityUtil.makeEntityListMap(symptomFeatureList, "libType");
         Map<Integer, Map<String, Long>> map = new LinkedHashMap<>();
         for (Map.Entry<Integer, List<FeatureConceptDTO>> entry : symptomMap.entrySet()) {
-            List<Concept> concepts = conceptFacade.getListByNamesAndType(entry.getValue().stream().map(i -> i.getName()).collect(Collectors.toList()), entry.getKey());
-            Map<String, Long> conceptMap = EntityUtil.makeMapWithKeyValue(concepts, "libName", "id");
+            List<Concept> concepts
+                    = conceptFacade.getListByNamesAndType(entry.getValue()
+                    .stream()
+                    .map(i -> i.getName())
+                    .collect(Collectors.toList()), entry.getKey());
+            Map<String, Long> conceptMap
+                    = EntityUtil.makeMapWithKeyValue(concepts, "libName", "id");
             map.put(entry.getKey(), conceptMap);
         }
 
         for (FeatureConceptDTO featureConceptDTO : symptomFeatureList) {
             if (null != featureConceptDTO.getLibType()) {
                 featureConceptDTO.setType(ParamConvertUtil.libConvert2Concept(featureConceptDTO.getLibType()));
-                featureConceptDTO.setConceptId(map.get(featureConceptDTO.getLibType()).get(featureConceptDTO.getName()));
+                featureConceptDTO.setConceptId(map
+                        .get(featureConceptDTO.getLibType())
+                        .get(featureConceptDTO.getName()));
             }
         }
         return symptomFeatureList;

+ 4 - 6
aipt-service/src/main/java/com/diagbot/facade/LisMappingFacade.java

@@ -1,15 +1,11 @@
 package com.diagbot.facade;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.diagbot.entity.LisMapping;
 import com.diagbot.entity.wrapper.LisMappingWrapper;
-import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.LisMappingServiceImpl;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.GetLisMappingVO;
-import com.google.common.collect.Lists;
 import org.springframework.stereotype.Component;
 
 import java.util.LinkedHashMap;
@@ -35,10 +31,12 @@ public class LisMappingFacade  extends LisMappingServiceImpl {
         lisMappingWrapper.setMealName(mealName);
         List<LisMappingWrapper> lisMappingWrapperList = this.getLisMappingByName(lisMappingWrapper);
 
-        Map<String, List<LisMappingWrapper>> lisMappingMap = EntityUtil.makeEntityListMap(lisMappingWrapperList, "mealName");
+        Map<String, List<LisMappingWrapper>> lisMappingMap
+                = EntityUtil.makeEntityListMap(lisMappingWrapperList, "mealName");
         for (Map.Entry<String, List<LisMappingWrapper>> entry : lisMappingMap.entrySet()) {
             if (entry.getValue().size() > 0) {
-                retMap.put(entry.getKey(), EntityUtil.makeMapWithKeyValue(entry.getValue(), "itemName", "uniqueName"));
+                retMap.put(entry.getKey(),
+                        EntityUtil.makeMapWithKeyValue(entry.getValue(), "itemName", "uniqueName"));
             } else {
                 retMap.put(entry.getKey(), null);
             }

+ 6 - 8
aipt-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java

@@ -1,10 +1,5 @@
 package com.diagbot.facade;
 
-import com.diagbot.enums.LexiconTypeEnum;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
-
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.RespDTO;
@@ -13,6 +8,9 @@ import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.ConceptBaseVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * @Description: 患者业务逻辑
@@ -22,7 +20,7 @@ import com.diagbot.vo.GetTopPatientInfoVO;
 @Component
 public class PatientInfoFacade {
 
-	@Autowired
+    @Autowired
     private ConceptFacade conceptFacade;
     @Autowired
     TranServiceClient tranServiceClient;
@@ -38,13 +36,13 @@ public class PatientInfoFacade {
         RespDTOUtil.respNGDealCover(respDTO, "获取页面顶部病人医生科室信息失败");
 
         GetTopPatientInfoDTO getTopPatientInfoDTO = respDTO.data;
-        
+
         ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
         conceptBaseVO.setLibType(LexiconTypeEnum.DEPARTMENT.getKey());
         conceptBaseVO.setName(getTopPatientInfoDTO.getSelfDeptName());
         Concept concept = conceptFacade.exist(conceptBaseVO);
         getTopPatientInfoDTO.setSelfDeptId(concept.getId());
-        
+
         return getTopPatientInfoDTO;
     }
 

+ 41 - 13
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -115,7 +115,10 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Symptom.getKey()))) {
             List<FeatureRate> symptom = data.getSymptom();
             if (ListUtil.isNotEmpty(symptom)) {
-                List<String> nameList = symptom.stream().map(featureRate -> featureRate.getFeatureName()).collect(Collectors.toList());
+                List<String> nameList = symptom
+                        .stream()
+                        .map(featureRate -> featureRate.getFeatureName())
+                        .collect(Collectors.toList());
                 if (ListUtil.isNotEmpty(nameList)) {
                     pushDTO.setSymptom(getConceptDTOList(nameList, LexiconTypeEnum.SYMPTOM.getKey()));
                 }
@@ -125,7 +128,10 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Result.getKey()))) {
             List<FeatureRate> vital = data.getVitals();
             if (ListUtil.isNotEmpty(vital)) {
-                List<String> nameList = vital.stream().map(featureRate -> featureRate.getFeatureName()).collect(Collectors.toList());
+                List<String> nameList = vital
+                        .stream()
+                        .map(featureRate -> featureRate.getFeatureName())
+                        .collect(Collectors.toList());
                 if (ListUtil.isNotEmpty(nameList)) {
                     pushDTO.setVital(getConceptDTOList(nameList, LexiconTypeEnum.VITAL_RESULT.getKey()));
                 }
@@ -135,7 +141,10 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Index.getKey()))) {
             List<FeatureRate> vital = data.getVitals();
             if (ListUtil.isNotEmpty(vital)) {
-                List<String> nameList = vital.stream().map(featureRate -> featureRate.getFeatureName()).collect(Collectors.toList());
+                List<String> nameList = vital
+                        .stream()
+                        .map(featureRate -> featureRate.getFeatureName())
+                        .collect(Collectors.toList());
                 if (ListUtil.isNotEmpty(nameList)) {
                     pushDTO.setVital(getConceptDTOList(nameList, LexiconTypeEnum.VITAL_INDEX.getKey()));
                 }
@@ -146,7 +155,10 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Lis.getKey()))) {
             List<FeatureRate> lis = data.getLabs();
             if (ListUtil.isNotEmpty(lis)) {
-                List<String> nameList = lis.stream().map(featureRate -> featureRate.getFeatureName()).collect(Collectors.toList());
+                List<String> nameList = lis
+                        .stream()
+                        .map(featureRate -> featureRate.getFeatureName())
+                        .collect(Collectors.toList());
                 if (ListUtil.isNotEmpty(nameList)) {
                     List<ConceptPushDTO> lisDTO = getConceptDTOList(nameList, LexiconTypeEnum.LIS_PACKAGE.getKey());
                     if (isConnect) {
@@ -161,7 +173,10 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Pacs.getKey()))) {
             List<FeatureRate> pacs = data.getPacs();
             if (ListUtil.isNotEmpty(pacs)) {
-                List<String> nameList = pacs.stream().map(featureRate -> featureRate.getFeatureName()).collect(Collectors.toList());
+                List<String> nameList = pacs
+                        .stream()
+                        .map(featureRate -> featureRate.getFeatureName())
+                        .collect(Collectors.toList());
                 if (ListUtil.isNotEmpty(nameList)) {
                     List<ConceptPushDTO> pacsDTO = getConceptDTOList(nameList, LexiconTypeEnum.PACS_ITEMS.getKey());
                     if (isConnect) {
@@ -192,9 +207,13 @@ public class PushFacade {
                     }
                 }
                 for (Map.Entry<String, List<FeatureRate>> entry : disFeatureMap.entrySet()) {
-                    List<String> nameListByDisClass = entry.getValue().stream().map(featureRate -> featureRate.getFeatureName()).collect(Collectors.toList());
+                    List<String> nameListByDisClass = entry.getValue()
+                            .stream()
+                            .map(featureRate -> featureRate.getFeatureName())
+                            .collect(Collectors.toList());
                     if (ListUtil.isNotEmpty(nameListByDisClass)) {
-                        List<ConceptPushDTO> disDTO = getConceptDTOList(nameListByDisClass, LexiconTypeEnum.DIAGNOSIS.getKey());
+                        List<ConceptPushDTO> disDTO
+                                = getConceptDTOList(nameListByDisClass, LexiconTypeEnum.DIAGNOSIS.getKey());
                         if (isConnect) {
                             disDTO = addClientName(disDTO, searchVo.getHosCode(), ConceptTypeEnum.Disease.getKey());
                         }
@@ -290,7 +309,8 @@ public class PushFacade {
         if (StringUtil.isBlank(searchVo.getDiseaseName())) {
             throw new CommonException(CommonErrorCode.PARAM_ERROR, "请输入需获取治疗方案的诊断名称");
         }
-        Map<String, Object> treatmentMap = treatmentFacade.getTreatment(treat, searchVo.getDiseaseName(), searchVo.getDisType());
+        Map<String, Object> treatmentMap
+                = treatmentFacade.getTreatment(treat, searchVo.getDiseaseName(), searchVo.getDisType());
         return treatmentMap;
     }
 
@@ -367,11 +387,14 @@ public class PushFacade {
     public List<LisResult> addUniqueName(List<LisResult> lisResults, String hosCode) {
         //化验项转公表内容,参数处理
         if (ListUtil.isNotEmpty(lisResults)) {
-            List<String> mealNameList = lisResults.stream().map(lisResult -> lisResult.getName()).collect(Collectors.toList());
+            List<String> mealNameList = lisResults
+                    .stream()
+                    .map(lisResult -> lisResult.getName()).collect(Collectors.toList());
             LisConfigVO lisConfigVO = new LisConfigVO();
             lisConfigVO.setHosCode(hosCode);
             lisConfigVO.setMealNameList(mealNameList);
-            RespDTO<Map<String, Map<String, String>>> lisConfigRes = tranServiceClient.getLisConfigByMealNameAndHosCode(lisConfigVO);
+            RespDTO<Map<String, Map<String, String>>> lisConfigRes
+                    = tranServiceClient.getLisConfigByMealNameAndHosCode(lisConfigVO);
             Map<String, Map<String, String>> lisConfigMap = new LinkedHashMap<>();
             if (RespDTOUtil.respIsOK(lisConfigRes)) {
                 lisConfigMap = lisConfigRes.data;
@@ -404,10 +427,14 @@ public class PushFacade {
         hosCodeVO.setHosCode(hosCode);
         LisConfigVO lisConfigVO = new LisConfigVO();
         lisConfigVO.setHosCode(hosCode);
-        List<String> uniqueNameList = concepts.stream().map(concept -> concept.getName()).collect(Collectors.toList());
+        List<String> uniqueNameList = concepts
+                .stream()
+                .map(concept -> concept.getName())
+                .collect(Collectors.toList());
         lisConfigVO.setUniqueNameList(uniqueNameList);
         if (type.equals(ConceptTypeEnum.Lis.getKey())) {
-            RespDTO<Map<String, List<String>>> lisRes = tranServiceClient.getLisConfigByUniqueNameAndHosCode(lisConfigVO);
+            RespDTO<Map<String, List<String>>> lisRes
+                    = tranServiceClient.getLisConfigByUniqueNameAndHosCode(lisConfigVO);
             if (RespDTOUtil.respIsOK(lisRes)) {
                 Map<String, List<String>> lisMappingByUniqueName = lisRes.data;
                 for (ConceptPushDTO concept : concepts) {
@@ -418,7 +445,8 @@ public class PushFacade {
                 }
             }
         } else if (type.equals(ConceptTypeEnum.Pacs.getKey())) {
-            RespDTO<Map<String, List<String>>> pacsRes = tranServiceClient.getPacsConfigByUniqueNameAndHosCode(hosCodeVO);
+            RespDTO<Map<String, List<String>>> pacsRes
+                    = tranServiceClient.getPacsConfigByUniqueNameAndHosCode(hosCodeVO);
             if (RespDTOUtil.respIsOK(pacsRes)) {
                 Map<String, List<String>> pacsConfigMapByUniqueName = pacsRes.data;
                 for (ConceptPushDTO concept : concepts) {

+ 71 - 21
aipt-service/src/main/java/com/diagbot/facade/TreatmentFacade.java

@@ -73,15 +73,23 @@ public class TreatmentFacade {
             return retMap;
         }
         //推荐药物
-        List<MedicitionClass> drugsList = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(), "treatment", MedicitionClass.class);
+        List<MedicitionClass> drugsList
+                = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(), "treatment", MedicitionClass.class);
         //不良反应
-        List<AdverseReaction> adverseReactionList = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(), "adverseEvent", AdverseReaction.class);
+        List<AdverseReaction> adverseReactionList
+                = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(), "adverseEvent", AdverseReaction.class);
         if (ListUtil.isNotEmpty(drugsList)) {
             //药品大类
-            List<String> cateBigNameList = drugsList.stream().map(drugs -> drugs.getBigdrugsName()).collect(Collectors.toList());
+            List<String> cateBigNameList = drugsList
+                    .stream()
+                    .map(drugs -> drugs.getBigdrugsName())
+                    .collect(Collectors.toList());
             conceptNameList.addAll(cateBigNameList);
             //药品小类
-            List<String> cateSmallNameList = drugsList.stream().map(drugs -> drugs.getSubdrugsName()).collect(Collectors.toList());
+            List<String> cateSmallNameList = drugsList
+                    .stream()
+                    .map(drugs -> drugs.getSubdrugsName())
+                    .collect(Collectors.toList());
             conceptNameList.addAll(cateSmallNameList);
             //药品
             List<Medicition> medicitionTotalList = Lists.newLinkedList();
@@ -90,11 +98,17 @@ public class TreatmentFacade {
                     medicitionTotalList.addAll(medicitionClass.getMedicitionsList());
                 }
             }
-            List<String> drugNameList = medicitionTotalList.stream().map(m -> m.getMedicitionName()).collect(Collectors.toList());
+            List<String> drugNameList = medicitionTotalList
+                    .stream()
+                    .map(m -> m.getMedicitionName())
+                    .collect(Collectors.toList());
             conceptNameList.addAll(drugNameList);
         }
         if (ListUtil.isNotEmpty(adverseReactionList)) {
-            List<String> adNameList = adverseReactionList.stream().map(a -> a.getName()).collect(Collectors.toList());
+            List<String> adNameList = adverseReactionList
+                    .stream()
+                    .map(a -> a.getName())
+                    .collect(Collectors.toList());
             conceptNameList.addAll(adNameList);
         }
         //概念
@@ -105,16 +119,22 @@ public class TreatmentFacade {
         Map<String, Map<Long, List<ConceptDetail>>> hasConDetailMap = conceptDetailFacade.hasConDetail(conceptList);
 
         //一般治疗&&手术治疗
-        if (hasConDetailMap != null && hasConDetailMap.get(diseaseName) != null && ListUtil.isNotEmpty(hasConDetailMap.get(diseaseName).get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey())))) {
-            List<ConceptDetail> diseaseConDetailList = hasConDetailMap.get(diseaseName).get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey()));
+        if (hasConDetailMap != null && hasConDetailMap.get(diseaseName) != null
+                && ListUtil.isNotEmpty(hasConDetailMap
+                .get(diseaseName)
+                .get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey())))) {
+            List<ConceptDetail> diseaseConDetailList
+                    = hasConDetailMap.get(diseaseName).get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey()));
             for (ConceptDetail conceptDetail : diseaseConDetailList) {
                 ConceptDetailDTO conceptDetailDTO = new ConceptDetailDTO();
                 List<String> positionList = Arrays.asList(conceptDetail.getPosition().split(",|,"));
-                if (positionList.contains(String.valueOf(PositionTypeEnum.T3.getKey())) && retMap.get("commonTreatment") == null) {
+                if (positionList.contains(String.valueOf(PositionTypeEnum.T3.getKey()))
+                        && retMap.get("commonTreatment") == null) {
                     BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
                     retMap.put("commonTreatment", conceptDetailDTO);
                 }
-                if (positionList.contains(String.valueOf(PositionTypeEnum.T4.getKey())) && retMap.get("surgeryTreatment") == null) {
+                if (positionList.contains(String.valueOf(PositionTypeEnum.T4.getKey()))
+                        && retMap.get("surgeryTreatment") == null) {
                     BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
                     retMap.put("surgeryTreatment", conceptDetailDTO);
                 }
@@ -126,11 +146,20 @@ public class TreatmentFacade {
 
         if (ListUtil.isNotEmpty(drugsList)) {
             for (MedicitionClass medicitionClass : drugsList) {
-                if (conceptMap != null && conceptMap.get(medicitionClass.getBigdrugsName()) != null && conceptMap.get(medicitionClass.getBigdrugsName()).containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
-                    Concept cateBigConcept = conceptMap.get(medicitionClass.getBigdrugsName()).get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()));
+                if (conceptMap != null
+                        && conceptMap.get(medicitionClass.getBigdrugsName()) != null
+                        && conceptMap.get(medicitionClass
+                        .getBigdrugsName())
+                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
+                    Concept cateBigConcept = conceptMap
+                            .get(medicitionClass.getBigdrugsName())
+                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()));
                     if (cateBigConcept != null) {
                         medicitionClass.setBigdrugsConceptId(cateBigConcept.getId());
-                        if (hasConDetailMap != null && hasConDetailMap.get(cateBigConcept.getLibName()) != null && hasConDetailMap.get(cateBigConcept.getLibName()).containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
+                        if (hasConDetailMap != null
+                                && hasConDetailMap.get(cateBigConcept.getLibName()) != null
+                                && hasConDetailMap.get(cateBigConcept.getLibName())
+                                .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
                             medicitionClass.setShowInfo("1");
                         } else {
                             medicitionClass.setShowInfo("0");
@@ -139,8 +168,13 @@ public class TreatmentFacade {
                 }
                 medicitionClass.setBigdrgusLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
                 medicitionClass.setBigdrugsType(ConceptTypeEnum.Drug_Category_Big.getKey());
-                if (conceptMap != null && conceptMap.get(medicitionClass.getSubdrugsName()) != null && conceptMap.get(medicitionClass.getSubdrugsName()).containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()))) {
-                    Concept cateSmallConcept = conceptMap.get(medicitionClass.getSubdrugsName()).get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()));
+                if (conceptMap != null
+                        && conceptMap.get(medicitionClass.getSubdrugsName()) != null
+                        && conceptMap.get(medicitionClass.getSubdrugsName())
+                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()))) {
+                    Concept cateSmallConcept = conceptMap
+                            .get(medicitionClass.getSubdrugsName())
+                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()));
                     if (cateSmallConcept != null) {
                         medicitionClass.setSubdrugsConceptId(cateSmallConcept.getId());
                     }
@@ -150,15 +184,23 @@ public class TreatmentFacade {
 
                 LinkedList<Medicition> medicitionList = medicitionClass.getMedicitionsList();
                 for (Medicition medicition : medicitionList) {
-                    if (conceptMap != null && conceptMap.get(medicition.getMedicitionName()) != null && conceptMap.get(medicition.getMedicitionName()).containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
-                        Concept drugConcept = conceptMap.get(medicition.getMedicitionName()).get(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()));
+                    if (conceptMap != null
+                            && conceptMap.get(medicition.getMedicitionName()) != null
+                            && conceptMap.get(medicition.getMedicitionName())
+                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
+                        Concept drugConcept = conceptMap
+                                .get(medicition.getMedicitionName())
+                                .get(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()));
                         if (drugConcept != null) {
                             medicition.setConceptId(drugConcept.getId());
                         }
                     }
                     medicition.setLibType(LexiconTypeEnum.DRUGS.getKey());
                     medicition.setType(ConceptTypeEnum.Drug.getKey());
-                    if (hasConDetailMap != null && hasConDetailMap.get(medicition.getMedicitionName()) != null && hasConDetailMap.get(medicition.getMedicitionName()).containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
+                    if (hasConDetailMap != null
+                            && hasConDetailMap.get(medicition.getMedicitionName()) != null
+                            && hasConDetailMap.get(medicition.getMedicitionName())
+                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
                         medicition.setShowInfo("1");
                     } else {
                         medicition.setShowInfo("0");
@@ -192,15 +234,23 @@ public class TreatmentFacade {
                 retMap.put("drugHistory", null);
                 //不良反应
                 for (AdverseReaction adverseReaction : adverseReactionList) {
-                    if (conceptMap != null && conceptMap.get(adverseReaction.getName()) != null && conceptMap.get(adverseReaction.getName()).containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
-                        Concept adConcept = conceptMap.get(adverseReaction.getName()).get(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()));
+                    if (conceptMap != null
+                            && conceptMap.get(adverseReaction.getName()) != null
+                            && conceptMap.get(adverseReaction.getName())
+                            .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
+                        Concept adConcept = conceptMap
+                                .get(adverseReaction.getName())
+                                .get(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()));
                         if (adConcept != null) {
                             adverseReaction.setConceptId(adConcept.getId());
                         }
                     }
                     adverseReaction.setLibType(LexiconTypeEnum.SIDE_EFFECTS.getKey());
                     adverseReaction.setType(ConceptTypeEnum.SIDE_EFFECTS.getKey());
-                    if (hasConDetailMap != null && hasConDetailMap.get(adverseReaction.getName()) != null && hasConDetailMap.get(adverseReaction.getName()).containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
+                    if (hasConDetailMap != null
+                            && hasConDetailMap.get(adverseReaction.getName()) != null
+                            && hasConDetailMap.get(adverseReaction.getName())
+                            .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
                         adverseReaction.setShowInfo("1");
                     } else {
                         adverseReaction.setShowInfo("0");

+ 7 - 9
aipt-service/src/main/java/com/diagbot/web/PatientInfoController.java

@@ -1,23 +1,21 @@
 package com.diagbot.web;
 
-import javax.validation.Valid;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.PatientInfoFacade;
 import com.diagbot.vo.GetTopPatientInfoVO;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.validation.Valid;
+
 /**
  * <p>
  * 患者信息表 前端控制器

+ 35 - 25
diagbotman-service/src/main/java/com/diagbot/facade/ProductServiceFacade.java

@@ -73,7 +73,9 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
                     "无法操作,该产品线已停用");
         }
         QueryWrapper<OpenedProducts> openedProductsQueryWrapper = new QueryWrapper<>();
-        openedProductsQueryWrapper.eq("product_id", lantoneProduct.getId()).eq("user_id", userId);
+        openedProductsQueryWrapper
+                .eq("product_id", lantoneProduct.getId())
+                .eq("user_id", userId);
         List<OpenedProducts> openedProductsList = openedProductsFacade.list(openedProductsQueryWrapper);
         openedProductsQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
         OpenedProducts openedProducts = openedProductsFacade.getOne(openedProductsQueryWrapper, false);
@@ -102,9 +104,10 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
         }
 
         QueryWrapper<ProductService> qwps = new QueryWrapper<>();
-        qwps.eq("product_id", productServiceSaveVO.getProductId());
-        qwps.eq("service_id", productServiceSaveVO.getServiceId());
-        qwps.eq("is_deleted", IsDeleteEnum.N.getKey());
+        qwps
+                .eq("product_id", productServiceSaveVO.getProductId())
+                .eq("service_id", productServiceSaveVO.getServiceId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey());
         ProductService productService = this.getOne(qwps, false);
         if (productService == null) {
             productService = new ProductService();
@@ -136,7 +139,8 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
         serviceToken.setAppKeyId(GuidUtil.App_key());
         serviceToken.setAppKeySecret(GuidUtil.App_screct());
         serviceToken.setStatus(StatusEnum.Enable.getKey());
-        if (old_serviceToken != null && old_serviceToken.getType().equals(TokenTypeEnum.Trial.getKey())) {
+        if (old_serviceToken != null
+                && old_serviceToken.getType().equals(TokenTypeEnum.Trial.getKey())) {
             //如果试用已过期,不允许再生成
             if (DateUtil.after(DateUtil.now(), old_serviceToken.getExpiringDate())) {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
@@ -188,29 +192,35 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
      */
     public Boolean deleteByProductId(Long productId) {
         QueryWrapper<ProductService> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("product_id", productId).eq("is_deleted", IsDeleteEnum.N.getKey());
+        queryWrapper
+                .eq("product_id", productId)
+                .eq("is_deleted", IsDeleteEnum.N.getKey());
         List<ProductService> productServiceList = this.list(queryWrapper);
         Map<Long, ProductService> map = EntityUtil.makeEntityMap(productServiceList, "id");
-        //删除令牌
-        UpdateWrapper<ServiceToken> tokenUpdateWrapper = new UpdateWrapper<>();
-        tokenUpdateWrapper.in("product_service_id", map.keySet());
-        tokenUpdateWrapper.set("is_deleted", IsDeleteEnum.Y.getKey());
-        serviceTokenFacade.update(new ServiceToken(), tokenUpdateWrapper);
-
-        //删除产品服务端关联
-        UpdateWrapper<ProductService> productServiceUpdateWrapper = new UpdateWrapper<>();
-        productServiceUpdateWrapper.in("id", map.keySet());
-        productServiceUpdateWrapper.set("is_deleted", IsDeleteEnum.Y.getKey());
-        this.update(new ProductService(), productServiceUpdateWrapper);
-
+        if (map != null && map.size() > 0) {
+            //删除令牌
+            UpdateWrapper<ServiceToken> tokenUpdateWrapper = new UpdateWrapper<>();
+            tokenUpdateWrapper.in("product_service_id", map.keySet());
+            tokenUpdateWrapper.set("is_deleted", IsDeleteEnum.Y.getKey());
+            serviceTokenFacade.update(new ServiceToken(), tokenUpdateWrapper);
+
+            //删除产品服务端关联
+            UpdateWrapper<ProductService> productServiceUpdateWrapper = new UpdateWrapper<>();
+            productServiceUpdateWrapper.in("id", map.keySet());
+            productServiceUpdateWrapper.set("is_deleted", IsDeleteEnum.Y.getKey());
+            this.update(new ProductService(), productServiceUpdateWrapper);
+        }
         //删除系统自动生成的服务端
-        Map<Long, List<ProductService>> serviceMap = EntityUtil.makeEntityListMap(productServiceList, "serviceId");
-        UpdateWrapper<ServiceInfo> serviceInfoUpdateWrapper = new UpdateWrapper<>();
-        serviceInfoUpdateWrapper.in("id", serviceMap.keySet())
-                .eq("type", ServiceTypeEnum.Sys_Create.getKey())
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .set("is_deleted", IsDeleteEnum.Y.getKey());
-        serviceInfoFacade.update(new ServiceInfo(), serviceInfoUpdateWrapper);
+        Map<Long, List<ProductService>> serviceMap
+                = EntityUtil.makeEntityListMap(productServiceList, "serviceId");
+        if (serviceMap != null && serviceMap.size() > 0) {
+            UpdateWrapper<ServiceInfo> serviceInfoUpdateWrapper = new UpdateWrapper<>();
+            serviceInfoUpdateWrapper.in("id", serviceMap.keySet())
+                    .eq("type", ServiceTypeEnum.Sys_Create.getKey())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .set("is_deleted", IsDeleteEnum.Y.getKey());
+            serviceInfoFacade.update(new ServiceInfo(), serviceInfoUpdateWrapper);
+        }
         return true;
     }
 

+ 3 - 0
diagbotman-service/src/main/java/com/diagbot/facade/ServiceTokenFacade.java

@@ -169,6 +169,9 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
      * @return
      */
     public Boolean deleteByIds(Long[] ids) {
+        if (ids == null || ids.length == 0) {
+            return true;
+        }
         QueryWrapper<ServiceToken> queryWrapper = new QueryWrapper<>();
         queryWrapper.in("id", ids);
         List<ServiceToken> serviceTokenList = this.list(queryWrapper);

+ 29 - 30
diagbotman-service/src/main/java/com/diagbot/web/ProductOrderController.java

@@ -1,16 +1,5 @@
 package com.diagbot.web;
 
-import java.util.List;
-
-import javax.validation.Valid;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.EnShowOptionDTO;
@@ -36,11 +25,19 @@ import com.diagbot.vo.OpenProductCheckVO;
 import com.diagbot.vo.OpenUpOnTrialVO;
 import com.diagbot.vo.ProductOrderVO;
 import com.diagbot.vo.StartAndendByUserIdVO;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.validation.Valid;
+import java.util.List;
+
 /**
  * @author rgb
  * @Description 订单产品相关的操作
@@ -104,7 +101,7 @@ public class ProductOrderController {
     public RespDTO<WaitExamOrderCouDTO> waitExamOrderCou() {
         return RespDTO.onSuc(productOrderFacade.waitExamOrderCou());
     }
-    
+
     @ApiOperation(value = "控制台-已开通产品状态校验[by:rengb]", notes = "控制台-已开通产品状态校验")
     @PostMapping("/openProductCheck")
     @SysLogger("openProductCheck")
@@ -137,8 +134,8 @@ public class ProductOrderController {
     @SysLogger("delInformationAvailable")
     @Transactional
     public RespDTO delInformationAvailable(@RequestBody OpenedProducts openedProduct) {
-    	long userId = openedProduct.getUserId(); 
-    	long productId = openedProduct.getProductId();
+        long userId = openedProduct.getUserId();
+        long productId = openedProduct.getProductId();
         return openedProductsFacade.delInformationAvailables(userId, productId);
     }
 
@@ -173,28 +170,30 @@ public class ProductOrderController {
     @PostMapping("/getInformationAvailableAll")
     @SysLogger("getInformationAvailableAll")
     @ApiIgnore
-    public RespDTO<List<UserAndProdutDTO>>  getInformationAvailableByUserIds(@RequestBody List<Long> userIds){
-    	List<UserAndProdutDTO> UserAndProdutData = openedProductsFacade.getInformationAvailableByUserIds(userIds);
-    	return RespDTO.onSuc(UserAndProdutData);
+    public RespDTO<List<UserAndProdutDTO>> getInformationAvailableByUserIds(@RequestBody List<Long> userIds) {
+        List<UserAndProdutDTO> UserAndProdutData = openedProductsFacade.getInformationAvailableByUserIds(userIds);
+        return RespDTO.onSuc(UserAndProdutData);
     }
+
     @ApiOperation(value = "客户中心-查询用户是否有待审核的产品数量[by:wangfeng]", notes = "用户已开通信息")
     @PostMapping("/getOrderByUserToAudit")
     @SysLogger("getOrderByUserToAudit")
-   
-    public RespDTO<Integer> getOrderByUserToAudit(@RequestBody Long userId){
-    	OrderDetailsWapper rderDetails =new OrderDetailsWapper();
-    	rderDetails.setUserId(userId);
-    	int sums = orderDetailsFacade.getOrderByUserToAudit(rderDetails);
-    	return RespDTO.onSuc(sums);	
+
+    public RespDTO<Integer> getOrderByUserToAudit(@RequestBody Long userId) {
+        OrderDetailsWapper rderDetails = new OrderDetailsWapper();
+        rderDetails.setUserId(userId);
+        int sums = orderDetailsFacade.getOrderByUserToAudit(rderDetails);
+        return RespDTO.onSuc(sums);
     }
+
     @ApiOperation(value = "客户中心-查询用户续费数量[by:wangfeng]", notes = "用户已开通信息")
     @PostMapping("/getUserWaitingRenewal")
     @SysLogger("getUserWaitingRenewal")
-    
-    public RespDTO<Integer> getUserWaitingRenewal(@RequestBody Long userId){
-    	UserRenewals userRenewals = new UserRenewals();
-    	userRenewals.setUserId(userId);
-    	int userIdSum = userRenewalsFacade.getUserWaitingRenewal(userRenewals);
-    	return RespDTO.onSuc(userIdSum);	
+
+    public RespDTO<Integer> getUserWaitingRenewal(@RequestBody Long userId) {
+        UserRenewals userRenewals = new UserRenewals();
+        userRenewals.setUserId(userId);
+        int userIdSum = userRenewalsFacade.getUserWaitingRenewal(userRenewals);
+        return RespDTO.onSuc(userIdSum);
     }
 }

+ 11 - 3
icss-service/src/main/java/com/diagbot/facade/FeatureFacade.java

@@ -55,14 +55,22 @@ public class FeatureFacade {
      * @return
      */
     public List<FeatureConceptDTO> addQuestionId(List<FeatureConceptDTO> concepts, Integer type) {
+        List<String> nameList = concepts
+                .stream()
+                .map(concept -> concept.getName())
+                .collect(Collectors.toList());
+        if (ListUtil.isEmpty(nameList)) {
+            return concepts;
+        }
         QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
-        List<String> nameList = concepts.stream().map(concept -> concept.getName()).collect(Collectors.toList());
-        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+        questionInfoQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .in("tag_name", nameList)
                 .eq("type", type);
         List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
         if (ListUtil.isNotEmpty(questionInfoList)) {
-            Map<String, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(questionInfoList, "tagName");
+            Map<String, QuestionInfo> questionInfoMap
+                    = EntityUtil.makeEntityMap(questionInfoList, "tagName");
             for (FeatureConceptDTO concept : concepts) {
                 if (questionInfoMap.containsKey(concept.getName())) {
                     concept.setId(questionInfoMap.get(concept.getName()).getId());

+ 135 - 112
icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -1,26 +1,5 @@
 package com.diagbot.facade;
 
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
-
-import com.diagbot.util.IntegerUtil;
-import org.apache.poi.hssf.usermodel.HSSFRow;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Component;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -58,6 +37,7 @@ import com.diagbot.service.InquiryScaleService;
 import com.diagbot.service.impl.InquiryInfoServiceImpl;
 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;
@@ -75,6 +55,24 @@ import com.diagbot.vo.PatientInfoVO;
 import com.diagbot.vo.ReadInquiryVO;
 import com.diagbot.vo.SaveInquiryToHisVO;
 import com.diagbot.vo.SaveInquiryVO;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * @author rengb
@@ -134,8 +132,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         InquiryInfo inquiryInfo = getOne(inquiryInfoQe, false);
 
         if (inquiryInfo == null) {
-        	inquiryInfo = new InquiryInfo();
-        	inquiryInfo.setGmtCreate(now);
+            inquiryInfo = new InquiryInfo();
+            inquiryInfo.setGmtCreate(now);
         } else {
             inquiryDetailFacade.removeByInquiryId(inquiryInfo.getId());
             inquiryDrugFacade.removeByInquiryId(inquiryInfo.getId());
@@ -148,9 +146,10 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
 
         Long inquiryId = inquiryInfo.getId();
         if (ListUtil.isNotEmpty(saveInquiryVO.getDetailList())) {
-            List<InquiryDetail> inquiryDetailList = BeanUtil.listCopyTo(saveInquiryVO.getDetailList(), InquiryDetail.class);
-            inquiryDetailList.forEach(i->{
-            	i.setInquiryId(inquiryId);
+            List<InquiryDetail> inquiryDetailList = BeanUtil.listCopyTo(saveInquiryVO.getDetailList(),
+                    InquiryDetail.class);
+            inquiryDetailList.forEach(i -> {
+                i.setInquiryId(inquiryId);
                 i.setGmtCreate(now);
                 i.setGmtModified(now);
             });
@@ -176,7 +175,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
             inquiryEvaluationFacade.save(inquiryEvaluation);
 
             if (ListUtil.isNotEmpty(saveInquiryVO.getInquiryEvaluation().getScaleList())) {
-                List<InquiryScale> inquiryScaleList = BeanUtil.listCopyTo(saveInquiryVO.getInquiryEvaluation().getScaleList(), InquiryScale.class);
+                List<InquiryScale> inquiryScaleList = BeanUtil.listCopyTo(
+                        saveInquiryVO.getInquiryEvaluation().getScaleList(), InquiryScale.class);
                 inquiryScaleList.forEach(i -> {
                     i.setInquiryId(inquiryId);
                     i.setInquiryEvaluationId(inquiryEvaluation.getId());
@@ -199,7 +199,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         RespDTOUtil.respNGDeal(tranServiceClient.saveInquiryToHis(saveInquiryToHisVO), "问诊记录插入tran层失败");
 
         saveInquiryDTO.setInquiryId(inquiryId);
-        
+
         return saveInquiryDTO;
     }
 
@@ -226,7 +226,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
 
             QueryWrapper<InquiryDetail> inquiryDetailQe = new QueryWrapper<>();
             inquiryDetailQe.eq("inquiry_id", inquiryInfo.getId());
-            readInquiryDTO.setDetailList(inquiryDetailFacade.list(inquiryDetailQe).stream().sorted((a, b) -> a.getType() - b.getType()).collect(Collectors.toList()));
+            readInquiryDTO.setDetailList(inquiryDetailFacade.list(inquiryDetailQe).stream()
+                    .sorted((a, b) -> a.getType() - b.getType()).collect(Collectors.toList()));
 
             List<InquiryDrug> inquiryDrugList = inquiryDrugFacade.getInquiryDrugs(inquiryInfo.getId());
 
@@ -264,7 +265,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         Map<String, Object> map = new HashMap<>();
         map.put("hospitalId", hospitalInfoDTO.getId());
         map.put("patientId", patientInfoDTO.getId());
-        if (!IntegerUtil.isNull(getLastOtherVO.getSign())){
+        if (!IntegerUtil.isNull(getLastOtherVO.getSign())) {
             map.put("sign", getLastOtherVO.getSign());
         }
         InquiryInfo inquiryInfo = baseMapper.getPatientLast(map);
@@ -290,21 +291,28 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
      * @return
      */
     public IPage<HisInquiryDTO> hisInquirys(HisInquirysVO hisInquirysVO) {
-    	Page<HisInquiryDTO> hisInquiryDTOPage = new Page<>();
-    	
+        Page<HisInquiryDTO> hisInquiryDTOPage = new Page<>();
+
         QueryWrapper<InquiryInfo> inquiryInfoQe = new QueryWrapper<>();
         inquiryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
         inquiryInfoQe.eq("hospital_id", hisInquirysVO.getHospitalId());
-        inquiryInfoQe.eq(hisInquirysVO.getHospitalDeptId() != null, "hospital_dept_id", hisInquirysVO.getHospitalDeptId());
-        inquiryInfoQe.eq(hisInquirysVO.getDoctorId() != null, "doctor_id", hisInquirysVO.getDoctorId());
-        inquiryInfoQe.eq(hisInquirysVO.getPatientId() != null, "patient_id", hisInquirysVO.getPatientId());
-        inquiryInfoQe.eq(hisInquirysVO.getType() != null, "type", hisInquirysVO.getType());
-        inquiryInfoQe.eq(hisInquirysVO.getSign() != null, "sign", hisInquirysVO.getSign());
-        inquiryInfoQe.ge(hisInquirysVO.getStartDate() != null, "gmt_create", hisInquirysVO.getStartDate());
-        inquiryInfoQe.le(hisInquirysVO.getEndDate() != null, "gmt_create", hisInquirysVO.getEndDate());
-        inquiryInfoQe.orderByDesc(hisInquirysVO.getOrderType() == 1,"gmt_modified");
+        inquiryInfoQe.eq(hisInquirysVO.getHospitalDeptId() != null,
+                "hospital_dept_id", hisInquirysVO.getHospitalDeptId());
+        inquiryInfoQe.eq(hisInquirysVO.getDoctorId() != null,
+                "doctor_id", hisInquirysVO.getDoctorId());
+        inquiryInfoQe.eq(hisInquirysVO.getPatientId() != null,
+                "patient_id", hisInquirysVO.getPatientId());
+        inquiryInfoQe.eq(hisInquirysVO.getType() != null,
+                "type", hisInquirysVO.getType());
+        inquiryInfoQe.eq(hisInquirysVO.getSign() != null,
+                "sign", hisInquirysVO.getSign());
+        inquiryInfoQe.ge(hisInquirysVO.getStartDate() != null,
+                "gmt_create", hisInquirysVO.getStartDate());
+        inquiryInfoQe.le(hisInquirysVO.getEndDate() != null,
+                "gmt_create", hisInquirysVO.getEndDate());
+        inquiryInfoQe.orderByDesc(hisInquirysVO.getOrderType() == 1, "gmt_modified");
         inquiryInfoQe.orderByAsc(hisInquirysVO.getOrderType() == 2, "gmt_modified");
-        
+
         if (hisInquirysVO.getDisType() == 1) {
             Date nowDate = DateUtil.now();
             Date lastDate = DateUtil.addMonth(nowDate, -6);
@@ -313,19 +321,23 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
             inquiryInfoQe.likeRight("diagnose", hisInquirysVO.getDisName());
         }
 
-        Page<InquiryInfo> inquiryInfoPage = new Page<>(hisInquirysVO.getCurrent(),hisInquirysVO.getSize());
+        Page<InquiryInfo> inquiryInfoPage = new Page<>(hisInquirysVO.getCurrent(), hisInquirysVO.getSize());
         IPage<InquiryInfo> iPage = this.page(inquiryInfoPage, inquiryInfoQe);
-    	BeanUtil.copyProperties(iPage, hisInquiryDTOPage);
-        
+        BeanUtil.copyProperties(iPage, hisInquiryDTOPage);
+
         List<InquiryInfo> inquiryInfoList = iPage.getRecords();
         if (inquiryInfoList.size() == 0) {
             return null;
         }
 
-        List<Long> hospitalDeptIdList = inquiryInfoList.stream().map(i -> i.getHospitalDeptId()).distinct().collect(Collectors.toList());
-        List<Long> doctorIdList = inquiryInfoList.stream().map(i -> i.getDoctorId()).distinct().collect(Collectors.toList());
-        List<Long> patientIdList = inquiryInfoList.stream().map(i -> i.getPatientId()).distinct().collect(Collectors.toList());
-        List<Long> inquiryIdList = inquiryInfoList.stream().map(i -> i.getId()).distinct().collect(Collectors.toList());
+        List<Long> hospitalDeptIdList = inquiryInfoList.stream()
+                .map(i -> i.getHospitalDeptId()).distinct().collect(Collectors.toList());
+        List<Long> doctorIdList = inquiryInfoList.stream()
+                .map(i -> i.getDoctorId()).distinct().collect(Collectors.toList());
+        List<Long> patientIdList = inquiryInfoList.stream()
+                .map(i -> i.getPatientId()).distinct().collect(Collectors.toList());
+        List<Long> inquiryIdList = inquiryInfoList.stream()
+                .map(i -> i.getId()).distinct().collect(Collectors.toList());
 
         Map<Long, HospitalDept> hospitalDeptMap = hospitalDeptFacade.hospitalDeptInfoMapByIds(hospitalDeptIdList);
         Map<Long, DoctorInfo> doctorInfoMap = doctorInfoFacade.doctorInfoMapByIds(doctorIdList);
@@ -338,8 +350,13 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
             BeanUtil.copyProperties(i, hisInquiryDTO);
             hisInquiryDTO.setInquiryDate(i.getGmtModified());
             hisInquiryDTO.setInquiryTime(i.getGmtModified());
-            hisInquiryDTO.setHospitalDeptName(Optional.ofNullable(hospitalDeptMap.get(i.getHospitalDeptId())).map(t -> t.getName()).orElse(null));
-            hisInquiryDTO.setDoctorName(Optional.ofNullable(doctorInfoMap.get(i.getDoctorId())).map(t -> t.getName()).orElse(null));
+            hisInquiryDTO.setHospitalDeptName(
+                    Optional.ofNullable(hospitalDeptMap.get(i.getHospitalDeptId()))
+                            .map(t -> t.getName()).orElse(null)
+            );
+            hisInquiryDTO.setDoctorName(
+                    Optional.ofNullable(doctorInfoMap.get(i.getDoctorId())).map(t -> t.getName()).orElse(null)
+            );
             PatientInfo patientInfo = patientInfoMap.get(i.getPatientId());
             if (patientInfo != null) {
                 hisInquiryDTO.setPatientName(patientInfo.getName());
@@ -355,22 +372,22 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         hisInquiryDTOPage.setRecords(hisInquiryDTOList);
         return hisInquiryDTOPage;
     }
-    
+
     /**
      * 急诊-历史病历列表
-     * 
+     *
      * @param hisInquirysForJzVO
      * @return
      */
-    public HisInquirysForJzDTO hisInquirysForJz(HisInquirysForJzVO hisInquirysForJzVO){
-    	RespDTO<HisInquirysForJzDTO> res = tranServiceClient.hisInquirysForJz(hisInquirysForJzVO);
-    	RespDTOUtil.respNGDeal(res, "获取急诊历史病历列表失败");
-    	return res.data;
+    public HisInquirysForJzDTO hisInquirysForJz(HisInquirysForJzVO hisInquirysForJzVO) {
+        RespDTO<HisInquirysForJzDTO> res = tranServiceClient.hisInquirysForJz(hisInquirysForJzVO);
+        RespDTOUtil.respNGDeal(res, "获取急诊历史病历列表失败");
+        return res.data;
     }
-    
+
     /**
      * 对接-历史病历列表
-     * 
+     *
      * @param hisInquirysForDjVO
      * @return
      */
@@ -412,11 +429,14 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
             return null;
         }
 
-        Map<Long, List<InquiryDetail>> inquiryDetailMap = inquiryDetailFacade.getDetailsByInquryIds(inquiryInfoList.stream().map(i -> i.getId()).collect(Collectors.toList()));
-        List<HisInquirysForDjDTO> hisInquirysForDjDTOList = BeanUtil.listCopyTo(inquiryInfoList, HisInquirysForDjDTO.class);
+        Map<Long, List<InquiryDetail>> inquiryDetailMap = inquiryDetailFacade.getDetailsByInquryIds(
+                inquiryInfoList.stream().map(i -> i.getId()).collect(Collectors.toList()));
+        List<HisInquirysForDjDTO> hisInquirysForDjDTOList = BeanUtil.listCopyTo(
+                inquiryInfoList, HisInquirysForDjDTO.class);
 
         hisInquirysForDjDTOList.forEach(i -> {
-            i.setContentList(inquiryDetailMap.get(i.getId()).stream().map(k -> k.getContentValue()).collect(Collectors.toList()));
+            i.setContentList(inquiryDetailMap.get(i.getId()).stream()
+                    .map(k -> k.getContentValue()).collect(Collectors.toList()));
         });
 
         return hisInquirysForDjDTOList;
@@ -431,10 +451,10 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
      */
     public GetInquiryDetailDTO getInquiryDetail(GetInquiryDetailVO getInquiryDetailVO) {
         GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
-        
+
         InquiryInfo inquiryInfo = this.getById(getInquiryDetailVO.getInquiryId());
         List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.getListByInquryId(getInquiryDetailVO.getInquiryId());
-        
+
         getInquiryDetailDTO.setDataJson(inquiryInfo.getDataJson());
         getInquiryDetailDTO.setDetailList(inquiryDetailList);
 
@@ -448,7 +468,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
      * @return
      */
     public List<GetEvaluationsDTO> getEvaluations(GetEvaluationsVO getEvaluationsVO) {
-        List<InquiryEvaluation> inquiryEvaluationList = inquiryEvaluationFacade.getEvaluationsByInquiryId(getEvaluationsVO.getInquiryId());
+        List<InquiryEvaluation> inquiryEvaluationList =
+                inquiryEvaluationFacade.getEvaluationsByInquiryId(getEvaluationsVO.getInquiryId());
         return BeanUtil.listCopyTo(inquiryEvaluationList, GetEvaluationsDTO.class);
     }
 
@@ -465,65 +486,67 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         List<InquiryScale> inquiryScaleList = inquiryScaleFacade.list(queryWrapper);
         return BeanUtil.listCopyTo(inquiryScaleList, GetEvaluationScalesDTO.class);
     }
-    
+
     /**
      * 急诊-添加二次诊断
-     * 
+     *
      * @param addDiagnoseSecondVO
      * @return
      */
-    public Boolean addDiagnoseSecond(AddDiagnoseSecondVO addDiagnoseSecondVO){
-    	RespDTO<Boolean> res = tranServiceClient.addDiagnoseSecond(addDiagnoseSecondVO);
-    	RespDTOUtil.respNGDeal(res, "添加二次诊断失败");
-    	return res.data;
+    public Boolean addDiagnoseSecond(AddDiagnoseSecondVO addDiagnoseSecondVO) {
+        RespDTO<Boolean> res = tranServiceClient.addDiagnoseSecond(addDiagnoseSecondVO);
+        RespDTOUtil.respNGDeal(res, "添加二次诊断失败");
+        return res.data;
     }
-    
-    public void exportInquirys(HttpServletResponse response,ExportInquirysVO exportInquirysVO){
-    	RespDTO<List<GetExportInquirysDTO>> res = tranServiceClient.getExportInquirys(exportInquirysVO.getInquiryIds());
-    	RespDTOUtil.respNGDeal(res, "导出病历失败");
-    	List<GetExportInquirysDTO> getExportInquirysDTOList = res.data;
-    	HSSFWorkbook workbook = null;
-    	ServletOutputStream outputStream = null;
-    	try{
-        	workbook = new HSSFWorkbook();
-        	HSSFSheet sheet = workbook.createSheet("统计表");
-        	
-        	String[] headers={"序号","性别","年龄","主诉","现病史","其他史","查体","化验","辅检","医嘱","诊断","二次诊断*"};
-        	HSSFRow headRow = sheet.createRow(0);
-        	for (int i =0;i <headers.length;i++){
-        		headRow.createCell(i).setCellValue(headers[i]);
-        	}
-        	
-        	int rowNum=1;
-        	for(GetExportInquirysDTO getExportInquirysDTO : getExportInquirysDTOList){
-        		HSSFRow row=sheet.createRow(rowNum);
-        		row.createCell(0).setCellValue(getExportInquirysDTO.getLineNum());
-        		row.createCell(1).setCellValue(getExportInquirysDTO.getPatientSex());
-        		row.createCell(2).setCellValue(getExportInquirysDTO.getPatientAge());
-        		for(int type=1;type<=9;type++){
-        			row.createCell(type+2).setCellValue(getExportInquirysDTO.getDetailMap().get(type));
-        		}
-        		rowNum++;
-        	}
-        	
-        	String fileName = "data.xls";
+
+    public void exportInquirys(HttpServletResponse response, ExportInquirysVO exportInquirysVO) {
+        RespDTO<List<GetExportInquirysDTO>> res = tranServiceClient.getExportInquirys(exportInquirysVO.getInquiryIds());
+        RespDTOUtil.respNGDeal(res, "导出病历失败");
+        List<GetExportInquirysDTO> getExportInquirysDTOList = res.data;
+        HSSFWorkbook workbook = null;
+        ServletOutputStream outputStream = null;
+        try {
+            workbook = new HSSFWorkbook();
+            HSSFSheet sheet = workbook.createSheet("统计表");
+
+            String[] headers = { "序号", "性别", "年龄", "主诉", "现病史", "其他史",
+                    "查体", "化验", "辅检", "医嘱", "诊断", "二次诊断*" };
+            HSSFRow headRow = sheet.createRow(0);
+            for (int i = 0; i < headers.length; i++) {
+                headRow.createCell(i).setCellValue(headers[i]);
+            }
+
+            int rowNum = 1;
+            for (GetExportInquirysDTO getExportInquirysDTO : getExportInquirysDTOList) {
+                HSSFRow row = sheet.createRow(rowNum);
+                row.createCell(0).setCellValue(getExportInquirysDTO.getLineNum());
+                row.createCell(1).setCellValue(getExportInquirysDTO.getPatientSex());
+                row.createCell(2).setCellValue(getExportInquirysDTO.getPatientAge());
+                for (int type = 1; type <= 9; type++) {
+                    row.createCell(type + 2).setCellValue(getExportInquirysDTO.getDetailMap().get(type));
+                }
+                rowNum++;
+            }
+
+            String fileName = "data.xls";
             response.setContentType("application/vnd.ms-excel");
-            response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(fileName, "utf-8"));
+            response.setHeader("Content-Disposition",
+                    "attachment;filename=" + URLEncoder.encode(fileName, "utf-8"));
             outputStream = response.getOutputStream();
             workbook.write(outputStream);
             outputStream.close();
-        } catch (Exception e){
-        	throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
+        } catch (Exception e) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
         } finally {
-        	try {
-        		if(workbook!=null){
-        			workbook.close();
-        		}
-        	} catch (IOException e) {
-        		e.printStackTrace();
-        	}
-		}
+            try {
+                if (workbook != null) {
+                    workbook.close();
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
     }
-    
+
 
 }

+ 6 - 7
icss-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java

@@ -1,12 +1,5 @@
 package com.diagbot.facade;
 
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.TranServiceClient;
@@ -19,6 +12,12 @@ import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.PatientInfoVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 患者业务逻辑

+ 36 - 15
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -136,7 +136,11 @@ public class PushFacade {
                 List<ConceptPushDTO> vitalDTOList = addQuestionId(vitals, QuestionTypeEnum.Vital.getKey());
                 pushDTO.setVital(vitalDTOList);
                 if (ListUtil.isNotEmpty(vitalDTOList)) {
-                    List<Long> vitalIds = vitalDTOList.stream().map(vital -> vital.getId()).filter(vitalId -> vitalId != null).collect(Collectors.toList());
+                    List<Long> vitalIds = vitalDTOList
+                            .stream()
+                            .map(vital -> vital.getId())
+                            .filter(vitalId -> vitalId != null)
+                            .collect(Collectors.toList());
                     pushDTO.setVitalIds(vitalIds);
                 }
             }
@@ -153,8 +157,12 @@ public class PushFacade {
             if (ListUtil.isNotEmpty(labs)) {
                 List<QuestionPushDTO> lisDTO = Lists.newLinkedList();
                 Map<String, Long> lisMap = new LinkedHashMap<>();
-                List<String> mealNameList = labs.stream().map(lab -> lab.getName()).collect(Collectors.toList());
-                Map<String, QuestionDTO> questionDTOMap = addLisQuestion(mealNameList, pushVO.getAge(), pushVO.getSex());
+                List<String> mealNameList = labs
+                        .stream()
+                        .map(lab -> lab.getName())
+                        .collect(Collectors.toList());
+                Map<String, QuestionDTO> questionDTOMap
+                        = addLisQuestion(mealNameList, pushVO.getAge(), pushVO.getSex());
                 for (String name : mealNameList) {
                     QuestionPushDTO questionPushDTO = new QuestionPushDTO();
                     QuestionDTO questionDTO = questionDTOMap.get(name);
@@ -283,9 +291,10 @@ public class PushFacade {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "全科信息未维护");
         }
         QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
-        deptVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
-                eq("dept_id", dept.getConceptId()).
-                orderByAsc("order_no");
+        deptVitalQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("dept_id", dept.getConceptId())
+                .orderByAsc("order_no");
         List<DeptVital> deptVitalList = deptVitalFacade.list(deptVitalQueryWrapper);
         //科室模板为空时,取全科模板
         if (deptVitalList.size() == 0 && dept.getName().equals("全科") == false) {
@@ -296,9 +305,10 @@ public class PushFacade {
             RespDTOUtil.respNGDeal(res, "全科信息未维护");
             BeanUtil.copyProperties(res.data, dept);
             deptVitalQueryWrapper = new QueryWrapper<>();
-            deptVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
-                    eq("dept_id", dept.getConceptId()).
-                    orderByAsc("order_no");
+            deptVitalQueryWrapper
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("dept_id", dept.getConceptId())
+                    .orderByAsc("order_no");
             deptVitalList = deptVitalFacade.list(deptVitalQueryWrapper);
         }
         //标签列表
@@ -319,7 +329,10 @@ public class PushFacade {
         if (ListUtil.isNotEmpty(vitalDTO)) {
             ConceptExistVO conceptExistVO = new ConceptExistVO();
             conceptExistVO.setType(ConceptTypeEnum.Vital.getKey());
-            List<String> vitalNames = vitalDTO.stream().map(vital -> vital.getTagName()).collect(Collectors.toList());
+            List<String> vitalNames = vitalDTO
+                    .stream()
+                    .map(vital -> vital.getTagName())
+                    .collect(Collectors.toList());
             conceptExistVO.setNameList(vitalNames);
             RespDTO<Map<String, Long>> respDTO = aiptServiceClient.getConceptMapByNameAndType(conceptExistVO);
             if (RespDTOUtil.respIsOK(respDTO)) {
@@ -360,7 +373,8 @@ public class PushFacade {
         }
         List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
         if (ListUtil.isNotEmpty(questionInfoList)) {
-            Map<String, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(questionInfoList, "tagName");
+            Map<String, QuestionInfo> questionInfoMap
+                    = EntityUtil.makeEntityMap(questionInfoList, "tagName");
             for (ConceptPushDTO concept : concepts) {
                 if (questionInfoMap.containsKey(concept.getName())) {
                     concept.setId(questionInfoMap.get(concept.getName()).getId());
@@ -380,13 +394,20 @@ public class PushFacade {
      */
     public Map<String, QuestionDTO> addLisQuestion(List<String> nameList, Integer age, Integer sex) {
         Map<String, QuestionDTO> mapDTO = new LinkedHashMap<>();
+        if (ListUtil.isEmpty(nameList)) {
+            return mapDTO;
+        }
         QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
-        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
-                in("name", nameList).
-                eq("tag_type", TagTypeEnum.T7.getKey());
+        questionInfoQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("name", nameList)
+                .eq("tag_type", TagTypeEnum.T7.getKey());
         List<QuestionInfo> lisList = questionFacade.list(questionInfoQueryWrapper);
         if (ListUtil.isNotEmpty(lisList)) {
-            List<Long> lisIds = lisList.stream().map(lis -> lis.getId()).collect(Collectors.toList());
+            List<Long> lisIds = lisList
+                    .stream()
+                    .map(lis -> lis.getId())
+                    .collect(Collectors.toList());
             QuestionIds2VO questionIds2VO = new QuestionIds2VO();
             questionIds2VO.setAge(age);
             questionIds2VO.setSexType(sex);

+ 14 - 12
icss-service/src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -144,18 +144,20 @@ public class RetrievalFacade {
                 }
             }
             //获取questionId
-            QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
-            questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .in("tag_name", questionNames)
-                    .eq("item_type", 0)
-                    .ne("tag_type", 8)
-                    .in("type", typeList);
-            List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
-            Map<String, QuestionInfo> questionInfoMap = questionInfoList.stream()
-                    .collect(Collectors.toMap(QuestionInfo::getTagName, questionInfo -> questionInfo));
-            for (RetrievalDTO retrievalDTOInfo : retrievalDTOList.data) {
-                if (null != questionInfoMap.get(retrievalDTOInfo.getName())) {//设置questionId
-                    retrievalDTOInfo.setQuestionId(questionInfoMap.get(retrievalDTOInfo.getName()).getId());
+            if (ListUtil.isNotEmpty(questionNames)){
+                QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+                questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .in("tag_name", questionNames)
+                        .eq("item_type", 0)
+                        .ne("tag_type", 8)
+                        .in("type", typeList);
+                List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
+                Map<String, QuestionInfo> questionInfoMap = questionInfoList.stream()
+                        .collect(Collectors.toMap(QuestionInfo::getTagName, questionInfo -> questionInfo));
+                for (RetrievalDTO retrievalDTOInfo : retrievalDTOList.data) {
+                    if (null != questionInfoMap.get(retrievalDTOInfo.getName())) {//设置questionId
+                        retrievalDTOInfo.setQuestionId(questionInfoMap.get(retrievalDTOInfo.getName()).getId());
+                    }
                 }
             }
         }

+ 5 - 2
icss-service/src/main/java/com/diagbot/facade/TreatmentFacade.java

@@ -110,14 +110,17 @@ public class TreatmentFacade {
                     continue;
                 }
                 QueryWrapper<InquiryDrug> inquiryDrugQueryWrapper = new QueryWrapper<>();
-                inquiryDrugQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("inquiry_id", inquiryInfo.getId());
+                inquiryDrugQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("inquiry_id", inquiryInfo.getId());
                 List<InquiryDrug> inquiryDrugList = inquiryDrugFacade.list(inquiryDrugQueryWrapper);
                 //当前病历没有开药
                 if (ListUtil.isEmpty(inquiryDrugList)) {
                     continue;
                 }
                 List<Medicition> medicitionList = Lists.newLinkedList();
-                List<Long> conceptIds = inquiryDrugList.stream().map(inquiryDrug -> inquiryDrug.getConceptId()).collect(Collectors.toList());
+                List<Long> conceptIds = inquiryDrugList
+                        .stream()
+                        .map(inquiryDrug -> inquiryDrug.getConceptId()).collect(Collectors.toList());
                 ExistListByConceptIdsVO existListByConceptIds = new ExistListByConceptIdsVO();
                 existListByConceptIds.setConceptIds(conceptIds);
                 RespDTO<List<Long>> res = aiptServiceClient.existListByConceptIds(existListByConceptIds);

+ 15 - 18
icss-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -1,17 +1,5 @@
 package com.diagbot.web;
 
-import java.util.List;
-
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.GetEvaluationScalesDTO;
@@ -36,11 +24,20 @@ import com.diagbot.vo.HisInquirysForJzVO;
 import com.diagbot.vo.HisInquirysVO;
 import com.diagbot.vo.ReadInquiryVO;
 import com.diagbot.vo.SaveInquiryVO;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.List;
+
 /**
  * @author rengb
  * @since 2018-11-23
@@ -82,7 +79,7 @@ public class InquiryInfoController {
     public RespDTO<IPage<HisInquiryDTO>> hisInquirys(@Valid @RequestBody HisInquirysVO hisInquirysVO) {
         return RespDTO.onSuc(inquiryInfoFacade.hisInquirys(hisInquirysVO));
     }
-    
+
     @ApiOperation(value = "ICSS三期-急诊-历史病历列表[by:rengb]")
     @PostMapping("/hisInquirysForJz")
     @SysLogger("hisInquirysForJz")
@@ -118,18 +115,18 @@ public class InquiryInfoController {
     public RespDTO<List<GetEvaluationScalesDTO>> getEvaluationScales(@Valid @RequestBody GetEvaluationScalesVO getEvaluationScalesVO) {
         return RespDTO.onSuc(inquiryInfoFacade.getEvaluationScales(getEvaluationScalesVO));
     }
-    
+
     @ApiOperation(value = "ICSS三期-急诊-添加二次诊断[by:rengb]")
     @PostMapping("/addDiagnoseSecond")
     @SysLogger("addDiagnoseSecond")
     public RespDTO<Boolean> addDiagnoseSecond(@Valid @RequestBody AddDiagnoseSecondVO addDiagnoseSecondVO) {
         return RespDTO.onSuc(inquiryInfoFacade.addDiagnoseSecond(addDiagnoseSecondVO));
     }
-    
+
     @ApiOperation(value = "ICSS三期-急诊-导出病历[by:rengb]")
     @PostMapping("/exportInquirys")
-    public void exportInquirys(HttpServletResponse response,@Valid @RequestBody ExportInquirysVO exportInquirysVO){
-    	inquiryInfoFacade.exportInquirys(response,exportInquirysVO);
+    public void exportInquirys(HttpServletResponse response, @Valid @RequestBody ExportInquirysVO exportInquirysVO) {
+        inquiryInfoFacade.exportInquirys(response, exportInquirysVO);
     }
 
 

+ 7 - 9
icss-service/src/main/java/com/diagbot/web/PatientInfoController.java

@@ -1,14 +1,6 @@
 package com.diagbot.web;
 
 
-import javax.validation.Valid;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.PatientInfoDTO;
@@ -16,11 +8,17 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.PatientInfoFacade;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.PatientInfoVO;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.validation.Valid;
+
 /**
  * <p>
  * 患者信息表 前端控制器

+ 43 - 34
icssman-service/src/main/java/com/diagbot/facade/DeptVitalFacade.java

@@ -82,42 +82,43 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
             this.update(new DeptVital(), deptVitalUpdateWrapper);
         }
 
-        //查找标签是否存在
-        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
         List<Long> vitalIds = deptVitalVO.getDvDetailVOList()
                 .stream()
-                .map(deDetailVO -> deDetailVO.getVitalId())
-                .collect(Collectors.toList());
-        questionInfoQueryWrapper.in("id", vitalIds).
-                eq("type", QuestionTypeEnum.Vital.getKey()).
-                eq("is_deleted", IsDeleteEnum.N.getKey());
-        List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
+                .map(deDetailVO -> deDetailVO.getVitalId()).collect(Collectors.toList());
+        if (ListUtil.isNotEmpty(vitalIds)) {
+            //查找标签是否存在
+            QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+            questionInfoQueryWrapper.in("id", vitalIds).
+                    eq("type", QuestionTypeEnum.Vital.getKey()).
+                    eq("is_deleted", IsDeleteEnum.N.getKey());
+            List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
 
-        Map<Long, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(questionInfoList, "id");
-        for (Long vital : vitalIds) {
-            if (questionInfoMap.get(vital) == null) {
-                throw new CommonException(CommonErrorCode.NOT_EXISTS, "id=" + vital + "的查体标签不存在");
+            Map<Long, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(questionInfoList, "id");
+            for (Long vital : vitalIds) {
+                if (questionInfoMap.get(vital) == null) {
+                    throw new CommonException(CommonErrorCode.NOT_EXISTS, "id=" + vital + "的查体标签不存在");
+                }
             }
-        }
 
-        //插入新模板
-        List<DeptVital> deptVitalList = Lists.newArrayList();
-        Date now = DateUtil.now();
-        String userId = UserUtils.getCurrentPrincipleID();
-        for (DVDetailVO dvDetailVO : deptVitalVO.getDvDetailVOList()) {
-            DeptVital deptVital = new DeptVital();
-            deptVital.setDeptId(deptVitalVO.getDeptId());
-            deptVital.setVitalId(dvDetailVO.getVitalId());
-            deptVital.setRemark(dvDetailVO.getRemark());
-            deptVital.setOrderNo(dvDetailVO.getOrderNo());
-            deptVital.setCreator(userId);
-            deptVital.setGmtCreate(now);
-            deptVital.setModifier(userId);
-            deptVital.setGmtModified(now);
-            deptVitalList.add(deptVital);
-        }
+            //插入新模板
+            List<DeptVital> deptVitalList = Lists.newArrayList();
+            Date now = DateUtil.now();
+            String userId = UserUtils.getCurrentPrincipleID();
+            for (DVDetailVO dvDetailVO : deptVitalVO.getDvDetailVOList()) {
+                DeptVital deptVital = new DeptVital();
+                deptVital.setDeptId(deptVitalVO.getDeptId());
+                deptVital.setVitalId(dvDetailVO.getVitalId());
+                deptVital.setRemark(dvDetailVO.getRemark());
+                deptVital.setOrderNo(dvDetailVO.getOrderNo());
+                deptVital.setCreator(userId);
+                deptVital.setGmtCreate(now);
+                deptVital.setModifier(userId);
+                deptVital.setGmtModified(now);
+                deptVitalList.add(deptVital);
+            }
 
-        deptVitalService.saveBatch(deptVitalList);
+            deptVitalService.saveBatch(deptVitalList);
+        }
         return true;
     }
 
@@ -197,11 +198,15 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
         IPage<DeptVitalDTO> page = this.getDeptVitalPage(deptVitalPageVO);
         List<DeptVitalDTO> deptVitalDTOList = page.getRecords();
         //操作人信息
-        List<String> userIds = deptVitalDTOList.stream().map(deptVitalDTO -> deptVitalDTO.getOperator()).collect(Collectors.toList());
+        List<String> userIds = deptVitalDTOList
+                .stream()
+                .map(deptVitalDTO -> deptVitalDTO.getOperator()).collect(Collectors.toList());
         RespDTO<Map<String, String>> data = userServiceClient.getUserInfoByIds(userIds);
         Map<String, String> userInfos = data.data;
         //科室信息
-        List<Long> deptIds = deptVitalDTOList.stream().map(deptVitalDTO -> deptVitalDTO.getDeptId()).collect(Collectors.toList());
+        List<Long> deptIds = deptVitalDTOList
+                .stream()
+                .map(deptVitalDTO -> deptVitalDTO.getDeptId()).collect(Collectors.toList());
         ConceptSearchVO conceptSearchVO = new ConceptSearchVO();
         conceptSearchVO.setConceptIds(deptIds);
         RespDTO<Map<Long, String>> deptMap = klmServiceClient.getConceptMap(conceptSearchVO);
@@ -256,7 +261,9 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
                 select("dept_id").
                 groupBy("dept_id");
         List<DeptVital> deptVitalList = this.list(deptVitalQueryWrapper);
-        List<Long> deptIds = deptVitalList.stream().map(deptVital -> deptVital.getDeptId()).collect(Collectors.toList());
+        List<Long> deptIds = deptVitalList
+                .stream()
+                .map(deptVital -> deptVital.getDeptId()).collect(Collectors.toList());
         return getDeptShortList(deptIds);
     }
 
@@ -310,7 +317,9 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
                 select("dept_id").
                 groupBy("dept_id");
         List<DeptVital> deptVitalList = this.list(deptVitalQueryWrapper);
-        List<Long> deptIds = deptVitalList.stream().map(deptVital -> deptVital.getDeptId()).collect(Collectors.toList());
+        List<Long> deptIds = deptVitalList
+                .stream()
+                .map(deptVital -> deptVital.getDeptId()).collect(Collectors.toList());
         return deptIds;
     }
 

+ 46 - 36
icssman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java

@@ -234,32 +234,34 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
         }
         List<ModuleInfo> moduleInfoList = this.list(moduleInfoQueryWrapper);
         List<Long> moduleIdList = moduleInfoList.stream().map(m -> m.getId()).collect(Collectors.toList());
-        //获取模板明细信息
-        QueryWrapper<ModuleDetail> moduleDetailQueryWrapper = new QueryWrapper<>();
-        moduleDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .in("module_id", moduleIdList);
-        List<ModuleDetail> moduleDetailList = moduleDetailFacade.list(moduleDetailQueryWrapper);
-        //将模板明细根据模板id放入map
-        Map<Long, List<ModuleDetail>> moduleDetailMap = new HashMap<>();
-        List<ModuleDetail> allModuleDetials = null;
-        for (ModuleInfo moduleInfo : moduleInfoList) {
-            allModuleDetials = new ArrayList<>();
-            for (ModuleDetail moduleDetail : moduleDetailList) {
-                if (moduleInfo.getId().longValue() == moduleDetail.getModuleId().longValue()) {
-                    allModuleDetials.add(moduleDetail);
-                }
-            }
-            moduleDetailMap.put(moduleInfo.getId(), allModuleDetials);
-        }
         //给ModuleInfoDTO设值
         List<ModuleInfoDTO> moduleInfoDTOList = new ArrayList<>();
-        ModuleInfoDTO moduleInfoDTO = null;
-        for (ModuleInfo moduleInfo : moduleInfoList) {
-            moduleInfoDTO = new ModuleInfoDTO();
-            moduleInfoDTO.setId(moduleInfo.getId());
-            moduleInfoDTO.setName(moduleInfo.getName());
-            moduleInfoDTO.setModuleDetails(moduleDetailMap.get(moduleInfoDTO.getId()));
-            moduleInfoDTOList.add(moduleInfoDTO);
+        if (ListUtil.isNotEmpty(moduleIdList)) {
+            //获取模板明细信息
+            QueryWrapper<ModuleDetail> moduleDetailQueryWrapper = new QueryWrapper<>();
+            moduleDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("module_id", moduleIdList);
+            List<ModuleDetail> moduleDetailList = moduleDetailFacade.list(moduleDetailQueryWrapper);
+            //将模板明细根据模板id放入map
+            Map<Long, List<ModuleDetail>> moduleDetailMap = new HashMap<>();
+            List<ModuleDetail> allModuleDetials = null;
+            for (ModuleInfo moduleInfo : moduleInfoList) {
+                allModuleDetials = new ArrayList<>();
+                for (ModuleDetail moduleDetail : moduleDetailList) {
+                    if (moduleInfo.getId().longValue() == moduleDetail.getModuleId().longValue()) {
+                        allModuleDetials.add(moduleDetail);
+                    }
+                }
+                moduleDetailMap.put(moduleInfo.getId(), allModuleDetials);
+            }
+            ModuleInfoDTO moduleInfoDTO = null;
+            for (ModuleInfo moduleInfo : moduleInfoList) {
+                moduleInfoDTO = new ModuleInfoDTO();
+                moduleInfoDTO.setId(moduleInfo.getId());
+                moduleInfoDTO.setName(moduleInfo.getName());
+                moduleInfoDTO.setModuleDetails(moduleDetailMap.get(moduleInfoDTO.getId()));
+                moduleInfoDTOList.add(moduleInfoDTO);
+            }
         }
         return moduleInfoDTOList;
     }
@@ -384,19 +386,27 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
             }
         } else {
             //获取标签信息
-            QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
-            questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .in("id", questionIdList);
-            List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
-            Map<Long, QuestionInfo> questionInfoMap = questionInfoList.stream()
-                    .collect(Collectors.toMap(QuestionInfo::getId, questionInfo -> questionInfo));
+            Map<Long, QuestionInfo> questionInfoMap = new HashMap<>();
+            if (ListUtil.isNotEmpty(questionIdList)) {
+                QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+                questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .in("id", questionIdList);
+                List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
+                questionInfoMap = questionInfoList.stream()
+                        .collect(Collectors.toMap(QuestionInfo::getId, questionInfo -> questionInfo));
+            }
+
             //获取模板信息
-            QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
-            questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .in("id", moduleIdList);
-            List<ModuleInfo> moduleInfoList = this.list(moduleInfoQueryWrapper);
-            Map<Long, ModuleInfo> moduleInfoMap = moduleInfoList.stream()
-                    .collect(Collectors.toMap(ModuleInfo::getId, moduleInfo -> moduleInfo));
+            Map<Long, ModuleInfo> moduleInfoMap = new HashMap<>();
+            if (ListUtil.isNotEmpty(moduleIdList)) {
+                QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
+                moduleInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .in("id", moduleIdList);
+                List<ModuleInfo> moduleInfoList = this.list(moduleInfoQueryWrapper);
+                moduleInfoMap = moduleInfoList.stream()
+                        .collect(Collectors.toMap(ModuleInfo::getId, moduleInfo -> moduleInfo));
+            }
+
             //循环给出参赋值
             for (ModuleDetail moduleDetail : moduleDetailList) {
                 getModuleDetailInfoDTO = new GetModuleDetailInfoDTO();

+ 13 - 10
icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -492,6 +492,9 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
             return true;
         }
         List<String> idList = Arrays.asList(ids.split(","));
+        if (ListUtil.isEmpty(idList)) {
+            return true;
+        }
         StringBuffer errMsg = new StringBuffer();
         Date now = DateUtil.now();
         String person = UserUtils.getCurrentPrincipleID();
@@ -683,16 +686,16 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
         return getQuestionInfoDTOS;
     }
 
-    public List<Long> getQuestionIdsByType(GetQuestionIdsByTypeVO getQuestionIdsByTypeVO) {
-        QueryWrapper<QuestionInfo> queryWrapper = new QueryWrapper<>();
-        queryWrapper.in("id", getQuestionIdsByTypeVO.getQuestionIds())
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("type", getQuestionIdsByTypeVO.getQuestionType());
-        List<QuestionInfo> questionInfoList = this.list(queryWrapper);
-        List<Long> questionIds = questionInfoList.stream().map(questionInfo -> questionInfo.getId())
-                .collect(Collectors.toList());
-        return questionIds;
-    }
+//    public List<Long> getQuestionIdsByType(GetQuestionIdsByTypeVO getQuestionIdsByTypeVO) {
+//        QueryWrapper<QuestionInfo> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.in("id", getQuestionIdsByTypeVO.getQuestionIds())
+//                .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                .eq("type", getQuestionIdsByTypeVO.getQuestionType());
+//        List<QuestionInfo> questionInfoList = this.list(queryWrapper);
+//        List<Long> questionIds = questionInfoList.stream().map(questionInfo -> questionInfo.getId())
+//                .collect(Collectors.toList());
+//        return questionIds;
+//    }
 
     /**
      * 根据参数返回标签内容

+ 5 - 2
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -4,9 +4,9 @@ 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.diagbot.client.UserServiceClient;
-import com.diagbot.dto.GetConceptDetailListDTO;
 import com.diagbot.dto.ConceptDetailDTO;
 import com.diagbot.dto.ConceptIndexDTO;
+import com.diagbot.dto.GetConceptDetailListDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.ConceptDetail;
 import com.diagbot.enums.IsDeleteEnum;
@@ -19,9 +19,9 @@ import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddConceptDetailVO;
+import com.diagbot.vo.ConceptIndexVO;
 import com.diagbot.vo.GetConceptDetailListVO;
 import com.diagbot.vo.GetConceptDetailVO;
-import com.diagbot.vo.ConceptIndexVO;
 import com.diagbot.vo.RemoveConceptDetailVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -82,6 +82,9 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
                 || IsDeleteEnum.Y.getKey().equals(removeConceptDetailVO.getStatus()))) {
             throw new CommonException(CommonErrorCode.STATUS_IS_ERROR, "状态值错误【Y】或【N】");
         }
+        if (ListUtil.isEmpty(removeConceptDetailVO.getConceptId())) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "医学术语静态知识概念id必传");
+        }
         String person = UserUtils.getCurrentPrincipleID();
         List<Long> ids = removeConceptDetailVO.getConceptId();
         Date now = DateUtil.now();

+ 194 - 113
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

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

+ 9 - 3
knowledgeman-service/src/main/java/com/diagbot/facade/DisclaimerInformationFacade.java

@@ -153,7 +153,9 @@ public class DisclaimerInformationFacade extends DisclaimerInformationServiceImp
         // 1.先判断数据是否存在有效
         checkExist(disclaimerInformationIdVO.getId());
         UpdateWrapper<DisclaimerInformation> disclaimerInformationNew = new UpdateWrapper<>();
-        disclaimerInformationNew.in("id", disclaimerInformationIdVO.getId()).eq("is_deleted", IsDeleteEnum.N.getKey())
+        disclaimerInformationNew
+                .eq("id", disclaimerInformationIdVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .set("is_deleted", IsDeleteEnum.Y.getKey()).set("modifier", UserUtils.getCurrentPrincipleID())
                 .set("gmt_modified", DateUtil.now());
         return update(new DisclaimerInformation(), disclaimerInformationNew);
@@ -180,7 +182,9 @@ public class DisclaimerInformationFacade extends DisclaimerInformationServiceImp
     	update(new DisclaimerInformation(), DisclaimerInformationStatus);
         
         UpdateWrapper<DisclaimerInformation> disclaimerInformationNew = new UpdateWrapper<>();
-        disclaimerInformationNew.in("id", disclaimerInformationIdVO.getId()).eq("is_deleted", IsDeleteEnum.N.getKey())
+        disclaimerInformationNew
+                .eq("id", disclaimerInformationIdVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("status", StatusEnum.Disable.getKey()).set("modifier", UserUtils.getCurrentPrincipleID())
                 .set("gmt_modified", DateUtil.now()).set("status", StatusEnum.Enable.getKey());
         return update(new DisclaimerInformation(), disclaimerInformationNew);
@@ -195,7 +199,9 @@ public class DisclaimerInformationFacade extends DisclaimerInformationServiceImp
         // 1.先判断数据是否存在有效
         checkExist(disclaimerInformationEndVO.getId());
         UpdateWrapper<DisclaimerInformation> disclaimerInformationNew = new UpdateWrapper<>();
-        disclaimerInformationNew.in("id", disclaimerInformationEndVO.getId()).eq("is_deleted", IsDeleteEnum.N.getKey())
+        disclaimerInformationNew
+                .eq("id", disclaimerInformationEndVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("status", StatusEnum.Enable.getKey()).set("modifier", UserUtils.getCurrentPrincipleID())
                 .set("gmt_modified", DateUtil.now()).set("status", StatusEnum.Disable.getKey());
         return update(new DisclaimerInformation(), disclaimerInformationNew);

+ 9 - 6
knowledgeman-service/src/main/java/com/diagbot/facade/EvaluationFacade.java

@@ -143,14 +143,17 @@ public class EvaluationFacade extends EvaluationServiceImpl {
                 regionName.add(e.getRegionName());
             }
 
-            QueryWrapper<Evaluation> evaluationQuery = new QueryWrapper<>();
+            if(ListUtil.isNotEmpty(regionName)){
+                QueryWrapper<Evaluation> evaluationQuery = new QueryWrapper<>();
 
-            evaluationQuery.in("region_name", regionName).eq("is_deleted", IsDeleteEnum.N.getKey());
-            List<Evaluation> dataUnique = list(evaluationQuery);
-            if (dataUnique != null && dataUnique.size() > 0) {
-                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-                        "该'" + dataUnique.get(0).getRegionName() + "'已存在");
+                evaluationQuery.in("region_name", regionName).eq("is_deleted", IsDeleteEnum.N.getKey());
+                List<Evaluation> dataUnique = list(evaluationQuery);
+                if (dataUnique != null && dataUnique.size() > 0) {
+                    throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                            "该'" + dataUnique.get(0).getRegionName() + "'已存在");
+                }
             }
+
             List<Evaluation> evaluationModuleLsit = new ArrayList<Evaluation>();
             List<EvaluationVO> data = evaluationModuleListVO.getEvaluationModuleData();
             Date optDate = DateUtil.now();

+ 24 - 19
knowledgeman-service/src/main/java/com/diagbot/facade/IndexConfigFacade.java

@@ -1,16 +1,5 @@
 package com.diagbot.facade;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Component;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -34,6 +23,16 @@ import com.diagbot.vo.IndexConfigDiseaseIdVO;
 import com.diagbot.vo.IndexConfigDiseaseNameVO;
 import com.diagbot.vo.IndexConfigListVO;
 import com.diagbot.vo.IndexConfigVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author wangfeng
@@ -149,22 +148,28 @@ public class IndexConfigFacade extends IndexConfigServiceImpl {
      */
     public boolean saveIndexConfigList(IndexConfigListVO indexConfigListVO) {
         boolean res = false;
-        if (indexConfigListVO != null && ListUtil.isNotEmpty(indexConfigListVO.getIndexConfigData())) {
+        if (indexConfigListVO != null
+                && ListUtil.isNotEmpty(indexConfigListVO.getIndexConfigData())) {
             List<IndexConfigVO> indexConfigData = indexConfigListVO.getIndexConfigData();
             List<Long> conceptId = new ArrayList<>();
             for (IndexConfigVO e : indexConfigData) {
                 conceptId.add(e.getConceptId());
             }
 
-            QueryWrapper<IndexConfig> IndexConfigQuery = new QueryWrapper<>();
-
-            IndexConfigQuery.eq("disease_id", indexConfigListVO.getDiseaseId()).in("concept_id", conceptId);
-            List<IndexConfig> dataUnique = list(IndexConfigQuery);
-            if (ListUtil.isNotEmpty(dataUnique)) {
-                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-                        "该'" + dataUnique.get(0).getConceptId() + "'已存在");
+            if(ListUtil.isNotEmpty(conceptId)){
+                QueryWrapper<IndexConfig> IndexConfigQuery = new QueryWrapper<>();
+
+                IndexConfigQuery
+                        .eq("disease_id", indexConfigListVO.getDiseaseId())
+                        .in("concept_id", conceptId);
+                List<IndexConfig> dataUnique = list(IndexConfigQuery);
+                if (ListUtil.isNotEmpty(dataUnique)) {
+                    throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                            "该'" + dataUnique.get(0).getConceptId() + "'已存在");
+                }
             }
 
+
             List<IndexConfig> IndexConfigLsit = new ArrayList<IndexConfig>();
             List<IndexConfigVO> data = indexConfigListVO.getIndexConfigData();
             Date optDate = DateUtil.now();

+ 2 - 1
knowledgeman-service/src/main/java/com/diagbot/facade/LexiconFacade.java

@@ -62,7 +62,8 @@ public class LexiconFacade extends LexiconServiceImpl {
     public IPage<GetLexiconListDTO> getLexiconList(GetLexiconListVO getLexiconListVO) {
         IPage<GetLexiconListDTO> ipage = this.baseMapper.getLexiconList(getLexiconListVO);
         if (ipage.getRecords().size() > 0) {
-            List<String> ids = ipage.getRecords().stream().map(i -> i.getModifier()).distinct().collect(Collectors.toList());
+            List<String> ids = ipage.getRecords()
+                    .stream().map(i -> i.getModifier()).distinct().collect(Collectors.toList());
             RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
             if (respDTO == null || !CommonErrorCode.OK.getCode().equals(respDTO.code)) {
                 throw new CommonException(CommonErrorCode.RPC_ERROR,

+ 41 - 14
knowledgeman-service/src/main/java/com/diagbot/facade/LisMappingFacade.java

@@ -61,7 +61,10 @@ public class LisMappingFacade extends LisMappingServiceImpl {
     public IPage<LisMappingPageDTO> getLisMappingPage(LisMappingPageVO lisMappingPageVO) {
         IPage<LisMappingPageDTO> dtoPage = this.lisMappingPage(lisMappingPageVO);
         List<LisMappingPageDTO> records = dtoPage.getRecords();
-        List<String> userIds = records.stream().map(record -> record.getModifier()).collect(Collectors.toList());
+        List<String> userIds = records
+                .stream()
+                .map(record -> record.getModifier())
+                .collect(Collectors.toList());
         RespDTO<Map<String, String>> data = userServiceClient.getUserInfoByIds(userIds);
         Map<String, String> userInfos = data.data;
         for (LisMappingPageDTO record : records) {
@@ -103,10 +106,13 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         }
 
         QueryWrapper<LisMapping> lisMappingQueryWrapper = new QueryWrapper<>();
-        lisMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+        lisMappingQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("meal_id", lisMappingVO.getMealId());
         if (lisMappingVO.getItemId() == null || lisMappingVO.getItemId().equals(0L)) {
-            lisMappingQueryWrapper.and(i -> i.isNull("item_id").or(j -> j.eq("item_id", "0")));
+            lisMappingQueryWrapper
+                    .and(i -> i.isNull("item_id")
+                            .or(j -> j.eq("item_id", "0")));
         } else {
             lisMappingQueryWrapper.eq("item_id", lisMappingVO.getItemId());
         }
@@ -143,7 +149,10 @@ public class LisMappingFacade extends LisMappingServiceImpl {
             List<QuestionInfo> questionInfoList = respDTO.data;
             if (ListUtil.isNotEmpty(questionInfoList)) {
                 IdListVO idListVO = new IdListVO();
-                List<Long> idList = questionInfoList.stream().map(i -> i.getId()).collect(Collectors.toList());
+                List<Long> idList = questionInfoList
+                        .stream()
+                        .map(i -> i.getId())
+                        .collect(Collectors.toList());
                 idListVO.setIdList(idList);
                 RespDTO<Boolean> cacheRespDTO = icssManServiceClient.clearCache(idListVO);
             }
@@ -162,7 +171,9 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         lisMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("meal_id", lisMappingVO.getMealId());
         if (lisMappingVO.getItemId() == null || lisMappingVO.getItemId().equals(0L)) {
-            lisMappingQueryWrapper.and(i -> i.isNull("item_id").or(j -> j.eq("item_id", "0")));
+            lisMappingQueryWrapper
+                    .and(i -> i.isNull("item_id")
+                            .or(j -> j.eq("item_id", "0")));
         } else {
             lisMappingQueryWrapper.eq("item_id", lisMappingVO.getItemId());
         }
@@ -208,7 +219,10 @@ public class LisMappingFacade extends LisMappingServiceImpl {
             List<QuestionInfo> questionInfoList = respDTO.data;
             if (ListUtil.isNotEmpty(questionInfoList)) {
                 IdListVO idListVO = new IdListVO();
-                List<Long> idList = questionInfoList.stream().map(i -> i.getId()).collect(Collectors.toList());
+                List<Long> idList = questionInfoList
+                        .stream()
+                        .map(i -> i.getId())
+                        .collect(Collectors.toList());
                 idListVO.setIdList(idList);
                 RespDTO<Boolean> cacheRespDTO = icssManServiceClient.clearCache(idListVO);
             }
@@ -226,7 +240,8 @@ public class LisMappingFacade extends LisMappingServiceImpl {
     public String getLisUniqueName(GetUniqueNameVO getUniqueNameVO) {
         String uniqueName = "";
         QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
-        conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+        conceptQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("lib_name", getUniqueNameVO.getMealName())
                 .eq("lib_type", LexiconTypeEnum.LIS_PACKAGE.getKey());
         Concept mealConcept = conceptFacade.getOne(conceptQueryWrapper, false);
@@ -236,7 +251,8 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         Concept itemConcept = null;
         if (StringUtil.isNotBlank(getUniqueNameVO.getItemName())) {
             conceptQueryWrapper = new QueryWrapper<>();
-            conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+            conceptQueryWrapper
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("lib_name", getUniqueNameVO.getItemName())
                     .eq("lib_type", LexiconTypeEnum.LIS_DETAILS.getKey());
             itemConcept = conceptFacade.getOne(conceptQueryWrapper, false);
@@ -245,10 +261,13 @@ public class LisMappingFacade extends LisMappingServiceImpl {
             }
         }
         QueryWrapper<LisMapping> lisMappingQueryWrapper = new QueryWrapper<>();
-        lisMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+        lisMappingQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("meal_id", mealConcept.getId());
         if (itemConcept == null) {
-            lisMappingQueryWrapper.and(i -> i.isNull("item_id").or(j -> j.eq("item_id", 0L)));
+            lisMappingQueryWrapper
+                    .and(i -> i.isNull("item_id")
+                            .or(j -> j.eq("item_id", 0L)));
         } else {
             lisMappingQueryWrapper.eq("item_id", itemConcept.getId());
         }
@@ -300,8 +319,12 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         Map<String, Object> paramMap = new HashMap<>();
         paramMap.put("uniqueNames", uniqueNames);
         List<LisMappingWrapper> lisMappingWrapperList = this.getLisMappingByName(paramMap);
-        List<String> mealNames = lisMappingWrapperList.stream().map(i -> i.getMealName()).filter(j -> j != null)
-                .distinct().collect(Collectors.toList());
+        List<String> mealNames = lisMappingWrapperList
+                .stream()
+                .map(i -> i.getMealName())
+                .filter(j -> j != null)
+                .distinct()
+                .collect(Collectors.toList());
         return mealNames;
     }
 
@@ -315,8 +338,12 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         Map<String, Object> paramMap = new HashMap<>();
         paramMap.put("itemNames", itemNames);
         List<LisMappingWrapper> lisMappingWrapperList = this.getLisMappingByName(paramMap);
-        List<String> mealNames = lisMappingWrapperList.stream().map(i -> i.getMealName())
-                .filter(j -> j != null).distinct().collect(Collectors.toList());
+        List<String> mealNames = lisMappingWrapperList
+                .stream()
+                .map(i -> i.getMealName())
+                .filter(j -> j != null)
+                .distinct()
+                .collect(Collectors.toList());
         return mealNames;
     }
 }

+ 14 - 13
knowledgeman-service/src/main/java/com/diagbot/facade/LisSonContactFacade.java

@@ -1,12 +1,5 @@
 package com.diagbot.facade;
 
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.LisSonContactListDTO;
@@ -14,6 +7,12 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.service.impl.RelationServiceImpl;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.LisSonContactListVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 医学术语关联业务层
@@ -22,19 +21,21 @@ import com.diagbot.vo.LisSonContactListVO;
  */
 @Component
 public class LisSonContactFacade extends RelationServiceImpl {
-	
-	@Autowired
+
+    @Autowired
     private UserServiceClient userServiceClient;
-	
-	/**
+
+    /**
      * 化验子项维护-列表
+     *
      * @param lisSonContactListVO
      * @return
      */
     public IPage<LisSonContactListDTO> lisSonContactList(LisSonContactListVO lisSonContactListVO) {
-    	IPage<LisSonContactListDTO> ipage = this.baseMapper.lisSonContactList(lisSonContactListVO);
+        IPage<LisSonContactListDTO> ipage = this.baseMapper.lisSonContactList(lisSonContactListVO);
         if (ipage.getRecords().size() > 0) {
-            List<String> ids = ipage.getRecords().stream().map(i -> i.getOperName()).distinct().collect(Collectors.toList());
+            List<String> ids = ipage.getRecords()
+                    .stream().map(i -> i.getOperName()).distinct().collect(Collectors.toList());
             RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
             RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
             ipage.getRecords().forEach(i -> {

+ 25 - 24
knowledgeman-service/src/main/java/com/diagbot/facade/MultContactFacade.java

@@ -1,12 +1,5 @@
 package com.diagbot.facade;
 
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.OnlyByRootListDTO;
@@ -16,6 +9,12 @@ import com.diagbot.service.impl.RelationServiceImpl;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.OnlyByRootListVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 医学术语关联业务层
@@ -30,26 +29,28 @@ public class MultContactFacade extends RelationServiceImpl {
 
     /**
      * 医学术语多层关联维护-列表
-     * @param multContactListVO
+     *
+     * @param onlyByRootListVO
      * @return
      */
     public IPage<OnlyByRootListDTO> multContactList(OnlyByRootListVO onlyByRootListVO) {
-    	IPage<OnlyByRootListDTO> ipage = this.baseMapper.onlyByRootList(onlyByRootListVO);
-    	
-    	if(ListUtil.isNotEmpty(ipage.getRecords())){
-    		List<String> userIds = ipage.getRecords().stream().map(i -> i.getOperName()).distinct().collect(Collectors.toList());
-        	RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(userIds);
-        	RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
-        	
-        	ipage.getRecords().forEach(i->{
-        		i.setOperName(respDTO.data.get(i.getOperName()));
-        		i.setLibType(LexiconTypeEnum.getName(i.getLibTypeId().intValue()));
-                i.setLibNameType(i.getLibName()+"("+i.getLibType()+")");
-        		
-        	});
-    	}
-
-    	return ipage;
+        IPage<OnlyByRootListDTO> ipage = this.baseMapper.onlyByRootList(onlyByRootListVO);
+
+        if (ListUtil.isNotEmpty(ipage.getRecords())) {
+            List<String> userIds = ipage.getRecords()
+					.stream().map(i -> i.getOperName()).distinct().collect(Collectors.toList());
+            RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(userIds);
+            RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
+
+            ipage.getRecords().forEach(i -> {
+                i.setOperName(respDTO.data.get(i.getOperName()));
+                i.setLibType(LexiconTypeEnum.getName(i.getLibTypeId().intValue()));
+                i.setLibNameType(i.getLibName() + "(" + i.getLibType() + ")");
+
+            });
+        }
+
+        return ipage;
     }
 
 }

+ 353 - 322
knowledgeman-service/src/main/java/com/diagbot/facade/RelationContactFacade.java

@@ -1,15 +1,5 @@
 package com.diagbot.facade;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Component;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
@@ -38,6 +28,15 @@ import com.diagbot.vo.RemoveRelationContactVO;
 import com.diagbot.vo.SingleRelationListVO;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 医学术语关联业务层
@@ -46,31 +45,32 @@ import com.google.common.collect.Maps;
  */
 @Component
 public class RelationContactFacade extends RelationServiceImpl {
-	
-	@Autowired
-    private ConceptFacade conceptFacade; 
-	@Autowired
-    private RelationOrderFacade relationOrderFacade; 
-	@Autowired
+
+    @Autowired
+    private ConceptFacade conceptFacade;
+    @Autowired
+    private RelationOrderFacade relationOrderFacade;
+    @Autowired
     @Qualifier("relationServiceImpl")
     private RelationService relationService;
-	@Autowired
+    @Autowired
     @Qualifier("relationOrderServiceImpl")
     private RelationOrderServiceImpl relationOrderServiceImpl;
-	@Autowired
+    @Autowired
     private UserServiceClient userServiceClient;
-	
+
     /**
      * 医学术语关联维护-列表
-     * @param relationContactListVO
+     *
+     * @param singleRelationListVO
      * @return
      */
     public IPage<SingleRelationListDTO> relationContactList(SingleRelationListVO singleRelationListVO) {
-    	String[] relationModelTypeArry = singleRelationListVO.getRelationModelTypeCode().split("101");
-    	singleRelationListVO.setStartTypeId(Long.parseLong(relationModelTypeArry[0]));
-    	singleRelationListVO.setEndTypeId(Long.parseLong(relationModelTypeArry[1]));
-    	
-    	IPage<SingleRelationListDTO> ipage = this.baseMapper.singleRelationList(singleRelationListVO);
+        String[] relationModelTypeArry = singleRelationListVO.getRelationModelTypeCode().split("101");
+        singleRelationListVO.setStartTypeId(Long.parseLong(relationModelTypeArry[0]));
+        singleRelationListVO.setEndTypeId(Long.parseLong(relationModelTypeArry[1]));
+
+        IPage<SingleRelationListDTO> ipage = this.baseMapper.singleRelationList(singleRelationListVO);
         if (ListUtil.isNotEmpty(ipage.getRecords())) {
             List<String> ids = ipage.getRecords().stream().map(i -> i.getOperName()).distinct().collect(Collectors.toList());
             RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
@@ -78,315 +78,346 @@ public class RelationContactFacade extends RelationServiceImpl {
             ipage.getRecords().forEach(i -> {
                 i.setOperName(respDTO.data.get(i.getOperName()));
                 i.setLibType(LexiconTypeEnum.getName(i.getLibTypeId().intValue()));
-                i.setLibNameType(i.getLibName()+"("+i.getLibType()+")");
+                i.setLibNameType(i.getLibName() + "(" + i.getLibType() + ")");
                 i.setRelationModelTypeName(RelationModelTypeEnum.getName(Integer.parseInt(i.getRelationModelTypeCode())));
             });
         }
         return ipage;
     }
 
-	/**
-	 * 医学术语关联维护/医学术语多层关联维护/化验子项维护-添加或者编辑
-	 * @param relationNodeVO
-	 * @return
-	 */
-	public Boolean addRelation(RelationNodeVO relationNodeVO) {
-		if(relationNodeVO.getConceptId()==null){
-			throw new CommonException(CommonErrorCode.RPC_ERROR,"conceptId必填!");
-		}
-		if(ListUtil.isEmpty(relationNodeVO.getNodeList())){
-			throw new CommonException(CommonErrorCode.RPC_ERROR,"nodeList不能为空!");
-		}
-		
-		List<Long> relationIdList = repairRelationDataForDelBeforeAdd(relationNodeVO.getConceptId(),relationNodeVO);
-		if(ListUtil.isNotEmpty(relationIdList)){
-			removeByIds(relationIdList);
-			
-			QueryWrapper<RelationOrder> relationOrderQe = new QueryWrapper<>();
-			relationOrderQe.in("t_relation_id", relationIdList);
-			relationOrderFacade.remove(relationOrderQe);
-		}
-		
-		List<List<Relation>> relationGroupList = repairRelationDataForAdd(relationNodeVO);
-		String currentUser = UserUtils.getCurrentPrincipleID();
+    /**
+     * 医学术语关联维护/医学术语多层关联维护/化验子项维护-添加或者编辑
+     *
+     * @param relationNodeVO
+     * @return
+     */
+    public Boolean addRelation(RelationNodeVO relationNodeVO) {
+        if (relationNodeVO.getConceptId() == null) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "conceptId必填!");
+        }
+        if (ListUtil.isEmpty(relationNodeVO.getNodeList())) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "nodeList不能为空!");
+        }
+
+        List<Long> relationIdList = repairRelationDataForDelBeforeAdd(relationNodeVO.getConceptId(), relationNodeVO);
+        if (ListUtil.isNotEmpty(relationIdList)) {
+            removeByIds(relationIdList);
+
+            QueryWrapper<RelationOrder> relationOrderQe = new QueryWrapper<>();
+            relationOrderQe.in("t_relation_id", relationIdList);
+            relationOrderFacade.remove(relationOrderQe);
+        }
+
+        List<List<Relation>> relationGroupList = repairRelationDataForAdd(relationNodeVO);
+        String currentUser = UserUtils.getCurrentPrincipleID();
         Date now = DateUtil.now();
         List<Relation> relationList = Lists.newArrayList();
-        relationGroupList.forEach(i->{
-        	i.forEach(j->{
-        		j.setCreator(currentUser);
-            	j.setGmtCreate(now);
-            	j.setModifier(currentUser);
-            	j.setGmtModified(now);
-            	relationList.add(j);
-        	});
+        relationGroupList.forEach(i -> {
+            i.forEach(j -> {
+                j.setCreator(currentUser);
+                j.setGmtCreate(now);
+                j.setModifier(currentUser);
+                j.setGmtModified(now);
+                relationList.add(j);
+            });
         });
         relationService.saveOrUpdateBatch(relationList);
-        
-        if(relationNodeVO.getIsOrderBy()==1){
-        	List<RelationOrder> relationOrderList = Lists.newArrayList();
-        	relationGroupList.forEach(i->{
-        		int orderNo = 0;
-            	for(Relation j : i){
-            		orderNo++;
-            		RelationOrder relationOrder = new RelationOrder();
-            		relationOrder.setOrderNo(orderNo);
-            		relationOrder.settRelationId(j.getId());
-            		relationOrder.setGmtCreate(now);
-            		relationOrder.setGmtModified(now);
-            		relationOrder.setCreator(currentUser);
-            		relationOrder.setModifier(currentUser);
-            		relationOrderList.add(relationOrder);
-            	}
+
+        if (relationNodeVO.getIsOrderBy() == 1) {
+            List<RelationOrder> relationOrderList = Lists.newArrayList();
+            relationGroupList.forEach(i -> {
+                int orderNo = 0;
+                for (Relation j : i) {
+                    orderNo++;
+                    RelationOrder relationOrder = new RelationOrder();
+                    relationOrder.setOrderNo(orderNo);
+                    relationOrder.settRelationId(j.getId());
+                    relationOrder.setGmtCreate(now);
+                    relationOrder.setGmtModified(now);
+                    relationOrder.setCreator(currentUser);
+                    relationOrder.setModifier(currentUser);
+                    relationOrderList.add(relationOrder);
+                }
+            });
+            relationOrderServiceImpl.saveBatch(relationOrderList);
+        }
+
+        return true;
+    }
+
+    /**
+     * 处理关系节点-添加或者编辑前先删除掉
+     *
+     * @param conceptId      当前概念id
+     * @param relationNodeVO
+     * @return
+     */
+    private List<Long> repairRelationDataForDelBeforeAdd(Long conceptId, RelationNodeVO relationNodeVO) {
+        List<Long> relationIdList = Lists.newArrayList();
+
+        QueryWrapper<Relation> relationQe = new QueryWrapper<>();
+        relationQe.eq("start_id", conceptId);
+        if (relationNodeVO != null && relationNodeVO.getSonRelationId() != null) {
+            relationQe.eq("relation_id", relationNodeVO.getSonRelationId());
+        } else {
+            relationQe.eq("relation_id", -999999l);
+        }
+
+        List<Relation> relationList = list(relationQe);
+
+        if (ListUtil.isNotEmpty(relationList)) {
+            if (relationNodeVO != null && relationNodeVO.getSonTypeId() != null) {
+                List<Long> conceptIdList = conceptFacade.getCompatibleTypeConceptIds(relationNodeVO.getSonTypeId(),
+						relationList.stream().map(i -> i.getEndId()).collect(Collectors.toList()));
+                if (conceptIdList != null) {
+                    relationList = relationList.stream()
+							.filter(i -> conceptIdList.contains(i.getEndId())).collect(Collectors.toList());
+                }
+            }
+
+            if (ListUtil.isNotEmpty(relationList)) {
+                relationIdList.addAll(relationList.stream().map(i -> i.getId()).collect(Collectors.toList()));
+
+                Map<Long, RelationNodeVO> conceptIdRnMap = Maps.newHashMap();
+                if (relationNodeVO != null && ListUtil.isNotEmpty(relationNodeVO.getNodeList())) {
+                    conceptIdRnMap = relationNodeVO.getNodeList()
+							.stream().collect(Collectors.toMap(RelationNodeVO::getConceptId, i -> i));
+                }
+
+                for (Relation i : relationList) {
+                    relationIdList.addAll(repairRelationDataForDelBeforeAdd(i.getEndId(),
+							conceptIdRnMap.get(i.getEndId())));
+                }
+            }
+        }
+
+        return relationIdList;
+    }
+
+    /**
+     * 处理关系节点-添加或者编辑事件
+     *
+     * @param relationNodeVO
+     * @return
+     */
+    private List<List<Relation>> repairRelationDataForAdd(RelationNodeVO relationNodeVO) {
+        List<List<Relation>> retList = Lists.newArrayList();
+
+        if (ListUtil.isNotEmpty(relationNodeVO.getNodeList())) {
+            List<Relation> relationList = Lists.newArrayList();
+            relationNodeVO.getNodeList().forEach(i -> {
+                Relation relation = new Relation();
+                relation.setStartId(relationNodeVO.getConceptId());
+                relation.setEndId(i.getConceptId());
+                relation.setRelationId(i.getRelationId());
+                relationList.add(relation);
+
+                if (ListUtil.isNotEmpty(i.getNodeList())) {
+                    retList.addAll(repairRelationDataForAdd(i));
+                }
             });
-        	relationOrderServiceImpl.saveBatch(relationOrderList);
+            retList.add(relationList);
         }
-        
-		return true;
-	}
-	
-	/**
-	 * 处理关系节点-添加或者编辑前先删除掉
-	 * @param conceptId 当前概念id
-	 * @param relationNodeVO
-	 * @return
-	 */
-	private List<Long> repairRelationDataForDelBeforeAdd(Long conceptId,RelationNodeVO relationNodeVO){
-		List<Long> relationIdList = Lists.newArrayList();
-		
-		QueryWrapper<Relation> relationQe = new QueryWrapper<>();
-		relationQe.eq("start_id", conceptId);
-		if(relationNodeVO!=null&&relationNodeVO.getSonRelationId()!=null){
-			relationQe.eq("relation_id", relationNodeVO.getSonRelationId());
-		}else{
-			relationQe.eq("relation_id", -999999l);
-		}
-		
-		List<Relation> relationList = list(relationQe);
-		
-		if(ListUtil.isNotEmpty(relationList)){
-			if(relationNodeVO!=null&&relationNodeVO.getSonTypeId()!=null){
-				List<Long> conceptIdList = conceptFacade.getCompatibleTypeConceptIds(relationNodeVO.getSonTypeId(), relationList.stream().map(i->i.getEndId()).collect(Collectors.toList()));
-	        	if(conceptIdList!=null){
-	        		relationList = relationList.stream().filter(i->conceptIdList.contains(i.getEndId())).collect(Collectors.toList());
-	        	}
-			}
-			
-			if(ListUtil.isNotEmpty(relationList)){
-				relationIdList.addAll(relationList.stream().map(i->i.getId()).collect(Collectors.toList()));
-				
-				Map<Long,RelationNodeVO> conceptIdRnMap = Maps.newHashMap();
-				if(relationNodeVO!=null&&ListUtil.isNotEmpty(relationNodeVO.getNodeList())){
-					conceptIdRnMap = relationNodeVO.getNodeList().stream().collect(Collectors.toMap(RelationNodeVO::getConceptId, i->i));
-				}
-				
-				for(Relation i : relationList){
-					relationIdList.addAll(repairRelationDataForDelBeforeAdd(i.getEndId(),conceptIdRnMap.get(i.getEndId())));
-				}
-			}
-		}
-		
-		return relationIdList;
-	}
-	
-	/**
-	 * 处理关系节点-添加或者编辑事件
-	 * @param relationNodeVO
-	 * @return
-	 */
-	private List<List<Relation>> repairRelationDataForAdd(RelationNodeVO relationNodeVO){
-		List<List<Relation>> retList = Lists.newArrayList();
-		
-		if(ListUtil.isNotEmpty(relationNodeVO.getNodeList())){
-			List<Relation> relationList = Lists.newArrayList();
-			relationNodeVO.getNodeList().forEach(i->{
-				Relation relation = new Relation();
-				relation.setStartId(relationNodeVO.getConceptId());
-				relation.setEndId(i.getConceptId());
-				relation.setRelationId(i.getRelationId());
-				relationList.add(relation);
-				
-				if(ListUtil.isNotEmpty(i.getNodeList())){
-					retList.addAll(repairRelationDataForAdd(i));
-				}
-			});
-			retList.add(relationList);
-		}
-		
-		return retList;
-	}
-	
-	/**
-	 * 医学术语关联维护/医学术语多层关联维护/化验子项维护-详情
-	 * @param relationContactDetailVO
-	 * @return
-	 */
-	public RelationNodeDTO relationContactDetail(RelationContactDetailVO relationContactDetailVO){
-		RelationNodeDTO relationNodeDTO = new RelationNodeDTO();
-		
-		Concept concept = conceptFacade.getById(relationContactDetailVO.getConceptId());
-		relationNodeDTO.setConceptId(concept.getId());
-		relationNodeDTO.setConceptName(concept.getLibName());
-		relationNodeDTO.setConceptTypeId(concept.getLibType());
-		relationNodeDTO.setConceptTypeName(LexiconTypeEnum.getName(concept.getLibType().intValue()));
-		relationNodeDTO.setConceptNameType(concept.getLibName()+"("+LexiconTypeEnum.getName(concept.getLibType().intValue())+")");
-		relationNodeDTO.setIsDeletedConcept(concept.getIsDeleted());
-		
-		relationNodeDTO.setNodeList(repairRelationDataForQuery(relationContactDetailVO.getConceptId(),relationContactDetailVO.getRelationIds(),relationContactDetailVO.getTypeIds(),null,concept.getIsDeleted()));
-		
-		return relationNodeDTO;
-	}
-	
-	/**
-	 * 处理关系节点-查询事件
-	 * @param conceptId
-	 * @param relationIds
-	 * @param typeIds
-	 * @param hookConceptIds
-	 * @param isDeletedParent
-	 * @return
-	 */
-	private List<RelationNodeDTO> repairRelationDataForQuery(Long conceptId,List<Long> relationIds,List<Long> typeIds,List<Long> hookConceptIds,String isDeletedParent){
-		if(hookConceptIds==null){
-			hookConceptIds = new ArrayList<>();
-			hookConceptIds.add(conceptId);
-		}
-		
-		Long relationId = null,endTypeId = null;
-		if(ListUtil.isNotEmpty(relationIds)){
-			relationId = relationIds.remove(0);
-		}
-		if(relationId==null){
-			relationId = -999999l;
-		}
-		if(ListUtil.isNotEmpty(typeIds)){
-			endTypeId = typeIds.remove(0);
-		}
-		List<RelationNodeDTO> relationNodeDTOList = this.baseMapper.getRelationNodeDTOs(conceptId,relationId,endTypeId);
-		
-		for(RelationNodeDTO i : relationNodeDTOList){
-			i.setConceptTypeName(LexiconTypeEnum.getName(i.getConceptTypeId().intValue()));
-			i.setConceptNameType(i.getConceptName()+"("+LexiconTypeEnum.getName(i.getConceptTypeId().intValue())+")");
-			i.setParentConceptTypeName(LexiconTypeEnum.getName(i.getParentConceptTypeId().intValue()));
-			i.setParentConceptNameType(i.getParentConceptName()+"("+LexiconTypeEnum.getName(i.getParentConceptTypeId().intValue())+")");
-			i.setIsDeletedConcept(isDeletedParent.equals(IsDeleteEnum.Y.getKey())?IsDeleteEnum.Y.getKey():i.getIsDeletedConcept());
-			
-			if(!hookConceptIds.contains(i.getConceptId())){
-				List<Long> hookConceptIds_ = new ArrayList<>();
-				hookConceptIds_.addAll(hookConceptIds);
-				hookConceptIds_.add(i.getConceptId());
-				i.setNodeList(repairRelationDataForQuery(i.getConceptId(),Lists.newArrayList(relationIds),Lists.newArrayList(typeIds),hookConceptIds_,i.getIsDeletedConcept()));
-			}
-		}
-		
-		return relationNodeDTOList;
-	}
-	
-	/**
-	 * 化验子项维护-逻辑删除或者恢复
-	 * @param removeRelationContactVO
-	 * @return
-	 */
-	public Boolean removeRelationContact(RemoveRelationContactVO removeRelationContactVO){
-		String currentUser = UserUtils.getCurrentPrincipleID();
+
+        return retList;
+    }
+
+    /**
+     * 医学术语关联维护/医学术语多层关联维护/化验子项维护-详情
+     *
+     * @param relationContactDetailVO
+     * @return
+     */
+    public RelationNodeDTO relationContactDetail(RelationContactDetailVO relationContactDetailVO) {
+        RelationNodeDTO relationNodeDTO = new RelationNodeDTO();
+
+        Concept concept = conceptFacade.getById(relationContactDetailVO.getConceptId());
+        relationNodeDTO.setConceptId(concept.getId());
+        relationNodeDTO.setConceptName(concept.getLibName());
+        relationNodeDTO.setConceptTypeId(concept.getLibType());
+        relationNodeDTO.setConceptTypeName(LexiconTypeEnum.getName(concept.getLibType().intValue()));
+        relationNodeDTO.setConceptNameType(concept.getLibName() + "("
+				+ LexiconTypeEnum.getName(concept.getLibType().intValue()) + ")");
+        relationNodeDTO.setIsDeletedConcept(concept.getIsDeleted());
+
+        relationNodeDTO.setNodeList(repairRelationDataForQuery(relationContactDetailVO.getConceptId(),
+				relationContactDetailVO.getRelationIds(), relationContactDetailVO.getTypeIds(),
+				null, concept.getIsDeleted()));
+
+        return relationNodeDTO;
+    }
+
+    /**
+     * 处理关系节点-查询事件
+     *
+     * @param conceptId
+     * @param relationIds
+     * @param typeIds
+     * @param hookConceptIds
+     * @param isDeletedParent
+     * @return
+     */
+    private List<RelationNodeDTO> repairRelationDataForQuery(Long conceptId, List<Long> relationIds,
+															 List<Long> typeIds, List<Long> hookConceptIds,
+															 String isDeletedParent) {
+        if (hookConceptIds == null) {
+            hookConceptIds = new ArrayList<>();
+            hookConceptIds.add(conceptId);
+        }
+
+        Long relationId = null, endTypeId = null;
+        if (ListUtil.isNotEmpty(relationIds)) {
+            relationId = relationIds.remove(0);
+        }
+        if (relationId == null) {
+            relationId = -999999l;
+        }
+        if (ListUtil.isNotEmpty(typeIds)) {
+            endTypeId = typeIds.remove(0);
+        }
+        List<RelationNodeDTO> relationNodeDTOList = this.baseMapper.getRelationNodeDTOs(conceptId, relationId, endTypeId);
+
+        for (RelationNodeDTO i : relationNodeDTOList) {
+            i.setConceptTypeName(LexiconTypeEnum.getName(i.getConceptTypeId().intValue()));
+            i.setConceptNameType(i.getConceptName() + "(" + LexiconTypeEnum.getName(i.getConceptTypeId().intValue()) + ")");
+            i.setParentConceptTypeName(LexiconTypeEnum.getName(i.getParentConceptTypeId().intValue()));
+            i.setParentConceptNameType(i.getParentConceptName() + "("
+					+ LexiconTypeEnum.getName(i.getParentConceptTypeId().intValue()) + ")");
+            i.setIsDeletedConcept(
+            		isDeletedParent.equals(IsDeleteEnum.Y.getKey()) ? IsDeleteEnum.Y.getKey() : i.getIsDeletedConcept()
+			);
+
+            if (!hookConceptIds.contains(i.getConceptId())) {
+                List<Long> hookConceptIds_ = new ArrayList<>();
+                hookConceptIds_.addAll(hookConceptIds);
+                hookConceptIds_.add(i.getConceptId());
+                i.setNodeList(repairRelationDataForQuery(i.getConceptId(),
+						Lists.newArrayList(relationIds), Lists.newArrayList(typeIds),
+						hookConceptIds_, i.getIsDeletedConcept()));
+            }
+        }
+
+        return relationNodeDTOList;
+    }
+
+    /**
+     * 化验子项维护-逻辑删除或者恢复
+     *
+     * @param removeRelationContactVO
+     * @return
+     */
+    public Boolean removeRelationContact(RemoveRelationContactVO removeRelationContactVO) {
+        String currentUser = UserUtils.getCurrentPrincipleID();
         Date now = DateUtil.now();
-        repairRelationDataForRemove(removeRelationContactVO.getConceptId(), removeRelationContactVO.getRelationId(),removeRelationContactVO.getIsDeleted(),currentUser,now);
-		return true;
-	}
-	
-	/**
-	 * 化验子项维护-逻辑删除或者恢复-处理关系节点
-	 * @param conceptId
-	 * @param relationId
-	 * @param isDeleted
-	 * @param currentUser 操作人
-	 * @param now 操作时间
-	 */
-	private void repairRelationDataForRemove(Long conceptId,Long relationId,String isDeleted,String currentUser,Date now){
-		QueryWrapper<Relation> relationQe = new QueryWrapper<>();
-		relationQe.eq("start_id", conceptId);
-		relationQe.eq(relationId!=null,"relation_id", relationId);
-		List<Relation> relationList = list(relationQe);
-		
-		if(relationList.size()==0){
-			return;
-		}
-		
-		if(relationList.stream().map(i->i.getIsDeleted()).distinct().count()>1){
-			throw new CommonException(CommonErrorCode.RPC_ERROR,"数据异常!");
-		}
-		
-		String isDeleted_ = relationList.get(0).getIsDeleted();
-		if(isDeleted.equals(isDeleted_)){
-    		if(isDeleted_.equals("Y")){
-    			throw new CommonException(CommonErrorCode.RPC_ERROR,"该数据已删除!");
-    		}
-    		if(isDeleted_.equals("N")){
-    			throw new CommonException(CommonErrorCode.RPC_ERROR,"该数据已恢复!");
-    		}
-    	}
-		
-		Relation relation = new Relation();
-		relation.setIsDeleted(isDeleted);
-		relation.setGmtModified(now);
-		relation.setModifier(currentUser);
-		if(!update(relation, relationQe)){
-			throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
-		}
-		
-		relationList.forEach(i->{
-			repairRelationDataForRemove(i.getEndId(), relationId,isDeleted,currentUser,now);
-		});
-	}
-	
-	/**
-	 * 医学术语关联维护/医学术语多层关联维护-物理删除
-	 * @param removeRelationContactVO
-	 * @return
-	 */
-	public Boolean deleteRelationContact(DeleteRelationContactVO deleteRelationContactVO){
-		repairRelationDataForDelete(deleteRelationContactVO.getConceptId(), deleteRelationContactVO.getRelationIds(),deleteRelationContactVO.getTypeIds());
-		return true;
-	}
-	
-	/**
-	 * 医学术语关联维护/医学术语多层关联维护-物理删除-处理关系节点
-	 * @param conceptId
-	 * @param relationId
-	 */
-	private void repairRelationDataForDelete(Long conceptId,List<Long> relationIds,List<Long> typeIds){
-		Long relationId = null,endTypeId = null;
-		if(ListUtil.isNotEmpty(relationIds)){
-			relationId = relationIds.remove(0);
-		}
-		if(ListUtil.isNotEmpty(typeIds)){
-			endTypeId = typeIds.remove(0);
-		}
-		
-		QueryWrapper<Relation> relationQe = new QueryWrapper<>();
-		relationQe.eq("start_id", conceptId);
-		relationQe.eq(relationId!=null,"relation_id", relationId);
-		List<Relation> relationList = list(relationQe);
-		
-		if(endTypeId!=null&&ListUtil.isNotEmpty(relationList)){
-			List<Long> conceptIdList = conceptFacade.getCompatibleTypeConceptIds(endTypeId,relationList.stream().map(i->i.getEndId()).collect(Collectors.toList()));
-        	relationList = relationList.stream().filter(i->conceptIdList.contains(i.getEndId())).collect(Collectors.toList());
-		}
-		
-		if(ListUtil.isEmpty(relationList)){
-			return;
-		}
-		
-		List<Long> removeRelationIds = relationList.stream().map(i->i.getId()).collect(Collectors.toList());
-		
-		QueryWrapper<RelationOrder> relationOrderQe = new QueryWrapper<>();
-		relationOrderQe.in("t_relation_id", removeRelationIds);
-		if(!removeByIds(removeRelationIds)||!relationOrderFacade.remove(relationOrderQe)){
-			throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
-		}
-		
-		removeRelationIds.forEach(i->{
-			repairRelationDataForDelete(i, Lists.newArrayList(relationIds), Lists.newArrayList(typeIds));
-		});
-	}
+        repairRelationDataForRemove(removeRelationContactVO.getConceptId(),
+				removeRelationContactVO.getRelationId(), removeRelationContactVO.getIsDeleted(),
+				currentUser, now);
+        return true;
+    }
+
+    /**
+     * 化验子项维护-逻辑删除或者恢复-处理关系节点
+     *
+     * @param conceptId
+     * @param relationId
+     * @param isDeleted
+     * @param currentUser 操作人
+     * @param now         操作时间
+     */
+    private void repairRelationDataForRemove(Long conceptId, Long relationId,
+											 String isDeleted, String currentUser, Date now) {
+        QueryWrapper<Relation> relationQe = new QueryWrapper<>();
+        relationQe.eq("start_id", conceptId);
+        relationQe.eq(relationId != null, "relation_id", relationId);
+        List<Relation> relationList = list(relationQe);
+
+        if (relationList.size() == 0) {
+            return;
+        }
+
+        if (relationList.stream().map(i -> i.getIsDeleted()).distinct().count() > 1) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "数据异常!");
+        }
+
+        String isDeleted_ = relationList.get(0).getIsDeleted();
+        if (isDeleted.equals(isDeleted_)) {
+            if (isDeleted_.equals("Y")) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "该数据已删除!");
+            }
+            if (isDeleted_.equals("N")) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "该数据已恢复!");
+            }
+        }
+
+        Relation relation = new Relation();
+        relation.setIsDeleted(isDeleted);
+        relation.setGmtModified(now);
+        relation.setModifier(currentUser);
+        if (!update(relation, relationQe)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
+        }
+
+        relationList.forEach(i -> {
+            repairRelationDataForRemove(i.getEndId(), relationId, isDeleted, currentUser, now);
+        });
+    }
+
+    /**
+     * 医学术语关联维护/医学术语多层关联维护-物理删除
+     *
+     * @param deleteRelationContactVO
+     * @return
+     */
+    public Boolean deleteRelationContact(DeleteRelationContactVO deleteRelationContactVO) {
+        repairRelationDataForDelete(deleteRelationContactVO.getConceptId(),
+				deleteRelationContactVO.getRelationIds(),
+				deleteRelationContactVO.getTypeIds());
+        return true;
+    }
+
+    /**
+     * 医学术语关联维护/医学术语多层关联维护-物理删除-处理关系节点
+     *
+     * @param conceptId
+     * @param relationIds
+     * @param typeIds
+     */
+    private void repairRelationDataForDelete(Long conceptId, List<Long> relationIds, List<Long> typeIds) {
+        Long relationId = null, endTypeId = null;
+        if (ListUtil.isNotEmpty(relationIds)) {
+            relationId = relationIds.remove(0);
+        }
+        if (ListUtil.isNotEmpty(typeIds)) {
+            endTypeId = typeIds.remove(0);
+        }
+
+        QueryWrapper<Relation> relationQe = new QueryWrapper<>();
+        relationQe.eq("start_id", conceptId);
+        relationQe.eq(relationId != null, "relation_id", relationId);
+        List<Relation> relationList = list(relationQe);
+
+        if (endTypeId != null && ListUtil.isNotEmpty(relationList)) {
+            List<Long> conceptIdList = conceptFacade.getCompatibleTypeConceptIds(endTypeId,
+					relationList.stream().map(i -> i.getEndId()).collect(Collectors.toList()));
+            relationList = relationList.stream()
+					.filter(i -> conceptIdList.contains(i.getEndId())).collect(Collectors.toList());
+        }
+
+        if (ListUtil.isEmpty(relationList)) {
+            return;
+        }
+
+        List<Long> removeRelationIds = relationList.stream().map(i -> i.getId()).collect(Collectors.toList());
+
+        QueryWrapper<RelationOrder> relationOrderQe = new QueryWrapper<>();
+        relationOrderQe.in("t_relation_id", removeRelationIds);
+        if (!removeByIds(removeRelationIds) || !relationOrderFacade.remove(relationOrderQe)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
+        }
+
+        removeRelationIds.forEach(i -> {
+            repairRelationDataForDelete(i, Lists.newArrayList(relationIds), Lists.newArrayList(typeIds));
+        });
+    }
 
 }

+ 248 - 242
knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java

@@ -54,9 +54,9 @@ import com.diagbot.vo.RemoveRelationInfoVO;
  */
 @Component
 public class RelationFacade extends RelationServiceImpl {
-	
-	@Autowired
-	private ConceptFacade conceptFacade;
+
+    @Autowired
+    private ConceptFacade conceptFacade;
     @Autowired
     private LibraryInfoFacade libraryInfoFacade;
     @Autowired
@@ -66,223 +66,229 @@ public class RelationFacade extends RelationServiceImpl {
     @Autowired
     @Qualifier("relationServiceImpl")
     private RelationService relationService;
-    
+
     /**
      * 获取医学术语关系列表
+     *
      * @param getRelationInfoListVO
      * @return
      */
     public IPage<GetRelationInfoListDTO> getRelationInfoList(GetRelationInfoListVO getRelationInfoListVO) {
-    	IPage<GetRelationInfoListDTO> ipage = this.baseMapper.getRelationInfoList(getRelationInfoListVO);
-    	if(ListUtil.isNotEmpty(ipage.getRecords())){
-    		List<String> ids = ipage.getRecords().stream().map(i->i.getOperName()).distinct().collect(Collectors.toList());
-    		RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
-        	RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
-        	ipage.getRecords().forEach(i->{
-        		i.setOperName(respDTO.data.get(i.getOperName()));
-        	});
-    	}
-    	return ipage;
+        IPage<GetRelationInfoListDTO> ipage = this.baseMapper.getRelationInfoList(getRelationInfoListVO);
+        if (ListUtil.isNotEmpty(ipage.getRecords())) {
+            List<String> ids = ipage.getRecords().stream().map(i -> i.getOperName()).distinct().collect(Collectors.toList());
+            RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
+            RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
+            ipage.getRecords().forEach(i -> {
+                i.setOperName(respDTO.data.get(i.getOperName()));
+            });
+        }
+        return ipage;
     }
-    
+
     /**
      * 医学术语关系删除或者恢复
+     *
      * @param removeRelationInfoVO
      * @return
      */
     public Boolean removeRelationInfo(RemoveRelationInfoVO removeRelationInfoVO) {
-    	Relation relation = this.getById(removeRelationInfoVO.getId());
-    	if(relation==null){
-    		throw new CommonException(CommonErrorCode.NOT_EXISTS);
-    	}
-    	if(relation.getIsDeleted().equals(removeRelationInfoVO.getIsDeleted())){
-    		if(removeRelationInfoVO.getIsDeleted().equals("Y")){
-    			throw new CommonException(CommonErrorCode.RPC_ERROR,"该数据已删除!");
-    		}
-    		if(removeRelationInfoVO.getIsDeleted().equals("N")){
-    			throw new CommonException(CommonErrorCode.RPC_ERROR,"该数据已恢复!");
-    		}
-    	}
-    	
-    	relation.setIsDeleted(removeRelationInfoVO.getIsDeleted());
-    	relation.setModifier(UserUtils.getCurrentPrincipleID());
-    	relation.setGmtModified(DateUtil.now());
+        Relation relation = this.getById(removeRelationInfoVO.getId());
+        if (relation == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS);
+        }
+        if (relation.getIsDeleted().equals(removeRelationInfoVO.getIsDeleted())) {
+            if (removeRelationInfoVO.getIsDeleted().equals("Y")) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "该数据已删除!");
+            }
+            if (removeRelationInfoVO.getIsDeleted().equals("N")) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "该数据已恢复!");
+            }
+        }
+
+        relation.setIsDeleted(removeRelationInfoVO.getIsDeleted());
+        relation.setModifier(UserUtils.getCurrentPrincipleID());
+        relation.setGmtModified(DateUtil.now());
         return updateById(relation);
     }
-    
+
     /**
      * 获取医学术语关系详情
+     *
      * @param getRelationInfoDetailVO
      * @return
      */
-    public GetRelationInfoDetailDTO getRelationInfoDetail(GetRelationInfoDetailVO getRelationInfoDetailVO){
-    	Relation relation = this.getById(getRelationInfoDetailVO.getId());
-    	if(relation==null||relation.getIsDeleted().equals("Y")){
-    		throw new CommonException(CommonErrorCode.NOT_EXISTS);
-    	}
-    	
-    	GetRelationInfoDetailDTO getRelationInfoDetailDTO = new GetRelationInfoDetailDTO();
-    	getRelationInfoDetailDTO.setId(relation.getId());
-    	
-    	
-    	Concept startConcept = conceptFacade.getById(relation.getStartId());
-    	if(startConcept==null||startConcept.getIsDeleted().equals("Y")){
-    		throw new CommonException(CommonErrorCode.RPC_ERROR, "起始术语不存在");
-    	}
-    	LibraryInfo startLibraryInfo = libraryInfoFacade.getById(startConcept.getLibId());
-    	if(startLibraryInfo==null||startLibraryInfo.getIsDeleted().equals("Y")){
-    		throw new CommonException(CommonErrorCode.RPC_ERROR, "起始术语不存在");
-    	}
-    	getRelationInfoDetailDTO.setStartId(startLibraryInfo.getConceptId());
-    	getRelationInfoDetailDTO.setStartName(startLibraryInfo.getName());
-    	getRelationInfoDetailDTO.setStartType(LexiconTypeEnum.getName(startLibraryInfo.getTypeId().intValue()));
-    	
-    	
-    	Concept endConcept = conceptFacade.getById(relation.getEndId());
-    	if(endConcept==null||endConcept.getIsDeleted().equals("Y")){
-    		throw new CommonException(CommonErrorCode.RPC_ERROR, "终点术语不存在");
-    	}
-    	LibraryInfo endLibraryInfo = libraryInfoFacade.getById(endConcept.getLibId());
-    	if(endLibraryInfo==null||endLibraryInfo.getIsDeleted().equals("Y")){
-    		throw new CommonException(CommonErrorCode.RPC_ERROR, "终点术语不存在");
-    	}
-    	getRelationInfoDetailDTO.setEndId(endLibraryInfo.getConceptId());
-    	getRelationInfoDetailDTO.setEndName(endLibraryInfo.getName());
-    	getRelationInfoDetailDTO.setEndType(LexiconTypeEnum.getName(endLibraryInfo.getTypeId().intValue()));
-    	
-    	LexiconRelationship lexiconRelationship = lexiconRelationshipFacade.getById(relation.getRelationId());
-    	if(lexiconRelationship==null||lexiconRelationship.getIsDeleted().equals("Y")){
-    		throw new CommonException(CommonErrorCode.RPC_ERROR, "关系类型不存在");
-    	}
-    	getRelationInfoDetailDTO.setRelationId(lexiconRelationship.getId());
-		getRelationInfoDetailDTO.setRelationName(lexiconRelationship.getName());
-    	
-    	return getRelationInfoDetailDTO;
+    public GetRelationInfoDetailDTO getRelationInfoDetail(GetRelationInfoDetailVO getRelationInfoDetailVO) {
+        Relation relation = this.getById(getRelationInfoDetailVO.getId());
+        if (relation == null || relation.getIsDeleted().equals("Y")) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS);
+        }
+
+        GetRelationInfoDetailDTO getRelationInfoDetailDTO = new GetRelationInfoDetailDTO();
+        getRelationInfoDetailDTO.setId(relation.getId());
+
+
+        Concept startConcept = conceptFacade.getById(relation.getStartId());
+        if (startConcept == null || startConcept.getIsDeleted().equals("Y")) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "起始术语不存在");
+        }
+        LibraryInfo startLibraryInfo = libraryInfoFacade.getById(startConcept.getLibId());
+        if (startLibraryInfo == null || startLibraryInfo.getIsDeleted().equals("Y")) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "起始术语不存在");
+        }
+        getRelationInfoDetailDTO.setStartId(startLibraryInfo.getConceptId());
+        getRelationInfoDetailDTO.setStartName(startLibraryInfo.getName());
+        getRelationInfoDetailDTO.setStartType(LexiconTypeEnum.getName(startLibraryInfo.getTypeId().intValue()));
+
+
+        Concept endConcept = conceptFacade.getById(relation.getEndId());
+        if (endConcept == null || endConcept.getIsDeleted().equals("Y")) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "终点术语不存在");
+        }
+        LibraryInfo endLibraryInfo = libraryInfoFacade.getById(endConcept.getLibId());
+        if (endLibraryInfo == null || endLibraryInfo.getIsDeleted().equals("Y")) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "终点术语不存在");
+        }
+        getRelationInfoDetailDTO.setEndId(endLibraryInfo.getConceptId());
+        getRelationInfoDetailDTO.setEndName(endLibraryInfo.getName());
+        getRelationInfoDetailDTO.setEndType(LexiconTypeEnum.getName(endLibraryInfo.getTypeId().intValue()));
+
+        LexiconRelationship lexiconRelationship = lexiconRelationshipFacade.getById(relation.getRelationId());
+        if (lexiconRelationship == null || lexiconRelationship.getIsDeleted().equals("Y")) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "关系类型不存在");
+        }
+        getRelationInfoDetailDTO.setRelationId(lexiconRelationship.getId());
+        getRelationInfoDetailDTO.setRelationName(lexiconRelationship.getName());
+
+        return getRelationInfoDetailDTO;
     }
-    
+
     /**
      * 医学术语关系添加或者编辑
+     *
      * @param addRelationInfoVO
      * @return
      */
-	public Boolean addRelationInfo(AddRelationInfoVO addRelationInfoVO){
-		Map<String,Object> ckMap = checkAddRelationInfoVO(addRelationInfoVO);
-		Object message = ckMap.get("message");
-		if(message!=null){
-			throw new CommonException(CommonErrorCode.RPC_ERROR,message.toString());
-		}
-		
-		Relation relation = (Relation)ckMap.get("relation");
-		if(relation.getId()!=null){
-			if(relation.getIsDeleted().equals("Y")){
-				throw new CommonException(CommonErrorCode.RPC_ERROR,"该数据已经建立且处于已删除状态,可前往列表中恢复该条数据!");
-			}else{
-				throw new CommonException(CommonErrorCode.RPC_ERROR,"该数据已存在!");
-			}
-		}
-		
-		return saveOrUpdate((Relation)(ckMap.get("relation")));
+    public Boolean addRelationInfo(AddRelationInfoVO addRelationInfoVO) {
+        Map<String, Object> ckMap = checkAddRelationInfoVO(addRelationInfoVO);
+        Object message = ckMap.get("message");
+        if (message != null) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, message.toString());
+        }
+
+        Relation relation = (Relation) ckMap.get("relation");
+        if (relation.getId() != null) {
+            if (relation.getIsDeleted().equals("Y")) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "该数据已经建立且处于已删除状态,可前往列表中恢复该条数据!");
+            } else {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "该数据已存在!");
+            }
+        }
+
+        return saveOrUpdate((Relation) (ckMap.get("relation")));
+    }
+
+    /**
+     * 校验即将添加的数据
+     *
+     * @param addRelationInfoVO
+     * @return 返回map中,包含2个字段:message和relation,message-为空时,表示正常,取relation-relation执行更新或者插入操作
+     */
+    private Map<String, Object> checkAddRelationInfoVO(AddRelationInfoVO addRelationInfoVO) {
+        Map<String, Object> retMap = new HashMap<>();
+
+        QueryWrapper<LibraryInfo> libraryInfoQe1 = new QueryWrapper<>();
+        libraryInfoQe1.eq("is_deleted", "N");
+        libraryInfoQe1.eq("is_concept", 1);
+        libraryInfoQe1.eq("name", addRelationInfoVO.getStartName());
+        libraryInfoQe1.eq("type_id", LexiconTypeEnum.getKey(addRelationInfoVO.getStartType()));
+        LibraryInfo startLibraryInfo = libraryInfoFacade.getOne(libraryInfoQe1, false);
+        if (startLibraryInfo == null) {
+            retMap.put("message", "数据库中无该起始术语!");
+            return retMap;
+        }
+        Concept startConcept = conceptFacade.getById(startLibraryInfo.getConceptId());
+        if (startConcept == null) {
+            retMap.put("message", "数据库中无该起始术语!");
+            return retMap;
+        }
+        if (startConcept.getLibId().intValue() != startLibraryInfo.getId().intValue()) {
+            retMap.put("message", "数据库中该起始术语概念绑定数据有问题!");
+            return retMap;
+        }
+        if (startConcept.getIsDeleted().equals("Y")) {
+            retMap.put("message", "数据库中该起始术语状态为已删除!");
+            return retMap;
+        }
+
+        QueryWrapper<LibraryInfo> libraryInfoQe2 = new QueryWrapper<>();
+        libraryInfoQe2.eq("is_deleted", "N");
+        libraryInfoQe2.eq("is_concept", 1);
+        libraryInfoQe2.eq("name", addRelationInfoVO.getEndName());
+        libraryInfoQe2.eq("type_id", LexiconTypeEnum.getKey(addRelationInfoVO.getEndType()));
+        LibraryInfo endLibraryInfo = libraryInfoFacade.getOne(libraryInfoQe2, false);
+        if (endLibraryInfo == null) {
+            retMap.put("message", "数据库中无该终点术语");
+            return retMap;
+        }
+        Concept endConcept = conceptFacade.getById(endLibraryInfo.getConceptId());
+        if (endConcept == null) {
+            retMap.put("message", "数据库中无该终点术语");
+            return retMap;
+        }
+        if (endConcept.getLibId().intValue() != endLibraryInfo.getId().intValue()) {
+            retMap.put("message", "数据库中该终点术语概念绑定数据有问题!");
+            return retMap;
+        }
+        if (endConcept.getIsDeleted().equals("Y")) {
+            retMap.put("message", "数据库中该终点术语状态为已删除!");
+            return retMap;
+        }
+
+        QueryWrapper<LexiconRelationship> lexiconRelationshipQe = new QueryWrapper<>();
+        lexiconRelationshipQe.eq("is_deleted", "N");
+        lexiconRelationshipQe.eq("name", addRelationInfoVO.getRelationName());
+        LexiconRelationship lexiconRelationship = lexiconRelationshipFacade.getOne(lexiconRelationshipQe, false);
+        if (lexiconRelationship == null) {
+            retMap.put("message", "该关系信息在数据库中不存在");
+            return retMap;
+        }
+
+        QueryWrapper<Relation> relationQe = new QueryWrapper<>();
+        relationQe.eq("start_id", startConcept.getId());
+        relationQe.eq("end_id", endConcept.getId());
+        relationQe.eq("relation_id", lexiconRelationship.getId());
+        Relation relation = getOne(relationQe, false);
+
+        String currentUser = UserUtils.getCurrentPrincipleID();
+        Date now = DateUtil.now();
+        if (relation == null) {
+            relation = new Relation();
+            relation.setStartId(startConcept.getId());
+            relation.setEndId(endConcept.getId());
+            relation.setRelationId(lexiconRelationship.getId());
+            relation.setCreator(currentUser);
+            relation.setGmtCreate(now);
+        }
+
+        relation.setModifier(currentUser);
+        relation.setGmtModified(now);
+        retMap.put("relation", relation);
+        return retMap;
     }
-	
-	/**
-	 * 校验即将添加的数据
-	 * @param addRelationInfoVO
-	 * @return 返回map中,包含2个字段:message和relation,message-为空时,表示正常,取relation-relation执行更新或者插入操作
-	 */
-	private Map<String,Object> checkAddRelationInfoVO(AddRelationInfoVO addRelationInfoVO){
-		Map<String,Object> retMap = new HashMap<>();
-		
-		QueryWrapper<LibraryInfo> libraryInfoQe1 = new QueryWrapper<>();
-		libraryInfoQe1.eq("is_deleted", "N");
-		libraryInfoQe1.eq("is_concept", 1);
-		libraryInfoQe1.eq("name", addRelationInfoVO.getStartName());
-		libraryInfoQe1.eq("type_id", LexiconTypeEnum.getKey(addRelationInfoVO.getStartType()));
-		LibraryInfo startLibraryInfo = libraryInfoFacade.getOne(libraryInfoQe1, false);
-		if(startLibraryInfo==null){
-			retMap.put("message", "数据库中无该起始术语!");
-			return retMap;
-		}
-		Concept startConcept = conceptFacade.getById(startLibraryInfo.getConceptId());
-		if(startConcept==null){
-			retMap.put("message", "数据库中无该起始术语!");
-			return retMap;
-		}
-		if(startConcept.getLibId().intValue()!=startLibraryInfo.getId().intValue()){
-			retMap.put("message", "数据库中该起始术语概念绑定数据有问题!");
-			return retMap;
-		}
-		if(startConcept.getIsDeleted().equals("Y")){
-			retMap.put("message", "数据库中该起始术语状态为已删除!");
-			return retMap;
-		}
-
-		QueryWrapper<LibraryInfo> libraryInfoQe2 = new QueryWrapper<>();
-		libraryInfoQe2.eq("is_deleted", "N");
-		libraryInfoQe2.eq("is_concept", 1);
-		libraryInfoQe2.eq("name", addRelationInfoVO.getEndName());
-		libraryInfoQe2.eq("type_id", LexiconTypeEnum.getKey(addRelationInfoVO.getEndType()));
-		LibraryInfo endLibraryInfo = libraryInfoFacade.getOne(libraryInfoQe2, false);
-		if(endLibraryInfo==null){
-			retMap.put("message", "数据库中无该终点术语");
-			return retMap;
-		}
-		Concept endConcept = conceptFacade.getById(endLibraryInfo.getConceptId());
-		if(endConcept==null){
-			retMap.put("message", "数据库中无该终点术语");
-			return retMap;
-		}
-		if(endConcept.getLibId().intValue()!=endLibraryInfo.getId().intValue()){
-			retMap.put("message", "数据库中该终点术语概念绑定数据有问题!");
-			return retMap;
-		}
-		if(endConcept.getIsDeleted().equals("Y")){
-			retMap.put("message", "数据库中该终点术语状态为已删除!");
-			return retMap;
-		}
-		
-		QueryWrapper<LexiconRelationship> lexiconRelationshipQe = new QueryWrapper<>();
-		lexiconRelationshipQe.eq("is_deleted", "N");
-		lexiconRelationshipQe.eq("name", addRelationInfoVO.getRelationName());
-		LexiconRelationship lexiconRelationship = lexiconRelationshipFacade.getOne(lexiconRelationshipQe, false);
-		if(lexiconRelationship==null){
-			retMap.put("message", "该关系信息在数据库中不存在");
-			return retMap;
-		}
-		
-		QueryWrapper<Relation> relationQe = new QueryWrapper<>();
-		relationQe.eq("start_id", startConcept.getId());
-		relationQe.eq("end_id", endConcept.getId());
-		relationQe.eq("relation_id", lexiconRelationship.getId());
-		Relation relation = getOne(relationQe, false);
-		
-		String currentUser = UserUtils.getCurrentPrincipleID();
-		Date now = DateUtil.now();
-		if(relation==null){
-			relation = new Relation();
-			relation.setStartId(startConcept.getId());
-			relation.setEndId(endConcept.getId());
-			relation.setRelationId(lexiconRelationship.getId());
-			relation.setCreator(currentUser);
-			relation.setGmtCreate(now);
-		}
-		
-		relation.setModifier(currentUser);
-		relation.setGmtModified(now);
-		retMap.put("relation", relation);
-		return retMap;
-	}
-    
-	/**
+
+    /**
      * 医学术语关系excel文件导入
+     *
      * @param file
      * @return
      */
-	public Boolean relationInfoExcelIm(MultipartFile file) {
+    public Boolean relationInfoExcelIm(MultipartFile file) {
         List<AddRelationInfoVO> addRelationInfoVOList = new ArrayList<>();
         StringBuffer sbf = new StringBuffer();
         InputStream inputStream = null;
         Workbook wb = null;
-        String title_1="",title_2="",title_3="",title_4="",title_5="";
+        String title_1 = "", title_2 = "", title_3 = "", title_4 = "", title_5 = "";
         try {
             if (!file.isEmpty()) {
                 inputStream = file.getInputStream();
@@ -298,21 +304,21 @@ public class RelationFacade extends RelationServiceImpl {
                             wb = new XSSFWorkbook(inputStream);
                         }
                         if (wb != null) {
-                            
+
                             Sheet sheet = wb.getSheetAt(0);
                             int count = 0;
                             String startName, startType, endName, endType, relationName;
                             for (Row row : sheet) {
                                 count++;
-                                if(row == null){
-                                	continue;
+                                if (row == null) {
+                                    continue;
                                 }
                                 if (count == 1) {
-                                	title_1 = getValue(row.getCell(0)).trim().replace(" ", "");
-                                	title_2 = getValue(row.getCell(1)).trim().replace(" ", "");
-                                	title_3 = getValue(row.getCell(2)).trim().replace(" ", "");
-                                	title_4 = getValue(row.getCell(3)).trim().replace(" ", "");
-                                	title_5 = getValue(row.getCell(4)).trim().replace(" ", "");
+                                    title_1 = getValue(row.getCell(0)).trim().replace(" ", "");
+                                    title_2 = getValue(row.getCell(1)).trim().replace(" ", "");
+                                    title_3 = getValue(row.getCell(2)).trim().replace(" ", "");
+                                    title_4 = getValue(row.getCell(3)).trim().replace(" ", "");
+                                    title_5 = getValue(row.getCell(4)).trim().replace(" ", "");
                                     continue;
                                 }
                                 startName = getValue(row.getCell(0)).trim().replace(" ", "");
@@ -320,10 +326,10 @@ public class RelationFacade extends RelationServiceImpl {
                                 endName = getValue(row.getCell(2)).trim().replace(" ", "");
                                 endType = getValue(row.getCell(3)).trim().replace(" ", "");
                                 relationName = getValue(row.getCell(4)).trim().replace(" ", "");
-                                if(StringUtil.isEmpty(startName) && StringUtil.isEmpty(startType)
+                                if (StringUtil.isEmpty(startName) && StringUtil.isEmpty(startType)
                                         && StringUtil.isEmpty(endName) && StringUtil.isEmpty(endType)
-                                        && StringUtil.isEmpty(relationName)){
-                                	continue;
+                                        && StringUtil.isEmpty(relationName)) {
+                                    continue;
                                 }
                                 if (StringUtil.isEmpty(startName) || StringUtil.isEmpty(startType)
                                         || StringUtil.isEmpty(endName) || StringUtil.isEmpty(endType)
@@ -331,8 +337,8 @@ public class RelationFacade extends RelationServiceImpl {
                                     sbf.append("第" + count + "行数据不完整;").append("<br/>");
                                     continue;
                                 }
-                                
-                                addRelationInfoVOList.add(new AddRelationInfoVO(startName,startType,endName,endType,relationName,count));
+
+                                addRelationInfoVOList.add(new AddRelationInfoVO(startName, startType, endName, endType, relationName, count));
                             }
                         } else {
                             sbf.append("非excel文件无法解析!").append("<br/>");
@@ -357,64 +363,64 @@ public class RelationFacade extends RelationServiceImpl {
             } catch (Exception e) {
             }
         }
-        
+
         /*****************excel文件本身问题提醒************************/
-        if(sbf.length()>0){
-        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
+        if (sbf.length() > 0) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, sbf.toString());
         }
-        
+
         /**********************非规范的excel导入提醒*****************************************/
-        if(title_1.indexOf("关系起点术语名称")==-1
-        		||title_2.indexOf("关系起点术语类型")==-1
-        		||title_3.indexOf("关系终点术语名称")==-1
-        		||title_4.indexOf("关系终点术语类型")==-1
-        		||title_5.indexOf("关系类型名称")==-1){
-        	throw new CommonException(CommonErrorCode.RPC_ERROR,"导入数据不正确,请选择正确数据导入!");
+        if (title_1.indexOf("关系起点术语名称") == -1
+                || title_2.indexOf("关系起点术语类型") == -1
+                || title_3.indexOf("关系终点术语名称") == -1
+                || title_4.indexOf("关系终点术语类型") == -1
+                || title_5.indexOf("关系类型名称") == -1) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "导入数据不正确,请选择正确数据导入!");
         }
-        
-        if(addRelationInfoVOList.size()==0){
-        	throw new CommonException(CommonErrorCode.RPC_ERROR,"导入数据不能为空!");
+
+        if (addRelationInfoVOList.size() == 0) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "导入数据不能为空!");
         }
-        
+
         /****************excel文件中数据存在重复提示---数据一模一样即重复***********************/
-        Map<String,List<AddRelationInfoVO>> addRelationInfoVOListMap = addRelationInfoVOList.stream().collect(Collectors.groupingBy(i->{
-        	AddRelationInfoVO addRelationInfoVO = (AddRelationInfoVO)i;
-    		return addRelationInfoVO.getStartName()+"-"+addRelationInfoVO.getStartType()+"-"+addRelationInfoVO.getEndName()+"-"+addRelationInfoVO.getEndType()+"-"+addRelationInfoVO.getRelationName();
+        Map<String, List<AddRelationInfoVO>> addRelationInfoVOListMap = addRelationInfoVOList.stream().collect(Collectors.groupingBy(i -> {
+            AddRelationInfoVO addRelationInfoVO = (AddRelationInfoVO) i;
+            return addRelationInfoVO.getStartName() + "-" + addRelationInfoVO.getStartType() + "-" + addRelationInfoVO.getEndName() + "-" + addRelationInfoVO.getEndType() + "-" + addRelationInfoVO.getRelationName();
         }));
-        for(String key : addRelationInfoVOListMap.keySet()){
-        	if(addRelationInfoVOListMap.get(key).size()>1){
-        		sbf.append(key).append(" ");
-        	}
+        for (String key : addRelationInfoVOListMap.keySet()) {
+            if (addRelationInfoVOListMap.get(key).size() > 1) {
+                sbf.append(key).append(" ");
+            }
         }
-        if(sbf.length()>0){
-        	sbf.append("(存在重复)");
-        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
+        if (sbf.length() > 0) {
+            sbf.append("(存在重复)");
+            throw new CommonException(CommonErrorCode.RPC_ERROR, sbf.toString());
         }
-        
+
         /**************校验每一组数据,同时组装*************************/
         List<Relation> saveOrUpdateRelationList = new ArrayList<>();
-        Map<String,Object> ckMap = null;
-    	Object message = null;
-    	for(AddRelationInfoVO i : addRelationInfoVOList){
-    		ckMap = checkAddRelationInfoVO(i);
-    		message = ckMap.get("message");
-    		if(message!=null){
-    			sbf.append("第").append(i.getLineNum()).append("行数据有误,").append(message.toString()).append("<br/>");
-    		}else if(ckMap.get("relation")!=null){
-    			saveOrUpdateRelationList.add((Relation)(ckMap.get("relation")));
-    		}
-    	}
-        if(sbf.length()>0){
-        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
+        Map<String, Object> ckMap = null;
+        Object message = null;
+        for (AddRelationInfoVO i : addRelationInfoVOList) {
+            ckMap = checkAddRelationInfoVO(i);
+            message = ckMap.get("message");
+            if (message != null) {
+                sbf.append("第").append(i.getLineNum()).append("行数据有误,").append(message.toString()).append("<br/>");
+            } else if (ckMap.get("relation") != null) {
+                saveOrUpdateRelationList.add((Relation) (ckMap.get("relation")));
+            }
+        }
+        if (sbf.length() > 0) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, sbf.toString());
         }
-        
-        if(saveOrUpdateRelationList.size()==0){
-        	return true;
+
+        if (saveOrUpdateRelationList.size() == 0) {
+            return true;
         }
-        
+
         return relationService.saveOrUpdateBatch(saveOrUpdateRelationList);
     }
-	
+
     @SuppressWarnings("deprecation")
     private String getValue(Cell cell) {
         try {
@@ -448,6 +454,6 @@ public class RelationFacade extends RelationServiceImpl {
             return "";
         }
     }
-    
+
 
 }

+ 5 - 1
knowledgeman-service/src/main/java/com/diagbot/facade/ScaleContentFacade.java

@@ -20,6 +20,7 @@ import com.diagbot.service.ScaleContentService;
 import com.diagbot.service.impl.ScaleContentServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.DeleteScaleVO;
@@ -141,8 +142,11 @@ public class ScaleContentFacade extends ScaleContentServiceImpl {
                 || IsDeleteEnum.Y.getKey().equals(deleteScaleVO.getStatus()))) {
             throw new CommonException(CommonErrorCode.STATUS_IS_ERROR, "状态值错误【Y】或【N】");
         }
-        String person = UserUtils.getCurrentPrincipleID();
         List<Long> ids = deleteScaleVO.getIds();
+        if (ListUtil.isEmpty(ids)) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "量表概念id不能为空");
+        }
+        String person = UserUtils.getCurrentPrincipleID();
         Date now = DateUtil.now();
         this.update(new ScaleContent(), new UpdateWrapper<ScaleContent>()
                 .in("concept_id", ids)

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/facade/VersionDetailFacade.java

@@ -201,7 +201,7 @@ public class VersionDetailFacade extends VersionDetailServiceImpl {
         checkExistMain(versionDetailres.getVersionId());
         UpdateWrapper<VersionDetail> versionDetailNew = new UpdateWrapper<>();
         versionDetailNew
-                .in("id", versionDetailIdVO.getId())
+                .eq("id", versionDetailIdVO.getId())
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .set("is_deleted", IsDeleteEnum.Y.getKey())
                 .set("modifier", UserUtils.getCurrentPrincipleID())

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/facade/VersionInfoFacade.java

@@ -252,7 +252,7 @@ public class VersionInfoFacade extends VersionInfoServiceImpl {
         checkExist(versionInfoVO.getId());
         UpdateWrapper<VersionInfo> versionInfoNew = new UpdateWrapper<>();
         versionInfoNew
-                .in("id", versionInfoVO.getId())
+                .eq("id", versionInfoVO.getId())
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .set("is_deleted", IsDeleteEnum.Y.getKey())
                 .set("modifier", UserUtils.getCurrentPrincipleID())

+ 5 - 5
knowledgeman-service/src/main/java/com/diagbot/web/CommonConceptController.java

@@ -20,7 +20,7 @@ import java.util.Map;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author Weixuan Huang
@@ -31,7 +31,7 @@ import java.util.Map;
 @SuppressWarnings("unchecked")
 @Api(value = "概念公共API", tags = { "知识库标准化-概念公共API" })
 public class CommonConceptController {
-	
+
     @Autowired
     private ConceptFacade conceptFacade;
 
@@ -46,7 +46,7 @@ public class CommonConceptController {
                     "type: 类型")
     @PostMapping("/getConceptMapByNameAndType")
     @SysLogger("getConceptMapByNameAndType")
-    public RespDTO<Map<String, List<Integer>>> getConceptMapByNameAndType(@RequestBody ConceptExistVO conceptExistVO){
+    public RespDTO<Map<String, List<Integer>>> getConceptMapByNameAndType(@RequestBody ConceptExistVO conceptExistVO) {
         return RespDTO.onSuc(conceptFacade.getConceptMap(conceptExistVO));
     }
 
@@ -62,7 +62,7 @@ public class CommonConceptController {
                     "type:类型(1:症状 2:既往史,3:其他史,4:查体,5:化验),必填<br>")
     @PostMapping("/index")
     @SysLogger("index")
-    public RespDTO<List<ConceptBaseDTO>> index(@RequestBody IndexVO indexVO){
+    public RespDTO<List<ConceptBaseDTO>> index(@RequestBody IndexVO indexVO) {
         return RespDTO.onSuc(conceptFacade.indexFac(indexVO));
     }
 
@@ -78,7 +78,7 @@ public class CommonConceptController {
                     "libType:术语库词性类型,必填<br>")
     @PostMapping("/indexByLexicon")
     @SysLogger("indexByLexicon")
-    public RespDTO<List<ConceptBaseDTO>> indexByLexicon(@RequestBody IndexLexiconVO indexLexiconVO){
+    public RespDTO<List<ConceptBaseDTO>> indexByLexicon(@RequestBody IndexLexiconVO indexLexiconVO) {
         return RespDTO.onSuc(conceptFacade.indexByLexiconFac(indexLexiconVO));
     }
 }

+ 3 - 3
knowledgeman-service/src/main/java/com/diagbot/web/ConceptController.java

@@ -67,7 +67,7 @@ public class ConceptController {
     public RespDTO<List<GetAllConceptDTO>> getAllConcept(@RequestBody GetAllConceptVO getAllConceptVO) {
         return RespDTO.onSuc(conceptFacade.getAllConcept(getAllConceptVO));
     }
-    
+
     @ApiOperation(value = "知识库标准化-获取所有概念(术语关系维护时筛选使用)[by:rengb]")
     @PostMapping("/getAllForRelation")
     @SysLogger("getAllForRelation")
@@ -137,7 +137,7 @@ public class ConceptController {
             notes = "type: 1:科室、2:辅检、3:慢病")
     @PostMapping("/getConceptListByType")
     @SysLogger("getConceptListByType")
-//    @ApiIgnore
+    //    @ApiIgnore
     public RespDTO<List<ConceptBaseDTO>> getConceptListByType(@RequestBody ConceptTypeVO conceptTypeVO) {
         return RespDTO.onSuc(conceptFacade.getConceptListByType(conceptTypeVO));
     }
@@ -146,7 +146,7 @@ public class ConceptController {
             notes = "")
     @PostMapping("/piyinUp")
     @SysLogger("piyinUp")
-    public RespDTO<Boolean> piyinUp(){
+    public RespDTO<Boolean> piyinUp() {
         return RespDTO.onSuc(conceptFacade.piyinUp());
     }
 

+ 16 - 19
knowledgeman-service/src/main/java/com/diagbot/web/LexiconController.java

@@ -1,16 +1,5 @@
 package com.diagbot.web;
 
-import java.util.List;
-
-import javax.validation.Valid;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.GetAllLexiconDTO;
@@ -20,14 +9,22 @@ import com.diagbot.facade.LexiconFacade;
 import com.diagbot.vo.AddLexiconVO;
 import com.diagbot.vo.GetAllLexiconVO;
 import com.diagbot.vo.GetLexiconListVO;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.validation.Valid;
+import java.util.List;
+
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author Weixuan Huang
@@ -38,17 +35,17 @@ import springfox.documentation.annotations.ApiIgnore;
 @SuppressWarnings("unchecked")
 @Api(value = "术语类型维护相关API", tags = { "知识库标准化-术语类型维护相关API" })
 public class LexiconController {
-	
+
     @Autowired
     private LexiconFacade lexiconFacade;
-    
+
     @ApiOperation(value = "知识库标准化-获取所有术语类型[by:rengb]")
     @PostMapping("/getAllLexicon")
     @SysLogger("getAllLexicon")
     public RespDTO<List<GetAllLexiconDTO>> getAllLexicon(@RequestBody GetAllLexiconVO getAllLexiconVO) {
         return RespDTO.onSuc(lexiconFacade.getAllLexicon(getAllLexiconVO));
     }
-    
+
     @ApiOperation(value = "获取术语类型列表[by:rengb]")
     @PostMapping("/getLexiconList")
     @SysLogger("getLexiconList")
@@ -57,7 +54,7 @@ public class LexiconController {
     public RespDTO<IPage<GetLexiconListDTO>> getLexiconList(@RequestBody GetLexiconListVO getLexiconListVO) {
         return RespDTO.onSuc(lexiconFacade.getLexiconList(getLexiconListVO));
     }
-    
+
     @ApiOperation(value = "术语类型添加[by:rengb]")
     @PostMapping("/addLexicon")
     @SysLogger("addLexicon")
@@ -67,6 +64,6 @@ public class LexiconController {
     public RespDTO<Boolean> addLexicon(@Valid @RequestBody AddLexiconVO addLexiconVO) {
         return RespDTO.onSuc(lexiconFacade.addLexicon(addLexiconVO));
     }
-    
-    
+
+
 }

+ 8 - 10
knowledgeman-service/src/main/java/com/diagbot/web/MultContactController.java

@@ -1,14 +1,5 @@
 package com.diagbot.web;
 
-import javax.validation.Valid;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.OnlyByRootListDTO;
@@ -20,9 +11,16 @@ import com.diagbot.vo.DeleteRelationContactVO;
 import com.diagbot.vo.OnlyByRootListVO;
 import com.diagbot.vo.RelationContactDetailVO;
 import com.diagbot.vo.RelationNodeVO;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
 
 /**
  * <p>

+ 8 - 1
prec-service/src/main/java/com/diagbot/facade/InquiryEvaluatorFacade.java

@@ -95,7 +95,14 @@ public class InquiryEvaluatorFacade extends InquiryEvaluatorServiceImpl {
      */
     public EvaluatorCalDTO evaluatorCal(EvaluatorCalVO evaluatorCalVO) {
         EvaluatorCalDTO evaluatorCalDTO = evaluatorCalPrav(evaluatorCalVO);
-        evaluatorCalDTO.setPhysicalInfoList(Lists.newArrayList(physicalInfoFacade.listByIds(Arrays.asList(evaluatorCalDTO.getPhysicalTypes().split(",")).stream().map(i -> Integer.parseInt(i)).collect(Collectors.toList()))));
+        evaluatorCalDTO.setPhysicalInfoList(
+                Lists.newArrayList(
+                        physicalInfoFacade.listByIds(
+                                Arrays.asList(evaluatorCalDTO.getPhysicalTypes().split(",")).stream()
+                                        .map(i -> Integer.parseInt(i)).collect(Collectors.toList())
+                        )
+                )
+        );
         return evaluatorCalDTO;
     }
 

+ 52 - 27
prec-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -167,19 +167,31 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
 
         QueryWrapper<InquiryInfo> inquiryInfoQe = new QueryWrapper<InquiryInfo>();
         inquiryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
-        inquiryInfoQe.eq(hisInquirysVO.getHospitalId() != null, "hospital_id", hisInquirysVO.getHospitalId());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getHospitalCode()), "hospital_code", hisInquirysVO.getHospitalCode());
-        inquiryInfoQe.eq(hisInquirysVO.getHospitalDeptId() != null, "hospital_dept_id", hisInquirysVO.getHospitalDeptId());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getHospitalDeptCode()), "hospital_dept_code", hisInquirysVO.getHospitalDeptCode());
-        inquiryInfoQe.eq(hisInquirysVO.getDoctorId() != null, "doctor_id", hisInquirysVO.getDoctorId());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getDoctorCode()), "doctor_code", hisInquirysVO.getDoctorCode());
-        inquiryInfoQe.eq(hisInquirysVO.getPatientId() != null, "patient_id", hisInquirysVO.getPatientId());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getPatientCode()), "patient_code", hisInquirysVO.getPatientCode());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getPatientIdNo()), "patient_id_no", hisInquirysVO.getPatientIdNo());
-        inquiryInfoQe.eq(hisInquirysVO.getType() != null, "type", hisInquirysVO.getType());
-
-        inquiryInfoQe.ge(hisInquirysVO.getStartDate() != null, "gmt_create", hisInquirysVO.getStartDate());
-        inquiryInfoQe.le(hisInquirysVO.getEndDate() != null, "gmt_create", hisInquirysVO.getEndDate());
+        inquiryInfoQe.eq(hisInquirysVO.getHospitalId() != null,
+                "hospital_id", hisInquirysVO.getHospitalId());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getHospitalCode()),
+                "hospital_code", hisInquirysVO.getHospitalCode());
+        inquiryInfoQe.eq(hisInquirysVO.getHospitalDeptId() != null,
+                "hospital_dept_id", hisInquirysVO.getHospitalDeptId());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getHospitalDeptCode()),
+                "hospital_dept_code", hisInquirysVO.getHospitalDeptCode());
+        inquiryInfoQe.eq(hisInquirysVO.getDoctorId() != null,
+                "doctor_id", hisInquirysVO.getDoctorId());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getDoctorCode()),
+                "doctor_code", hisInquirysVO.getDoctorCode());
+        inquiryInfoQe.eq(hisInquirysVO.getPatientId() != null,
+                "patient_id", hisInquirysVO.getPatientId());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getPatientCode()),
+                "patient_code", hisInquirysVO.getPatientCode());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(hisInquirysVO.getPatientIdNo()),
+                "patient_id_no", hisInquirysVO.getPatientIdNo());
+        inquiryInfoQe.eq(hisInquirysVO.getType() != null,
+                "type", hisInquirysVO.getType());
+
+        inquiryInfoQe.ge(hisInquirysVO.getStartDate() != null,
+                "gmt_create", hisInquirysVO.getStartDate());
+        inquiryInfoQe.le(hisInquirysVO.getEndDate() != null,
+                "gmt_create", hisInquirysVO.getEndDate());
 
         if (hisInquirysVO.getOrderType() == null || hisInquirysVO.getOrderType() == 1) {
             inquiryInfoQe.orderByDesc("gmt_modified");
@@ -189,8 +201,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
             inquiryInfoQe.orderByDesc("inquiry_code");
         } else if (hisInquirysVO.getOrderType() == 4) {
             inquiryInfoQe.orderByAsc("inquiry_code");
-        } else{
-        	inquiryInfoQe.orderByDesc("gmt_modified");
+        } else {
+            inquiryInfoQe.orderByDesc("gmt_modified");
         }
 
         List<HisInquiryDTO> hisInquiryDTOList = BeanUtil.listCopyTo(list(inquiryInfoQe), HisInquiryDTO.class);
@@ -211,7 +223,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
      * @return
      */
     public GetInquiryDetailDTO getInquiryDetail(GetInquiryDetailVO getInquiryDetailVO) {
-        if (getInquiryDetailVO.getHospitalId() == null && StringUtil.isBlank(getInquiryDetailVO.getHospitalCode())) {
+        if (getInquiryDetailVO.getHospitalId() == null
+                && StringUtil.isBlank(getInquiryDetailVO.getHospitalCode())) {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "医院信息(医院id或者医院编码)必传!");
         }
         /*if (getInquiryDetailVO.getHospitalDeptId() == null && StringUtil.isBlank(getInquiryDetailVO.getHospitalDeptCode())) {
@@ -220,21 +233,32 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         if (getInquiryDetailVO.getDoctorId() == null && StringUtil.isBlank(getInquiryDetailVO.getDoctorCode())) {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "医生信息(医生id或者医生编码)必传!");
         }*/
-        if (getInquiryDetailVO.getPatientId() == null && StringUtil.isBlank(getInquiryDetailVO.getPatientCode()) && StringUtil.isBlank(getInquiryDetailVO.getPatientIdNo())) {
+        if (getInquiryDetailVO.getPatientId() == null
+                && StringUtil.isBlank(getInquiryDetailVO.getPatientCode())
+                && StringUtil.isBlank(getInquiryDetailVO.getPatientIdNo())) {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "患者信息(患者id或者患者编码或者患者病历号)必传!");
         }
 
         QueryWrapper<InquiryInfo> inquiryInfoQe = new QueryWrapper<InquiryInfo>();
         inquiryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
-        inquiryInfoQe.eq(getInquiryDetailVO.getHospitalId() != null, "hospital_id", getInquiryDetailVO.getHospitalId());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getHospitalCode()), "hospital_code", getInquiryDetailVO.getHospitalCode());
-        inquiryInfoQe.eq(getInquiryDetailVO.getHospitalDeptId() != null, "hospital_dept_id", getInquiryDetailVO.getHospitalDeptId());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getHospitalDeptCode()), "hospital_dept_code", getInquiryDetailVO.getHospitalDeptCode());
-        inquiryInfoQe.eq(getInquiryDetailVO.getDoctorId() != null, "doctor_id", getInquiryDetailVO.getDoctorId());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getDoctorCode()), "doctor_code", getInquiryDetailVO.getDoctorCode());
-        inquiryInfoQe.eq(getInquiryDetailVO.getPatientId() != null, "patient_id", getInquiryDetailVO.getPatientId());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getPatientCode()), "patient_code", getInquiryDetailVO.getPatientCode());
-        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getPatientIdNo()), "patient_id_no", getInquiryDetailVO.getPatientIdNo());
+        inquiryInfoQe.eq(getInquiryDetailVO.getHospitalId() != null,
+                "hospital_id", getInquiryDetailVO.getHospitalId());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getHospitalCode()),
+                "hospital_code", getInquiryDetailVO.getHospitalCode());
+        inquiryInfoQe.eq(getInquiryDetailVO.getHospitalDeptId() != null,
+                "hospital_dept_id", getInquiryDetailVO.getHospitalDeptId());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getHospitalDeptCode()),
+                "hospital_dept_code", getInquiryDetailVO.getHospitalDeptCode());
+        inquiryInfoQe.eq(getInquiryDetailVO.getDoctorId() != null,
+                "doctor_id", getInquiryDetailVO.getDoctorId());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getDoctorCode()),
+                "doctor_code", getInquiryDetailVO.getDoctorCode());
+        inquiryInfoQe.eq(getInquiryDetailVO.getPatientId() != null,
+                "patient_id", getInquiryDetailVO.getPatientId());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getPatientCode()),
+                "patient_code", getInquiryDetailVO.getPatientCode());
+        inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getPatientIdNo()),
+                "patient_id_no", getInquiryDetailVO.getPatientIdNo());
         inquiryInfoQe.eq("inquiry_code", getInquiryDetailVO.getInquiryCode());
 
         InquiryInfo inquiryInfo = this.getOne(inquiryInfoQe, false);
@@ -281,7 +305,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
                 getInquiryDetailDTO.setSupplement(inquiryDetailMap.get(4).getContentValue());
             }
         }
-        getInquiryDetailDTO.setPhysicalRes(ListUtil.isNotEmpty(inquiryEvaluatorList) ? inquiryEvaluatorList.get(0).getPhysicalRes() : null);
+        getInquiryDetailDTO.setPhysicalRes(
+                ListUtil.isNotEmpty(inquiryEvaluatorList) ? inquiryEvaluatorList.get(0).getPhysicalRes() : null);
         if (ListUtil.isNotEmpty(inquiryReportList)) {
             for (InquiryReport inquiryReport : inquiryReportList) {
                 if (StringUtil.isNotBlank(inquiryReport.getOriginalImage())) {

+ 25 - 16
prec-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -78,22 +78,31 @@ public class PushFacade {
      * @return
      */
     public List<ConceptPushDTO> addQuestionId(List<ConceptPushDTO> concepts, Integer type) {
-        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
-        List<String> nameList = concepts.stream().map(concept -> concept.getTagName()).collect(Collectors.toList());
-        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).in("tag_name", nameList).eq("type", type);
-        List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
-        if (ListUtil.isNotEmpty(questionInfoList)) {
-            Map<String, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(questionInfoList, "tagName");
-            for (ConceptPushDTO concept : concepts) {
-                concept.setType(1);
-                if (questionInfoMap.containsKey(concept.getName())) {
-                    QuestionInfo questionInfo = questionInfoMap.get(concept.getTagName());
-                    concept.setId(questionInfo.getId());
-                    concept.setName(questionInfo.getName());
-                    concept.setDescription(questionInfo.getDescription());
-                    if (StringUtil.isNotBlank(questionInfo.getExplains())) {
-                        concept.setHasExplain(1);
-                        concept.setExplains(questionInfo.getExplains());
+        List<String> nameList = concepts
+                .stream()
+                .map(concept -> concept.getTagName())
+                .collect(Collectors.toList());
+        if (ListUtil.isNotEmpty(nameList)) {
+            QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+            questionInfoQueryWrapper
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("tag_name", nameList)
+                    .eq("type", type);
+            List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
+            if (ListUtil.isNotEmpty(questionInfoList)) {
+                Map<String, QuestionInfo> questionInfoMap
+                        = EntityUtil.makeEntityMap(questionInfoList, "tagName");
+                for (ConceptPushDTO concept : concepts) {
+                    concept.setType(1);
+                    if (questionInfoMap.containsKey(concept.getName())) {
+                        QuestionInfo questionInfo = questionInfoMap.get(concept.getTagName());
+                        concept.setId(questionInfo.getId());
+                        concept.setName(questionInfo.getName());
+                        concept.setDescription(questionInfo.getDescription());
+                        if (StringUtil.isNotBlank(questionInfo.getExplains())) {
+                            concept.setHasExplain(1);
+                            concept.setExplains(questionInfo.getExplains());
+                        }
                     }
                 }
             }

+ 4 - 0
prec-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -191,6 +191,10 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
      * @return
      */
     public Map<Long, List<QuestionDetail>> getQuestionDetailWithMap(List<Long> questionIds) {
+        if (ListUtil.isEmpty(questionIds)) {
+            return new LinkedHashMap<>();
+        }
+
         List<QuestionDetail> detailList = questionDetailFacade.list(new QueryWrapper<QuestionDetail>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .in("question_id", questionIds)

+ 10 - 13
prec-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -1,16 +1,5 @@
 package com.diagbot.web;
 
-import java.util.List;
-
-import javax.validation.Valid;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.GetInquiryDetailDTO;
 import com.diagbot.dto.HisInquiryDTO;
@@ -22,9 +11,17 @@ import com.diagbot.vo.GetInquiryDetailVO;
 import com.diagbot.vo.HisInquirysVO;
 import com.diagbot.vo.RecordCheckVO;
 import com.diagbot.vo.SaveInquiryVO;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
 
 /**
  * @author rengb
@@ -46,7 +43,7 @@ public class InquiryInfoController {
     public RespDTO<SaveInquiryDTO> saveInquiry(@Valid @RequestBody SaveInquiryVO saveInquiryVO) {
         return RespDTO.onSuc(inquiryInfoFacade.saveInquiry(saveInquiryVO));
     }
-    
+
     @ApiOperation(value = "问诊记录检查确认[by:rengb]")
     @PostMapping("/recordCheck")
     @SysLogger("recordCheck")

+ 20 - 10
precman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java

@@ -286,17 +286,27 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
             List<Long> questionIdList = moduleDetailList.stream().map(moduleDetail -> moduleDetail.getQuestionId()).collect(Collectors.toList());
             List<Long> moduleIdList = moduleDetailList.stream().map(moduleDetail -> moduleDetail.getRelationModule()).collect(Collectors.toList());
             //获取标签信息
-            QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
-            questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .in("id", questionIdList);
-            List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
-            Map<Long, QuestionInfo> questionInfoMap = questionInfoList.stream().collect(Collectors.toMap(QuestionInfo::getId, questionInfo -> questionInfo));
+            Map<Long, QuestionInfo> questionInfoMap = new HashMap<>();
+            if (ListUtil.isNotEmpty(questionIdList)) {
+                QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+                questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .in("id", questionIdList);
+                List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
+                questionInfoMap = questionInfoList.stream()
+                        .collect(Collectors.toMap(QuestionInfo::getId, questionInfo -> questionInfo));
+            }
+
             //获取模板信息
-            QueryWrapper<ModuleInfo> getRelationModuleWapper = new QueryWrapper<>();
-            questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .in("id", moduleIdList);
-            List<ModuleInfo> moduleInfoList = this.list(getRelationModuleWapper);
-            Map<Long, ModuleInfo> moduleInfoMap = moduleInfoList.stream().collect(Collectors.toMap(ModuleInfo::getId, m -> moduleInfo));
+            Map<Long, ModuleInfo> moduleInfoMap = new HashMap<>();
+            if (ListUtil.isNotEmpty(moduleIdList)) {
+                QueryWrapper<ModuleInfo> getRelationModuleWapper = new QueryWrapper<>();
+                getRelationModuleWapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .in("id", moduleIdList);
+                List<ModuleInfo> moduleInfoList = this.list(getRelationModuleWapper);
+                moduleInfoMap = moduleInfoList.stream()
+                        .collect(Collectors.toMap(ModuleInfo::getId, m -> moduleInfo));
+            }
+
             //循环给出参赋值
             for (ModuleDetail moduleDetail : moduleDetailList) {
                 getModuleDetailInfoDTO = new GetModuleDetailInfoDTO();

+ 2 - 1
tran-service/src/main/java/com/diagbot/facade/DataServiceFacade.java

@@ -31,7 +31,8 @@ public class DataServiceFacade {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入医院编码");
         }
         QueryWrapper<HospitalInfo> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+        queryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("code", hosCodeVO.getHosCode());
         HospitalInfo hospitalInfo = hospitalInfoFacade.getOne(queryWrapper, false);
         if (hospitalInfo == null) {

+ 18 - 13
tran-service/src/main/java/com/diagbot/facade/HospitalDeptFacade.java

@@ -1,25 +1,26 @@
 package com.diagbot.facade;
 
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.HospitalDeptDTO;
+import com.diagbot.dto.HospitalDeptInfoDTO;
+import com.diagbot.entity.HospitalDept;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.StatusEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.HospitalDeptServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
+import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalDeptVO;
 import com.google.common.collect.Lists;
 import org.springframework.stereotype.Component;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.diagbot.dto.HospitalDeptInfoDTO;
-import com.diagbot.entity.HospitalDept;
-import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.service.impl.HospitalDeptServiceImpl;
-import com.diagbot.util.BeanUtil;
-import com.diagbot.vo.HospitalDeptInfoVO;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author rgb
@@ -64,6 +65,9 @@ public class HospitalDeptFacade extends HospitalDeptServiceImpl {
      * @return
      */
     public Map<String, List<HospitalDeptDTO>> hospitalDeptByConceptNames(HospitalDeptVO hospitalDeptVO) {
+        if (ListUtil.isEmpty(hospitalDeptVO.getConceptNames())) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入ICSS科室名称");
+        }
         Map<String, List<HospitalDeptDTO>> retMap = new LinkedHashMap<>();
         QueryWrapper<HospitalDept> hospitalDeptQueryWrapper = new QueryWrapper<>();
         hospitalDeptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -72,7 +76,8 @@ public class HospitalDeptFacade extends HospitalDeptServiceImpl {
                 .in("concept_dept_name", hospitalDeptVO.getConceptNames());
         List<HospitalDept> hospitalDeptList = this.list(hospitalDeptQueryWrapper);
         if (ListUtil.isNotEmpty(hospitalDeptList)) {
-            Map<String, List<HospitalDept>> hospitalDeptMap = EntityUtil.makeEntityListMap(hospitalDeptList, "conceptDeptName");
+            Map<String, List<HospitalDept>> hospitalDeptMap
+                    = EntityUtil.makeEntityListMap(hospitalDeptList, "conceptDeptName");
             for (Map.Entry<String, List<HospitalDept>> entry : hospitalDeptMap.entrySet()) {
                 List<HospitalDeptDTO> hospitalDeptDTOList = Lists.newArrayList();
                 for (HospitalDept hospitalDept : entry.getValue()) {

+ 1 - 1
tran-service/src/main/java/com/diagbot/facade/HospitalInfoFacade.java

@@ -34,7 +34,7 @@ public class HospitalInfoFacade extends HospitalInfoServiceImpl {
 	public HospitalInfoDTO getHospitalInfo(HospitalInfoVO hospitalInfoVO) {
 		QueryWrapper<HospitalInfo> queryWrapper = new QueryWrapper<HospitalInfo>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-        			.in("code", hospitalInfoVO.getCode());
+        			.eq("code", hospitalInfoVO.getCode());
         HospitalInfo datas = this.getOne(queryWrapper, false);
         HospitalInfoDTO data =new HospitalInfoDTO();
         BeanUtil.copyProperties(datas, data);

+ 12 - 8
tran-service/src/main/java/com/diagbot/facade/InquiryDetailFacade.java

@@ -1,15 +1,16 @@
 package com.diagbot.facade;
 
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.stereotype.Component;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.entity.InquiryDetail;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.InquiryDetailServiceImpl;
+import com.diagbot.util.ListUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author: rengb
@@ -17,7 +18,7 @@ import com.diagbot.service.impl.InquiryDetailServiceImpl;
  */
 @Component
 public class InquiryDetailFacade extends InquiryDetailServiceImpl {
-	
+
     /**
      * 根据病历id集合获取病历明细
      *
@@ -25,9 +26,12 @@ public class InquiryDetailFacade extends InquiryDetailServiceImpl {
      * @return
      */
     public Map<Long, List<InquiryDetail>> getDetailsByInquryIds(List<Long> inquiryIds) {
+        if (ListUtil.isEmpty(inquiryIds)) {
+            return new HashMap<>();
+        }
         QueryWrapper<InquiryDetail> queryWrapper = new QueryWrapper<InquiryDetail>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-        			.in("inquiry_id", inquiryIds);
+                .in("inquiry_id", inquiryIds);
         List<InquiryDetail> inquiryDetails = this.list(queryWrapper);
         return inquiryDetails.stream().collect(Collectors.groupingBy(InquiryDetail::getInquiryId));
     }

+ 121 - 116
tran-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -1,15 +1,5 @@
 package com.diagbot.facade;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Component;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.GetExportInquirysDTO;
@@ -31,6 +21,15 @@ import com.diagbot.vo.AddDiagnoseSecondVO;
 import com.diagbot.vo.HisInquirysForJzVO;
 import com.diagbot.vo.SaveInquiryToHisVO;
 import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 对接层问诊信息业务逻辑
@@ -38,17 +37,17 @@ import com.google.common.collect.Lists;
  * @since 2019-3-18
  */
 @Component
-public class InquiryInfoFacade extends InquiryInfoServiceImpl{
-	
-	@Autowired
+public class InquiryInfoFacade extends InquiryInfoServiceImpl {
+
+    @Autowired
     private InquiryDetailFacade inquiryDetailFacade;
-	@Autowired
-	private PatientInfoFacade patientInfoFacade;
-	@Autowired
-	@Qualifier("inquiryDetailServiceImpl")
-	private InquiryDetailServiceImpl inquiryDetailServiceImpl;
-	
-	/**
+    @Autowired
+    private PatientInfoFacade patientInfoFacade;
+    @Autowired
+    @Qualifier("inquiryDetailServiceImpl")
+    private InquiryDetailServiceImpl inquiryDetailServiceImpl;
+
+    /**
      * 问诊记录保存
      *
      * @param saveInquiryToHisVO
@@ -67,49 +66,51 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl{
         InquiryInfo inquiryInfo = getOne(inquiryInfoQe, false);
 
         if (inquiryInfo == null) {
-        	inquiryInfo = new InquiryInfo();
-        	inquiryInfo.setGmtCreate(now);
+            inquiryInfo = new InquiryInfo();
+            inquiryInfo.setGmtCreate(now);
         } else {
             QueryWrapper<InquiryDetail> inquiryDetailQe = new QueryWrapper<>();
             inquiryDetailQe.eq("inquiry_id", inquiryInfo.getId());
             inquiryDetailQe.ne("type", 9);
             inquiryDetailFacade.remove(inquiryDetailQe);
         }
-        
+
         inquiryInfo.setGmtModified(now);
         BeanUtil.copyProperties(saveInquiryToHisVO, inquiryInfo);
         saveOrUpdate(inquiryInfo);
-        
+
         List<InquiryDetail> inquiryDetailList = BeanUtil.listCopyTo(saveInquiryToHisVO.getDetailList(), InquiryDetail.class);
-        for(InquiryDetail i : inquiryDetailList){
-        	i.setInquiryId(inquiryInfo.getId());
-        	i.setGmtCreate(now);
-        	i.setGmtModified(now);
+        for (InquiryDetail i : inquiryDetailList) {
+            i.setInquiryId(inquiryInfo.getId());
+            i.setGmtCreate(now);
+            i.setGmtModified(now);
         }
         inquiryDetailServiceImpl.saveBatch(inquiryDetailList);
 
         return true;
     }
-    
+
     /**
      * 急诊-历史病历列表
-     * 
+     *
      * @param hisInquirysForJzVO
      * @return
      */
-    public HisInquirysForJzDTO hisInquirysForJz(HisInquirysForJzVO hisInquirysForJzVO){
-    	HisInquirysForJzDTO hisInquirysForJzDTO = new HisInquirysForJzDTO();
-    	
-    	IPage<HisInquirysForJzDetailDTO> ipage = this.baseMapper.hisInquirysForJz(hisInquirysForJzVO);
-    	List<HisInquirysForJzDetailDTO> inquiryList = ipage.getRecords();
-    	
-    	if(ListUtil.isNotEmpty(inquiryList)){
-            List<Long> patientIdList = inquiryList.stream().map(i -> i.getPatientId()).distinct().collect(Collectors.toList());
-            List<Long> inquiryIdList = inquiryList.stream().map(i -> i.getInquiryId()).distinct().collect(Collectors.toList());
+    public HisInquirysForJzDTO hisInquirysForJz(HisInquirysForJzVO hisInquirysForJzVO) {
+        HisInquirysForJzDTO hisInquirysForJzDTO = new HisInquirysForJzDTO();
+
+        IPage<HisInquirysForJzDetailDTO> ipage = this.baseMapper.hisInquirysForJz(hisInquirysForJzVO);
+        List<HisInquirysForJzDetailDTO> inquiryList = ipage.getRecords();
+
+        if (ListUtil.isNotEmpty(inquiryList)) {
+            List<Long> patientIdList = inquiryList.stream()
+                    .map(i -> i.getPatientId()).distinct().collect(Collectors.toList());
+            List<Long> inquiryIdList = inquiryList.stream()
+                    .map(i -> i.getInquiryId()).distinct().collect(Collectors.toList());
 
             Map<Long, PatientInfo> patientInfoMap = patientInfoFacade.patientInfoMapByIds(patientIdList);
             Map<Long, List<InquiryDetail>> inquiryDetailListMap = inquiryDetailFacade.getDetailsByInquryIds(inquiryIdList);
-        	
+
             inquiryList.forEach(i -> {
                 PatientInfo patientInfo = patientInfoMap.get(i.getPatientId());
                 if (patientInfo != null) {
@@ -118,98 +119,102 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl{
                     i.setPatientSex(SexTypeEnum.getName(patientInfo.getSex()));
                     i.setPatientAge(DateUtil.yearCompare(patientInfo.getBirthday(), DateUtil.now()));
                 }
-                
-                List<InquiryDetail> detailList= inquiryDetailListMap.get(i.getInquiryId()).stream().filter(inquiryDetail->inquiryDetail.getType()!=9).collect(Collectors.toList());
+
+                List<InquiryDetail> detailList = inquiryDetailListMap.get(i.getInquiryId()).stream()
+                        .filter(inquiryDetail -> inquiryDetail.getType() != 9).collect(Collectors.toList());
                 i.setDetailList(detailList);
-                String diagnose = detailList.stream().filter(inquiryDetail->inquiryDetail.getType()==7).map(inquiryDetail->inquiryDetail.getContentValue()).collect(Collectors.toList()).get(0);
+                String diagnose = detailList.stream().filter(inquiryDetail -> inquiryDetail.getType() == 7)
+                        .map(inquiryDetail -> inquiryDetail.getContentValue()).collect(Collectors.toList()).get(0);
                 i.setDiagnose(diagnose.split(";")[0]);
             });
-    	}
-    	
-    	hisInquirysForJzDTO.setInquiryList(inquiryList);
-    	hisInquirysForJzDTO.setTotal(ipage.getTotal());
-    	
-    	return hisInquirysForJzDTO;
+        }
+
+        hisInquirysForJzDTO.setInquiryList(inquiryList);
+        hisInquirysForJzDTO.setTotal(ipage.getTotal());
+
+        return hisInquirysForJzDTO;
     }
-    
-    
+
+
     /**
      * 急诊-添加二次诊断
-     * 
+     *
      * @param addDiagnoseSecondVO
      * @return
      */
-    public Boolean addDiagnoseSecond(AddDiagnoseSecondVO addDiagnoseSecondVO){
-    	QueryWrapper<InquiryDetail> inquiryDetailQe = new QueryWrapper<>();
-    	inquiryDetailQe.eq("inquiry_id", addDiagnoseSecondVO.getInquiryId());
-    	inquiryDetailQe.eq("type", 9);
-    	inquiryDetailFacade.remove(inquiryDetailQe);
-    	
-    	Date now = DateUtil.now();
-    	
-    	InquiryDetail inquiryDetail = new InquiryDetail();
-    	inquiryDetail.setContentValue(addDiagnoseSecondVO.getDiagnoseSecond());
-    	inquiryDetail.setType(9);
-    	inquiryDetail.setInquiryId(addDiagnoseSecondVO.getInquiryId());
-    	inquiryDetail.setGmtCreate(now);
-    	inquiryDetail.setGmtModified(now);
-    	inquiryDetail.setCreator(addDiagnoseSecondVO.getDoctorId().toString());
-    	inquiryDetail.setModifier(addDiagnoseSecondVO.getDoctorId().toString());
-    	
-    	return inquiryDetailFacade.save(inquiryDetail);
+    public Boolean addDiagnoseSecond(AddDiagnoseSecondVO addDiagnoseSecondVO) {
+        QueryWrapper<InquiryDetail> inquiryDetailQe = new QueryWrapper<>();
+        inquiryDetailQe.eq("inquiry_id", addDiagnoseSecondVO.getInquiryId());
+        inquiryDetailQe.eq("type", 9);
+        inquiryDetailFacade.remove(inquiryDetailQe);
+
+        Date now = DateUtil.now();
+
+        InquiryDetail inquiryDetail = new InquiryDetail();
+        inquiryDetail.setContentValue(addDiagnoseSecondVO.getDiagnoseSecond());
+        inquiryDetail.setType(9);
+        inquiryDetail.setInquiryId(addDiagnoseSecondVO.getInquiryId());
+        inquiryDetail.setGmtCreate(now);
+        inquiryDetail.setGmtModified(now);
+        inquiryDetail.setCreator(addDiagnoseSecondVO.getDoctorId().toString());
+        inquiryDetail.setModifier(addDiagnoseSecondVO.getDoctorId().toString());
+
+        return inquiryDetailFacade.save(inquiryDetail);
     }
-    
+
     /**
      * 急诊-获取需要导出的问诊数据
-     * 
+     *
      * @param inquiryIds
      * @return
      */
-    public List<GetExportInquirysDTO> getExportInquirys(List<Long> inquiryIds){
-    	List<GetExportInquirysDTO> getExportInquirysDTOList = new ArrayList<>();
-    	
-    	if(inquiryIds.stream().distinct().count()!=inquiryIds.size()){
-    		throw new CommonException(CommonErrorCode.PARAM_IS_ERROR);
-    	}
-    	
-    	List<InquiryInfo> inquiryInfoList = Lists.newArrayList(listByIds(inquiryIds));
-    	if(inquiryInfoList.size()!=inquiryIds.size()){
-    		throw new CommonException(CommonErrorCode.PARAM_IS_ERROR);
-    	}
-    	
-    	List<Long> patientIdList = inquiryInfoList.stream().map(i -> i.getPatientId()).distinct().collect(Collectors.toList());
-    	Map<Long, PatientInfo> patientInfoMap = patientInfoFacade.patientInfoMapByIds(patientIdList);
-    	Map<Long,InquiryInfo> inquiryInfoMap = inquiryInfoList.stream().collect(Collectors.toMap(InquiryInfo::getId,i->i));
-    	Map<Long, List<InquiryDetail>> inquiryDetailListMap = inquiryDetailFacade.getDetailsByInquryIds(inquiryIds);
-    	
-    	Integer lineNum = 1;
-    	PatientInfo patientInfo = null;
-    	String diagnose = null;
-    	for(Long inquiryId : inquiryIds){
-    		GetExportInquirysDTO getExportInquirysDTO = new GetExportInquirysDTO();
-    		getExportInquirysDTO.setLineNum(lineNum);
-    		patientInfo = patientInfoMap.get(inquiryInfoMap.get(inquiryId).getPatientId());
-        	if (patientInfo != null) {
-        		getExportInquirysDTO.setPatientSex(SexTypeEnum.getName(patientInfo.getSex()));
-        		getExportInquirysDTO.setPatientAge(DateUtil.yearCompare(patientInfo.getBirthday(), DateUtil.now()));
-        	}
-    		
-    		Map<Integer,String> detailMap = inquiryDetailListMap.get(inquiryId).stream().collect(Collectors.toMap(InquiryDetail::getType, i->i.getContentValue()==null?"":i.getContentValue()));
-    		diagnose = detailMap.get(7);
-    		detailMap.put(7, detailMap.get(8));
-    		if(detailMap.get(9)!=null){
-    			diagnose = "";
-    		}
-    		detailMap.put(8, diagnose);
-    		getExportInquirysDTO.setDetailMap(detailMap);
-    		
-    		getExportInquirysDTOList.add(getExportInquirysDTO);
-    		lineNum++;
-    	}
-    	
-    	return getExportInquirysDTOList;
+    public List<GetExportInquirysDTO> getExportInquirys(List<Long> inquiryIds) {
+        List<GetExportInquirysDTO> getExportInquirysDTOList = new ArrayList<>();
+
+        if (inquiryIds.stream().distinct().count() != inquiryIds.size()) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR);
+        }
+
+        List<InquiryInfo> inquiryInfoList = Lists.newArrayList(listByIds(inquiryIds));
+        if (inquiryInfoList.size() != inquiryIds.size()) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR);
+        }
+
+        List<Long> patientIdList = inquiryInfoList.stream()
+                .map(i -> i.getPatientId()).distinct().collect(Collectors.toList());
+        Map<Long, PatientInfo> patientInfoMap = patientInfoFacade.patientInfoMapByIds(patientIdList);
+        Map<Long, InquiryInfo> inquiryInfoMap = inquiryInfoList.stream()
+                .collect(Collectors.toMap(InquiryInfo::getId, i -> i));
+        Map<Long, List<InquiryDetail>> inquiryDetailListMap = inquiryDetailFacade.getDetailsByInquryIds(inquiryIds);
+
+        Integer lineNum = 1;
+        PatientInfo patientInfo = null;
+        String diagnose = null;
+        for (Long inquiryId : inquiryIds) {
+            GetExportInquirysDTO getExportInquirysDTO = new GetExportInquirysDTO();
+            getExportInquirysDTO.setLineNum(lineNum);
+            patientInfo = patientInfoMap.get(inquiryInfoMap.get(inquiryId).getPatientId());
+            if (patientInfo != null) {
+                getExportInquirysDTO.setPatientSex(SexTypeEnum.getName(patientInfo.getSex()));
+                getExportInquirysDTO.setPatientAge(DateUtil.yearCompare(patientInfo.getBirthday(), DateUtil.now()));
+            }
+
+            Map<Integer, String> detailMap = inquiryDetailListMap.get(inquiryId).stream()
+                    .collect(Collectors.toMap(InquiryDetail::getType, i -> i.getContentValue() == null ? "" : i.getContentValue()));
+            diagnose = detailMap.get(7);
+            detailMap.put(7, detailMap.get(8));
+            if (detailMap.get(9) != null) {
+                diagnose = "";
+            }
+            detailMap.put(8, diagnose);
+            getExportInquirysDTO.setDetailMap(detailMap);
+
+            getExportInquirysDTOList.add(getExportInquirysDTO);
+            lineNum++;
+        }
+
+        return getExportInquirysDTOList;
     }
-	
 
 
 }

+ 5 - 2
tran-service/src/main/java/com/diagbot/facade/IntroduceTitleConfigFacade.java

@@ -25,9 +25,12 @@ public class IntroduceTitleConfigFacade extends IntroduceTitleConfigServiceImpl
      */
     public Map<String, String> getTitleMappingHosCode(String hosCode) {
         QueryWrapper<IntroduceTitleConfig> titleMappingQueryWrapper = new QueryWrapper<>();
-        titleMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code",hosCode);
+        titleMappingQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_code", hosCode);
         List<IntroduceTitleConfig> titleMappingList = this.list(titleMappingQueryWrapper);
-        Map<String, String> retMap= EntityUtil.makeMapWithKeyValue(titleMappingList, "itemName", "uniqueName");
+        Map<String, String> retMap
+                = EntityUtil.makeMapWithKeyValue(titleMappingList, "itemName", "uniqueName");
         return retMap;
     }
 }

+ 10 - 4
tran-service/src/main/java/com/diagbot/facade/PacsConfigFacade.java

@@ -26,9 +26,12 @@ public class PacsConfigFacade extends PacsConfigServiceImpl{
      */
     public Map<String, String> getPacsConfigByHosCode(String hosCode) {
         QueryWrapper<PacsConfig> pacsConfigQueryWrapper = new QueryWrapper<>();
-        pacsConfigQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code",hosCode);
+        pacsConfigQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_code", hosCode);
         List<PacsConfig> pacsConfigList = this.list(pacsConfigQueryWrapper);
-        Map<String, String> retMap=EntityUtil.makeMapWithKeyValue(pacsConfigList, "mealName", "uniqueName");
+        Map<String, String> retMap
+                = EntityUtil.makeMapWithKeyValue(pacsConfigList, "mealName", "uniqueName");
         return retMap;
     }
 
@@ -40,9 +43,12 @@ public class PacsConfigFacade extends PacsConfigServiceImpl{
     public Map<String, List<String>> getPacsConfigByUniqueNameAndHosCode(String hosCode) {
         Map<String, List<String>> retMap = new LinkedHashMap<>();
         QueryWrapper<PacsConfig> pacsConfigQueryWrapper = new QueryWrapper<>();
-        pacsConfigQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code", hosCode);
+        pacsConfigQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_code", hosCode);
         List<PacsConfig> pacsConfigList = this.list(pacsConfigQueryWrapper);
-        Map<String, List<PacsConfig>> pacsConfigMap = EntityUtil.makeEntityListMap(pacsConfigList, "uniqueName");
+        Map<String, List<PacsConfig>> pacsConfigMap
+                = EntityUtil.makeEntityListMap(pacsConfigList, "uniqueName");
         for (Map.Entry<String, List<PacsConfig>> entry : pacsConfigMap.entrySet()) {
             retMap.put(entry.getKey(), EntityUtil.makeListByFieldName(entry.getValue(), "mealName"));
         }

+ 35 - 28
tran-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java

@@ -1,13 +1,5 @@
 package com.diagbot.facade;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
-
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.PatientInfoDTO;
 import com.diagbot.dto.SignInDTO;
@@ -18,6 +10,13 @@ import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.PatientInfoVO;
 import com.diagbot.vo.SignInVO;
 import com.google.common.collect.Lists;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 患者业务逻辑
@@ -39,7 +38,8 @@ public class PatientInfoFacade extends PatientInfoServiceImpl {
      * @return
      */
     public PatientInfoDTO getPatientInfo(PatientInfoVO patientInfoVO) {
-        PatientInfoDTO patientInfoDTO = this.getPatientInfos(patientInfoVO.getPatientCode(), patientInfoVO.getHospitalCode());
+        PatientInfoDTO patientInfoDTO = this.getPatientInfos(patientInfoVO.getPatientCode(),
+                patientInfoVO.getHospitalCode());
         return patientInfoDTO;
     }
 
@@ -59,36 +59,43 @@ public class PatientInfoFacade extends PatientInfoServiceImpl {
 
     /**
      * 根据ids获取病人信息
+     *
      * @param ids 病人ids
      * @return 病人信息
      */
     public Map<Long, PatientInfo> patientInfoMapByIds(List<Long> ids) {
-    	Map<Long, PatientInfo> patientInfoMap = this.listByIds(ids).stream().filter(i -> i.getIsDeleted().equals("N")).collect(Collectors.toMap(PatientInfo::getId, i -> i));
-    	return patientInfoMap;
+        Map<Long, PatientInfo> patientInfoMap = this.listByIds(ids).stream()
+                .filter(i -> i.getIsDeleted().equals("N")).collect(Collectors.toMap(PatientInfo::getId, i -> i));
+        return patientInfoMap;
     }
-   
+
     /**
      * 患者登录
+     *
      * @param signInVO
      * @return
      */
     public List<SignInDTO> signIn(SignInVO signInVO) {
-    	String time = DateUtil.formatDateTime(new Date());
-    	List<SignInDTO> list = Lists.newArrayList();
-    	list.add(new SignInDTO("A001", "浙江大学医学院附属邵逸夫医院", "D01", "全科", "YS001", "付医生", "1600", "王明明", time, "4468352", "15"));
-    	list.add(new SignInDTO("A001", "浙江大学医学院附属邵逸夫医院", "D02", "儿科", "YS001", "付医生", "1600", "王明明", time, "4468352", "18"));
-    	if(signInVO.getPatientInfoType().equals("101")){
-    		if(signInVO.getPatientInfo().equals("10123439991230120X")){
-    			list.remove(1);
-    		}else if(signInVO.getPatientInfo().equals("666666180002301234")){
-    			list.clear();
-    		}else if(signInVO.getPatientInfo().equals("100000201901010000")){
-    			return null;
-    		}
-    	}
-    	
-    	return list;
+        String time = DateUtil.formatDateTime(new Date());
+        List<SignInDTO> list = Lists.newArrayList();
+        list.add(new SignInDTO("A001", "浙江大学医学院附属邵逸夫医院",
+                "D01", "全科", "YS001", "付医生",
+                "1600", "王明明", time, "4468352", "15"));
+        list.add(new SignInDTO("A001", "浙江大学医学院附属邵逸夫医院",
+                "D02", "儿科", "YS001", "付医生",
+                "1600", "王明明", time, "4468352", "18"));
+        if (signInVO.getPatientInfoType().equals("101")) {
+            if (signInVO.getPatientInfo().equals("10123439991230120X")) {
+                list.remove(1);
+            } else if (signInVO.getPatientInfo().equals("666666180002301234")) {
+                list.clear();
+            } else if (signInVO.getPatientInfo().equals("100000201901010000")) {
+                return null;
+            }
+        }
+
+        return list;
     }
-    
+
 
 }

+ 13 - 8
tran-service/src/main/java/com/diagbot/facade/TranLisConfigFacade.java

@@ -50,16 +50,20 @@ public class TranLisConfigFacade extends TranLisConfigServiceImpl{
 	public Map<String, Map<String, String>> getLisConfigByMealNameAndHosCode(LisConfigVO lisConfigVO) {
 		Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
 		QueryWrapper<TranLisConfig> lisConfigQueryWrapper = new QueryWrapper<>();
-		lisConfigQueryWrapper.select("hospital_code,meal_name,ifnull(item_name,'') as item_name,unique_name,unique_id").
-				eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code", lisConfigVO.getHosCode());
+		lisConfigQueryWrapper
+				.select("hospital_code,meal_name,ifnull(item_name,'') as item_name,unique_name,unique_id")
+				.eq("is_deleted", IsDeleteEnum.N.getKey())
+				.eq("hospital_code", lisConfigVO.getHosCode());
 		if (ListUtil.isNotEmpty(lisConfigVO.getMealNameList())) {
 			lisConfigQueryWrapper.in("meal_name", lisConfigVO.getMealNameList());
 		}
 		List<TranLisConfig> lisConfigList = this.list(lisConfigQueryWrapper);
-		Map<String, List<TranLisConfig>> lisConfigMap = EntityUtil.makeEntityListMap(lisConfigList, "mealName");
+		Map<String, List<TranLisConfig>> lisConfigMap
+				= EntityUtil.makeEntityListMap(lisConfigList, "mealName");
 		for (Map.Entry<String, List<TranLisConfig>> entry : lisConfigMap.entrySet()) {
 			if (entry.getValue().size() > 0) {
-				retMap.put(entry.getKey(), EntityUtil.makeMapWithKeyValue(entry.getValue(), "itemName", "uniqueName"));
+				retMap.put(entry.getKey(),
+						EntityUtil.makeMapWithKeyValue(entry.getValue(), "itemName", "uniqueName"));
 			} else {
 				retMap.put(entry.getKey(), null);
 			}
@@ -78,12 +82,13 @@ public class TranLisConfigFacade extends TranLisConfigServiceImpl{
 		QueryWrapper<TranLisConfig> tranLisConfigQueryWrapper = new QueryWrapper<>();
 		tranLisConfigQueryWrapper
 				.eq("is_deleted", IsDeleteEnum.N.getKey())
-				.eq("hospital_code",lisConfigVO.getHosCode());
-		if(ListUtil.isNotEmpty(lisConfigVO.getUniqueNameList())){
-			tranLisConfigQueryWrapper.in("unique_name",lisConfigVO.getUniqueNameList());
+				.eq("hospital_code", lisConfigVO.getHosCode());
+		if (ListUtil.isNotEmpty(lisConfigVO.getUniqueNameList())) {
+			tranLisConfigQueryWrapper.in("unique_name", lisConfigVO.getUniqueNameList());
 		}
 		List<TranLisConfig> tranLisConfigList = this.list(tranLisConfigQueryWrapper);
-		Map<String, List<TranLisConfig>> lisConfigMap = EntityUtil.makeEntityListMap(tranLisConfigList, "uniqueName");
+		Map<String, List<TranLisConfig>> lisConfigMap
+				= EntityUtil.makeEntityListMap(tranLisConfigList, "uniqueName");
 		for (Map.Entry<String, List<TranLisConfig>> entry : lisConfigMap.entrySet()) {
 			retMap.put(entry.getKey(), EntityUtil.makeListByFieldName(entry.getValue(), "mealName"));
 		}

+ 66 - 65
tran-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -1,14 +1,5 @@
 package com.diagbot.web;
 
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.GetExportInquirysDTO;
 import com.diagbot.dto.HisInquirysForJzDTO;
@@ -17,10 +8,17 @@ import com.diagbot.facade.InquiryInfoFacade;
 import com.diagbot.vo.AddDiagnoseSecondVO;
 import com.diagbot.vo.HisInquirysForJzVO;
 import com.diagbot.vo.SaveInquiryToHisVO;
-
 import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import java.util.List;
+
 /**
  * <p>
  * 对接层问诊信息控制器
@@ -34,60 +32,63 @@ import springfox.documentation.annotations.ApiIgnore;
 @Api(value = "对接层-问诊信息API", tags = { "对接层-问诊信息API" })
 @SuppressWarnings("unchecked")
 public class InquiryInfoController {
-	
-	 @Autowired
-	 private InquiryInfoFacade inquiryInfoFacade;
-	 
-	 /**
-	  * 问诊记录保存
-	  * @param saveInquiryToHisVO
-	  * @return
-	  */
-	 @PostMapping("/saveInquiryToHis")
-	 @SysLogger("saveInquiryToHis")
-	 @Transactional
-	 @ApiIgnore
-	 public RespDTO<Boolean> saveInquiryToHis(@RequestBody SaveInquiryToHisVO saveInquiryToHisVO) {
-	     return RespDTO.onSuc(inquiryInfoFacade.saveInquiryToHis(saveInquiryToHisVO));
-	 }
-	 
-	 /**
-	  * 急诊-历史病历列表
-	  * @param hisInquirysForJzVO
-	  * @return
-	  */
-	 @PostMapping("/hisInquirysForJz")
-	 @SysLogger("hisInquirysForJz")
-	 @ApiIgnore
-	 public RespDTO<HisInquirysForJzDTO> hisInquirysForJz(@RequestBody HisInquirysForJzVO hisInquirysForJzVO) {
-		 return RespDTO.onSuc(inquiryInfoFacade.hisInquirysForJz(hisInquirysForJzVO));
-	 }
-	 
-	 /**
-	  * 急诊-添加二次诊断
-	  * @param addDiagnoseSecondVO
-	  * @return
-	  */
-	 @PostMapping("/addDiagnoseSecond")
-	 @SysLogger("addDiagnoseSecond")
-	 @Transactional
-	 @ApiIgnore
-	 public RespDTO<Boolean> addDiagnoseSecond(@RequestBody AddDiagnoseSecondVO addDiagnoseSecondVO) {
-		 return RespDTO.onSuc(inquiryInfoFacade.addDiagnoseSecond(addDiagnoseSecondVO));
-	 }
-	 
-	 /**
-	  * 急诊-获取需要导出的问诊数据
-	  * @param inquiryIds
-	  * @return
-	  */
-	 @PostMapping("/getExportInquirys")
-	 @SysLogger("getExportInquirys")
-	 @ApiIgnore
-	 public RespDTO<List<GetExportInquirysDTO>> getExportInquirys(@RequestBody List<Long> inquiryIds) {
-		 return RespDTO.onSuc(inquiryInfoFacade.getExportInquirys(inquiryIds));
-	 } 
-	 
-	 
+
+    @Autowired
+    private InquiryInfoFacade inquiryInfoFacade;
+
+    /**
+     * 问诊记录保存
+     *
+     * @param saveInquiryToHisVO
+     * @return
+     */
+    @PostMapping("/saveInquiryToHis")
+    @SysLogger("saveInquiryToHis")
+    @Transactional
+    @ApiIgnore
+    public RespDTO<Boolean> saveInquiryToHis(@RequestBody SaveInquiryToHisVO saveInquiryToHisVO) {
+        return RespDTO.onSuc(inquiryInfoFacade.saveInquiryToHis(saveInquiryToHisVO));
+    }
+
+    /**
+     * 急诊-历史病历列表
+     *
+     * @param hisInquirysForJzVO
+     * @return
+     */
+    @PostMapping("/hisInquirysForJz")
+    @SysLogger("hisInquirysForJz")
+    @ApiIgnore
+    public RespDTO<HisInquirysForJzDTO> hisInquirysForJz(@RequestBody HisInquirysForJzVO hisInquirysForJzVO) {
+        return RespDTO.onSuc(inquiryInfoFacade.hisInquirysForJz(hisInquirysForJzVO));
+    }
+
+    /**
+     * 急诊-添加二次诊断
+     *
+     * @param addDiagnoseSecondVO
+     * @return
+     */
+    @PostMapping("/addDiagnoseSecond")
+    @SysLogger("addDiagnoseSecond")
+    @Transactional
+    @ApiIgnore
+    public RespDTO<Boolean> addDiagnoseSecond(@RequestBody AddDiagnoseSecondVO addDiagnoseSecondVO) {
+        return RespDTO.onSuc(inquiryInfoFacade.addDiagnoseSecond(addDiagnoseSecondVO));
+    }
+
+    /**
+     * 急诊-获取需要导出的问诊数据
+     *
+     * @param inquiryIds
+     * @return
+     */
+    @PostMapping("/getExportInquirys")
+    @SysLogger("getExportInquirys")
+    @ApiIgnore
+    public RespDTO<List<GetExportInquirysDTO>> getExportInquirys(@RequestBody List<Long> inquiryIds) {
+        return RespDTO.onSuc(inquiryInfoFacade.getExportInquirys(inquiryIds));
+    }
+
 
 }

+ 27 - 30
tran-service/src/main/java/com/diagbot/web/PatientInfoController.java

@@ -1,17 +1,6 @@
 package com.diagbot.web;
 
 
-import java.util.List;
-import java.util.Map;
-
-import javax.validation.Valid;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.PatientInfoDTO;
@@ -22,11 +11,19 @@ import com.diagbot.facade.PatientInfoFacade;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.PatientInfoVO;
 import com.diagbot.vo.SignInVO;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 患者信息表 前端控制器
@@ -55,32 +52,32 @@ public class PatientInfoController {
     }
 
 
-   @ApiOperation(value = "页面顶部病人医生科室信息——查询[by:rengb]",
+    @ApiOperation(value = "页面顶部病人医生科室信息——查询[by:rengb]",
             notes = "hospitalCode:医院编号,必填<br>" +
                     "hospitalDeptCode:医院科室编号,必填<br>" +
                     "doctorCode:医院医生编号,必填<br>" +
                     "patientCode:医院患者编号,必填<br>")
     @PostMapping("/getTopPatientInfo")
     @SysLogger("getTopPatientInfo")
-   	@ApiIgnore
+    @ApiIgnore
     public RespDTO<GetTopPatientInfoDTO> getTopPatientInfo(@Valid @RequestBody GetTopPatientInfoVO getTopPatientInfoVO) {
         return RespDTO.onSuc(patientInfoFacade.getTopPatientInfo(getTopPatientInfoVO));
     }
-   
-   @PostMapping(value = "/patientInfoMapByIds")
-   @SysLogger("patientInfoMapByIds")
-   @ApiOperation(value = "根据ids获取病人信息[by:rengb]")
-   @ApiIgnore
-   RespDTO<Map<Long, PatientInfo>> patientInfoMapByIds(@RequestBody List<Long> ids) {
-       Map<Long, PatientInfo> result = patientInfoFacade.patientInfoMapByIds(ids);
-       return RespDTO.onSuc(result);
-   }
-   
-   @ApiOperation(value = "患者登录[by:rengb]")
-   @PostMapping("/signIn")
-   @SysLogger("signIn")
-   public RespDTO<List<SignInDTO>> signIn(@RequestBody SignInVO signInVO) {
-       return RespDTO.onSuc(patientInfoFacade.signIn(signInVO));
-   }
+
+    @PostMapping(value = "/patientInfoMapByIds")
+    @SysLogger("patientInfoMapByIds")
+    @ApiOperation(value = "根据ids获取病人信息[by:rengb]")
+    @ApiIgnore
+    RespDTO<Map<Long, PatientInfo>> patientInfoMapByIds(@RequestBody List<Long> ids) {
+        Map<Long, PatientInfo> result = patientInfoFacade.patientInfoMapByIds(ids);
+        return RespDTO.onSuc(result);
+    }
+
+    @ApiOperation(value = "患者登录[by:rengb]")
+    @PostMapping("/signIn")
+    @SysLogger("signIn")
+    public RespDTO<List<SignInDTO>> signIn(@RequestBody SignInVO signInVO) {
+        return RespDTO.onSuc(patientInfoFacade.signIn(signInVO));
+    }
 
 }

+ 23 - 8
triage-service/src/main/java/com/diagbot/facade/AIFacade.java

@@ -2,7 +2,6 @@ package com.diagbot.facade;
 
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.TranServiceClient;
-import com.diagbot.client.bean.Feature;
 import com.diagbot.client.bean.FeatureRate;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
@@ -103,9 +102,13 @@ public class AIFacade {
                     FeatureRate item;
                     if (disFeatureMap.get("确诊") != null) {
                         List<FeatureRate> featureRateList = disFeatureMap.get("确诊");
-                        featureRateList = featureRateList.stream().filter(i -> i.getExtraProperty() != null).collect(Collectors.toList());
+                        featureRateList = featureRateList
+                                .stream()
+                                .filter(i -> i.getExtraProperty() != null)
+                                .collect(Collectors.toList());
                         if (ListUtil.isNotEmpty(featureRateList)) {
-                            Map<String, List<FeatureRate>> disMap = EntityUtil.makeEntityListMap(featureRateList, "extraProperty");
+                            Map<String, List<FeatureRate>> disMap
+                                    = EntityUtil.makeEntityListMap(featureRateList, "extraProperty");
                             List<Map.Entry<String, List<FeatureRate>>> list = new ArrayList<Map.Entry<String, List<FeatureRate>>>(disMap.entrySet());
                             Collections.sort(list, new Comparator<Map.Entry<String, List<FeatureRate>>>() {
                                 //降序排序
@@ -125,9 +128,13 @@ public class AIFacade {
                     }
                     if (disFeatureMap.get("拟诊") != null && ListUtil.isEmpty(items)) {
                         List<FeatureRate> featureRateList = disFeatureMap.get("拟诊");
-                        featureRateList = featureRateList.stream().filter(i -> i.getExtraProperty() != null).collect(Collectors.toList());
+                        featureRateList = featureRateList
+                                .stream()
+                                .filter(i -> i.getExtraProperty() != null)
+                                .collect(Collectors.toList());
                         if (ListUtil.isNotEmpty(featureRateList)) {
-                            Map<String, List<FeatureRate>> disMap = EntityUtil.makeEntityListMap(featureRateList, "extraProperty");
+                            Map<String, List<FeatureRate>> disMap
+                                    = EntityUtil.makeEntityListMap(featureRateList, "extraProperty");
                             List<Map.Entry<String, List<FeatureRate>>> list = new ArrayList<Map.Entry<String, List<FeatureRate>>>(disMap.entrySet());
                             Collections.sort(list, new Comparator<Map.Entry<String, List<FeatureRate>>>() {
                                 //降序排序
@@ -149,7 +156,11 @@ public class AIFacade {
                         Double rate;
                         Map<String, Double> map = new HashMap<>();
                         List<FeatureRate> featureRateList = disFeatureMap.get("可能诊断");
-                        featureRateList = featureRateList.stream().filter(i -> i.getExtraProperty() != null).filter(i -> i.getRate() != null).collect(Collectors.toList());
+                        featureRateList = featureRateList
+                                .stream()
+                                .filter(i -> i.getExtraProperty() != null)
+                                .filter(i -> i.getRate() != null)
+                                .collect(Collectors.toList());
                         for (FeatureRate featureRate : featureRateList) {
                             if (featureRate.getRate() != null && Double.valueOf(featureRate.getRate()) > 0.1d) {
                                 if (StringUtil.isNotBlank(featureRate.getExtraProperty())) {
@@ -190,8 +201,12 @@ public class AIFacade {
                     if (ListUtil.isNotEmpty(items)) {
                         HospitalDeptVO hospitalDeptVO = new HospitalDeptVO();
                         hospitalDeptVO.setHospitalCode(aivo.getHospitalCode());
-                        hospitalDeptVO.setConceptNames(items.stream().map(i -> i.getExtraProperty()).collect(Collectors.toList()));
-                        RespDTO<Map<String, List<HospitalDeptDTO>>> retDeptMap = tranServiceClient.hospitalDeptByConceptNames(hospitalDeptVO);
+                        hospitalDeptVO.setConceptNames(items
+                                .stream()
+                                .map(i -> i.getExtraProperty())
+                                .collect(Collectors.toList()));
+                        RespDTO<Map<String, List<HospitalDeptDTO>>> retDeptMap
+                                = tranServiceClient.hospitalDeptByConceptNames(hospitalDeptVO);
                         if (RespDTOUtil.respIsOK(retDeptMap)) {
                             Map<String, List<HospitalDeptDTO>> deptMap = retDeptMap.data;
                             for (FeatureRate item : items) {