瀏覽代碼

Merge branch 'dev/diagbotcloud20190918_vital' into dev/diagbotcloud20190924_diagnose2

gaodm 5 年之前
父節點
當前提交
cf73e02732
共有 100 個文件被更改,包括 651 次插入435 次删除
  1. 6 0
      aipt-service/pom.xml
  2. 412 0
      aipt-service/src/main/java/com/diagbot/aggregate/PushItemAggregate.java
  3. 1 1
      aipt-service/src/main/java/com/diagbot/enums/ConceptTypeEnum.java
  4. 1 1
      aipt-service/src/main/java/com/diagbot/enums/DisTypeEnum.java
  5. 1 1
      aipt-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  6. 1 1
      aipt-service/src/main/java/com/diagbot/enums/LexiconRSTypeEnum.java
  7. 1 1
      aipt-service/src/main/java/com/diagbot/enums/LexiconTypeEnum.java
  8. 1 1
      aipt-service/src/main/java/com/diagbot/enums/LisSourceEnum.java
  9. 1 1
      aipt-service/src/main/java/com/diagbot/enums/PositionTypeEnum.java
  10. 1 1
      aipt-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java
  11. 1 1
      aipt-service/src/main/java/com/diagbot/enums/ScaleTypeEnum.java
  12. 1 1
      aipt-service/src/main/java/com/diagbot/enums/StatusEnum.java
  13. 16 320
      aipt-service/src/main/java/com/diagbot/facade/PushFacade.java
  14. 10 5
      bi-service/src/main/java/com/diagbot/client/UserServiceClient.java
  15. 16 4
      bi-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java
  16. 26 2
      bi-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  17. 21 0
      bi-service/src/main/java/com/diagbot/entity/Token.java
  18. 1 1
      common/src/main/java/com/diagbot/enums/IsDeleteEnum.java
  19. 1 1
      common/src/main/java/com/diagbot/enums/IsValidEnum.java
  20. 1 1
      common/src/main/java/com/diagbot/enums/ProductTypeEnum.java
  21. 1 1
      common/src/main/java/com/diagbot/enums/SysTypeEnum.java
  22. 1 1
      common/src/main/java/com/diagbot/enums/VisibleIdTypeEnum.java
  23. 2 0
      config-server/src/main/resources/shared/aipt-service-dev.yml
  24. 2 0
      config-server/src/main/resources/shared/aipt-service-local.yml
  25. 2 0
      config-server/src/main/resources/shared/aipt-service-pro.yml
  26. 2 0
      config-server/src/main/resources/shared/aipt-service-test.yml
  27. 1 1
      data-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  28. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/AccessTypeEnum.java
  29. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/AuditStatusEnum.java
  30. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/AuthStatusEnum.java
  31. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/CancelRenewalsEnum.java
  32. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/ChargeTypeEnum.java
  33. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/NotPassEnum.java
  34. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/PaymentMethodEnum.java
  35. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/ProductAuditEnum.java
  36. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/RenewalsEnum.java
  37. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/ServiceTypeEnum.java
  38. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/StatusEnum.java
  39. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/TokenTypeEnum.java
  40. 1 1
      diagbotman-service/src/main/java/com/diagbot/enums/TrialStatusEnum.java
  41. 1 1
      icss-service/src/main/java/com/diagbot/enums/CalculateTypeEnum.java
  42. 1 1
      icss-service/src/main/java/com/diagbot/enums/ConceptTypeEnum.java
  43. 1 1
      icss-service/src/main/java/com/diagbot/enums/ControlTypeEnum.java
  44. 1 1
      icss-service/src/main/java/com/diagbot/enums/DisTypeEnum.java
  45. 1 1
      icss-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  46. 1 1
      icss-service/src/main/java/com/diagbot/enums/GBControlTypeEnum.java
  47. 1 1
      icss-service/src/main/java/com/diagbot/enums/InputModeEnum.java
  48. 1 1
      icss-service/src/main/java/com/diagbot/enums/IsReasonEnum.java
  49. 1 1
      icss-service/src/main/java/com/diagbot/enums/LisSourceEnum.java
  50. 1 1
      icss-service/src/main/java/com/diagbot/enums/QualitativeTypeEnum.java
  51. 1 1
      icss-service/src/main/java/com/diagbot/enums/QuantitativeTypeEnum.java
  52. 1 1
      icss-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java
  53. 1 1
      icss-service/src/main/java/com/diagbot/enums/ScaleTypeEnum.java
  54. 1 1
      icss-service/src/main/java/com/diagbot/enums/SexTypeEnum.java
  55. 1 1
      icss-service/src/main/java/com/diagbot/enums/StatusEnum.java
  56. 1 1
      icss-service/src/main/java/com/diagbot/enums/TagTypeEnum.java
  57. 1 1
      icssman-service/src/main/java/com/diagbot/enums/ConceptTypeEnum.java
  58. 1 1
      icssman-service/src/main/java/com/diagbot/enums/ControlTypeEnum.java
  59. 1 1
      icssman-service/src/main/java/com/diagbot/enums/DataSourcesEnums.java
  60. 1 1
      icssman-service/src/main/java/com/diagbot/enums/DisTypeEnum.java
  61. 1 1
      icssman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java
  62. 1 1
      icssman-service/src/main/java/com/diagbot/enums/IsReasonEnum.java
  63. 1 1
      icssman-service/src/main/java/com/diagbot/enums/ModuleInfoTypeEnum.java
  64. 1 1
      icssman-service/src/main/java/com/diagbot/enums/ModuleTypeEnum.java
  65. 1 1
      icssman-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java
  66. 1 1
      icssman-service/src/main/java/com/diagbot/enums/QuestionUsualTypeEnum.java
  67. 1 1
      icssman-service/src/main/java/com/diagbot/enums/StatusEnum.java
  68. 1 1
      icssman-service/src/main/java/com/diagbot/enums/TagTypeEnum.java
  69. 1 1
      icssman-service/src/main/java/com/diagbot/enums/UsualEnum.java
  70. 4 6
      icssman-service/src/main/java/com/diagbot/facade/ModuleDetailFacade.java
  71. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/ConceptTypeEnum.java
  72. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseFeatureTypeEnum.java
  73. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseFieldEnum.java
  74. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseTypeEnum.java
  75. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/DisclaimerCodeEnum.java
  76. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/DiseaseClassifyEnum.java
  77. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/HasQuestionEnum.java
  78. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java
  79. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/LexiconRSTypeEnum.java
  80. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/LexiconTypeEnum.java
  81. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/PositionTypeEnum.java
  82. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/RelationModelTypeEnum.java
  83. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/StatusEnum.java
  84. 1 1
      knowledgeman-service/src/main/java/com/diagbot/enums/TermEnum.java
  85. 17 8
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  86. 22 3
      knowledgeman-service/src/main/java/com/diagbot/facade/LisMappingFacade.java
  87. 9 3
      knowledgeman-service/src/main/resources/mapper/LisMappingMapper.xml
  88. 1 1
      ltapi-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  89. 1 1
      prec-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  90. 1 1
      prec-service/src/main/java/com/diagbot/enums/PhysicalTypeEnum.java
  91. 1 1
      prec-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java
  92. 1 1
      prec-service/src/main/java/com/diagbot/enums/SexEnum.java
  93. 1 1
      precman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java
  94. 1 1
      precman-service/src/main/java/com/diagbot/enums/ModuleInfoTypeEnum.java
  95. 1 1
      precman-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java
  96. 1 1
      precman-service/src/main/java/com/diagbot/enums/TagTypeEnum.java
  97. 1 1
      tran-service/src/main/java/com/diagbot/enums/SexTypeEnum.java
  98. 1 1
      tran-service/src/main/java/com/diagbot/enums/StatusEnum.java
  99. 1 1
      tran-service/src/main/java/com/diagbot/enums/TypeEnum.java
  100. 0 0
      triage-service/src/main/java/com/diagbot/enums/ShowTypeEnum.java

+ 6 - 0
aipt-service/pom.xml

@@ -154,6 +154,12 @@
             <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>io.github.lvyahui8</groupId>
+            <artifactId>spring-boot-data-aggregator-starter</artifactId>
+            <version>1.1.0</version>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 412 - 0
aipt-service/src/main/java/com/diagbot/aggregate/PushItemAggregate.java

@@ -0,0 +1,412 @@
+package com.diagbot.aggregate;
+
+import com.alibaba.fastjson.JSONObject;
+import com.diagbot.client.TranServiceClient;
+import com.diagbot.client.bean.FeatureRate;
+import com.diagbot.client.bean.HosCodeVO;
+import com.diagbot.client.bean.MedicalIndication;
+import com.diagbot.client.bean.MedicalIndicationDetail;
+import com.diagbot.client.bean.ResponseData;
+import com.diagbot.dto.ConceptPushDTO;
+import com.diagbot.dto.PushDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.Concept;
+import com.diagbot.enums.ConceptTypeEnum;
+import com.diagbot.enums.FeatureTypeEnum;
+import com.diagbot.enums.LexiconTypeEnum;
+import com.diagbot.facade.ConceptFacade;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.FastJsonUtils;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.ParamConvertUtil;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.ConceptBaseVO;
+import com.diagbot.vo.LisConfigVO;
+import com.google.common.collect.Lists;
+import io.github.lvyahui8.spring.annotation.DataConsumer;
+import io.github.lvyahui8.spring.annotation.DataProvider;
+import io.github.lvyahui8.spring.annotation.InvokeParameter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2019/10/17 11:32
+ */
+@Component
+public class PushItemAggregate {
+
+    @Autowired
+    private ConceptFacade conceptFacade;
+    @Autowired
+    private TranServiceClient tranServiceClient;
+
+    @DataProvider("setAll")
+    public PushDTO setAll(
+            @InvokeParameter("pushDTO") PushDTO pushDTO,
+            @DataConsumer("getDept") ConceptPushDTO dept,
+            @DataConsumer("setSymptom") List<ConceptPushDTO> symptom,
+            @DataConsumer("setVital") List<ConceptPushDTO> vital,
+            @DataConsumer("setLab") List<ConceptPushDTO> lab,
+            @DataConsumer("setPacs") List<ConceptPushDTO> pacs,
+            @DataConsumer("setDis") Map<String, List<ConceptPushDTO>> dis,
+            @DataConsumer("setMedicalIndications") List<MedicalIndication> medicalIndications) {
+        if (null != dept) {
+            pushDTO.setDept(dept);
+        }
+        if (ListUtil.isNotEmpty(symptom)) {
+            pushDTO.setSymptom(symptom);
+        }
+        if (ListUtil.isNotEmpty(vital)) {
+            pushDTO.setVital(vital);
+        }
+        if (ListUtil.isNotEmpty(lab)) {
+            pushDTO.setLab(lab);
+        }
+        if (ListUtil.isNotEmpty(pacs)) {
+            pushDTO.setPacs(pacs);
+        }
+        if (null != dis) {
+            pushDTO.setDis(dis);
+        }
+        if (ListUtil.isNotEmpty(medicalIndications)) {
+            pushDTO.setMedicalIndications(medicalIndications);
+        }
+        return pushDTO;
+    }
+
+    /**
+     * 根据诊断推送确定科室
+     *
+     * @param dis
+     * @return
+     */
+    @DataProvider("getDept")
+    public ConceptPushDTO getDept(@InvokeParameter("dis") List<FeatureRate> dis) {
+        String deptName = "";
+        if (ListUtil.isNotEmpty(dis)) {
+            for (FeatureRate featureRate : dis) {
+                if (StringUtil.isNotBlank(featureRate.getExtraProperty())) {
+                    deptName = featureRate.getExtraProperty();
+                    break;
+                }
+            }
+        }
+        //没有推送信息时,默认取全科模板
+        if (StringUtil.isBlank(deptName)) {
+            deptName = "全科";
+        }
+        ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
+        conceptBaseVO.setName(deptName);
+        conceptBaseVO.setLibType(LexiconTypeEnum.DEPARTMENT.getKey());
+        ConceptPushDTO deptDTO = new ConceptPushDTO();
+        Concept dept = conceptFacade.getConcept(conceptBaseVO);
+        if (dept == null && deptName.equals("全科") == false) {
+            deptName = "全科";
+            conceptBaseVO.setName(deptName);
+            dept = conceptFacade.getConcept(conceptBaseVO);
+        }
+        if (dept != null) {
+            deptDTO.setName(deptName);
+            deptDTO.setConceptId(dept.getId());
+            deptDTO.setLibType(ConceptTypeEnum.DEPARTMENT.getKey());
+        }
+        return deptDTO;
+    }
+
+    @DataProvider("setSymptom")
+    public List<ConceptPushDTO> setSymptom(@InvokeParameter("featureTypeSet") Set<String> featureTypeSet,
+                                           @InvokeParameter("data") ResponseData data) {
+        List<ConceptPushDTO> symptomRes = ListUtil.newArrayList();
+        //症状 概念列表
+        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());
+                if (ListUtil.isNotEmpty(nameList)) {
+                    symptomRes = getConceptDTOList(nameList, LexiconTypeEnum.SYMPTOM.getKey());
+                }
+            }
+        }
+        return symptomRes;
+    }
+
+    @DataProvider("setVital")
+    public List<ConceptPushDTO> setVital(@InvokeParameter("featureTypeSet") Set<String> featureTypeSet,
+                                         @InvokeParameter("data") ResponseData data) {
+        List<ConceptPushDTO> vitalRes = ListUtil.newArrayList();
+        //查体 查体结果
+        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());
+                if (ListUtil.isNotEmpty(nameList)) {
+                    vitalRes = getConceptDTOList(nameList, LexiconTypeEnum.VITAL_RESULT.getKey());
+                }
+            }
+        }
+
+        //查体 查体指标
+        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());
+                if (ListUtil.isNotEmpty(nameList)) {
+                    vitalRes = getConceptDTOList(nameList, LexiconTypeEnum.VITAL_INDEX.getKey());
+                }
+            }
+        }
+        return vitalRes;
+    }
+
+    @DataProvider("setLab")
+    public List<ConceptPushDTO> setLab(@InvokeParameter("featureTypeSet") Set<String> featureTypeSet,
+                                       @InvokeParameter("data") ResponseData data,
+                                       @InvokeParameter("isConnect") Boolean isConnect,
+                                       @InvokeParameter("hosCode") String hosCode) {
+        List<ConceptPushDTO> labRes = ListUtil.newArrayList();
+        //化验 概念列表-公表项
+        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());
+                if (ListUtil.isNotEmpty(nameList)) {
+                    List<ConceptPushDTO> lisDTO = getConceptDTOList(nameList, LexiconTypeEnum.LIS_PACKAGE.getKey());
+                    if (isConnect) {
+                        lisDTO = addClientName(lisDTO, hosCode, ConceptTypeEnum.Lis.getKey());
+                        //lisDTO = removeLisDetail(lisDTO);
+                    }
+                    labRes = lisDTO;
+                }
+            }
+        }
+        return labRes;
+    }
+
+    @DataProvider("setPacs")
+    public List<ConceptPushDTO> setPacs(@InvokeParameter("featureTypeSet") Set<String> featureTypeSet,
+                                        @InvokeParameter("data") ResponseData data,
+                                        @InvokeParameter("isConnect") Boolean isConnect,
+                                        @InvokeParameter("hosCode") String hosCode) {
+        List<ConceptPushDTO> labRes = ListUtil.newArrayList();
+        //辅检 概念列表
+        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());
+                if (ListUtil.isNotEmpty(nameList)) {
+                    List<ConceptPushDTO> pacsDTO = getConceptDTOList(nameList, LexiconTypeEnum.PACS_ITEMS.getKey());
+                    if (isConnect) {
+                        pacsDTO = addClientName(pacsDTO, hosCode, ConceptTypeEnum.Pacs.getKey());
+                    }
+                    labRes = pacsDTO;
+                }
+            }
+        }
+        return labRes;
+    }
+
+    @DataProvider("setDis")
+    public Map<String, List<ConceptPushDTO>> setDis(@InvokeParameter("featureTypeSet") Set<String> featureTypeSet,
+                                                    @InvokeParameter("dis") List<FeatureRate> dis,
+                                                    @InvokeParameter("isConnect") Boolean isConnect,
+                                                    @InvokeParameter("hosCode") String hosCode) {
+        Map<String, List<ConceptPushDTO>> disRes = new HashMap<>();
+        //诊断 map
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Disease.getKey()))) {
+            if (ListUtil.isNotEmpty(dis)) {
+                Map<String, List<ConceptPushDTO>> disMapDTO = new LinkedHashMap<>();
+                Map<String, List<FeatureRate>> disFeatureMap = new LinkedHashMap<>();
+                //诊断分类
+                for (FeatureRate featureRate : dis) {
+                    if (StringUtil.isBlank(featureRate.getDesc())) {
+                        featureRate.setDesc("{\"可能诊断\":\"\"}");
+                    }
+                    Map<String, Object> descMap = FastJsonUtils.getJsonToMap(featureRate.getDesc());
+                    for (String disClass : descMap.keySet()) {
+                        List<FeatureRate> featureRateList = Lists.newLinkedList();
+                        if (disFeatureMap.get(disClass) != null) {
+                            featureRateList = disFeatureMap.get(disClass);
+                        }
+                        featureRateList.add(featureRate);
+                        disFeatureMap.put(disClass, featureRateList);
+                    }
+                }
+                for (Map.Entry<String, List<FeatureRate>> entry : disFeatureMap.entrySet()) {
+                    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());
+                        if (isConnect) {
+                            disDTO = addClientName(disDTO, hosCode, ConceptTypeEnum.Disease.getKey());
+                        }
+                        disMapDTO.put(entry.getKey(), disDTO);
+                    }
+                }
+                disRes = disMapDTO;
+            }
+        }
+        return disRes;
+    }
+
+    @DataProvider("setMedicalIndications")
+    public List<MedicalIndication> setMedicalIndications(@InvokeParameter("featureTypeSet") Set<String> featureTypeSet,
+                                                         @InvokeParameter("data") ResponseData data) {
+        List<MedicalIndication> medicalIndicationRes = ListUtil.newArrayList();
+        //核心指标 list
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Indication.getKey()))) {
+            List<MedicalIndication> medicalIndicationList = data.getMedicalIndications();
+            ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
+            if (ListUtil.isNotEmpty(medicalIndicationList)) {
+                for (MedicalIndication medicalIndication : medicalIndicationList) {
+                    medicalIndication.setLibType(LexiconTypeEnum.CORE_INDICATORS.getKey());
+                    medicalIndication.setType(ConceptTypeEnum.Indication.getKey());
+                    //关联概念,增加概念id
+                    conceptBaseVO.setName(medicalIndication.getName());
+                    conceptBaseVO.setLibType(LexiconTypeEnum.CORE_INDICATORS.getKey());
+                    Concept medConcept = conceptFacade.getConcept(conceptBaseVO);
+                    if (medConcept != null) {
+                        medicalIndication.setConceptId(medConcept.getId());
+                    }
+                    if (ListUtil.isNotEmpty(medicalIndication.getDetails())) {
+                        for (MedicalIndicationDetail detail : medicalIndication.getDetails()) {
+                            //量表,增加概念id;其他类型保留图谱返回结果
+                            if (detail.getType().equals(1)) {
+                                JSONObject scaleJson = detail.getContent();
+                                if (null != scaleJson.get("name")) {
+                                    String scaleName = scaleJson.get("name").toString();
+                                    conceptBaseVO.setName(scaleName);
+                                    conceptBaseVO.setLibType(LexiconTypeEnum.GAUGE.getKey());
+                                    Concept scaleConcept = conceptFacade.getConcept(conceptBaseVO);
+                                    scaleJson.put("libType", LexiconTypeEnum.GAUGE.getKey());
+                                    scaleJson.put("type", ConceptTypeEnum.Scale.getKey());
+                                    if (scaleConcept != null) {
+                                        scaleJson.put("conceptId", scaleConcept.getId());
+                                    } else {
+                                        scaleJson.put("conceptId", null);
+                                    }
+                                    detail.setContent(scaleJson);
+                                }
+                            }
+                        }
+                    }
+                }
+                medicalIndicationRes = medicalIndicationList;
+            }
+        }
+        return medicalIndicationRes;
+    }
+
+
+    /**
+     * 推理返回概念
+     *
+     * @param nameList
+     * @param libType
+     * @return
+     */
+    public List<ConceptPushDTO> getConceptDTOList(List<String> nameList, Integer libType) {
+        List<Concept> concepts = conceptFacade.getListByNamesAndType(nameList, libType);
+        Map<String, Concept> conceptMap = EntityUtil.makeEntityMap(concepts, "libName");
+        List<ConceptPushDTO> conceptDTOS = Lists.newLinkedList();
+        for (String name : nameList) {
+            ConceptPushDTO conceptDTO = new ConceptPushDTO();
+            conceptDTO.setName(name);
+            conceptDTO.setLibType(libType);
+            conceptDTO.setType(ParamConvertUtil.libConvert2Concept(libType));
+            if (conceptMap.containsKey(name) && conceptMap.get(name) != null) {
+                Concept concept = conceptMap.get(name);
+                conceptDTO.setConceptId(concept.getId());
+            }
+            conceptDTOS.add(conceptDTO);
+        }
+        return conceptDTOS;
+    }
+
+
+    /**
+     * 添加外部名称(调用方)
+     *
+     * @param concepts
+     * @param hosCode
+     * @param type
+     * @return
+     */
+    public List<ConceptPushDTO> addClientName(List<ConceptPushDTO> concepts, String hosCode, Integer type) {
+        HosCodeVO hosCodeVO = new HosCodeVO();
+        hosCodeVO.setHosCode(hosCode);
+        LisConfigVO lisConfigVO = new LisConfigVO();
+        lisConfigVO.setHosCode(hosCode);
+        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);
+            if (RespDTOUtil.respIsOK(lisRes)) {
+                Map<String, List<String>> lisMappingByUniqueName = lisRes.data;
+                for (ConceptPushDTO concept : concepts) {
+                    List<String> clientNames = lisMappingByUniqueName.get(concept.getName());
+                    if (ListUtil.isNotEmpty(clientNames)) {
+                        concept.setClientNames(clientNames);
+                    }
+                }
+            }
+        } else if (type.equals(ConceptTypeEnum.Pacs.getKey())) {
+            RespDTO<Map<String, List<String>>> pacsRes
+                    = tranServiceClient.getPacsConfigByUniqueNameAndHosCode(hosCodeVO);
+            if (RespDTOUtil.respIsOK(pacsRes)) {
+                Map<String, List<String>> pacsConfigMapByUniqueName = pacsRes.data;
+                for (ConceptPushDTO concept : concepts) {
+                    List<String> clientNames = pacsConfigMapByUniqueName.get(concept.getName());
+                    if (ListUtil.isNotEmpty(clientNames)) {
+                        concept.setClientNames(clientNames);
+                    }
+                }
+            }
+        } else if (type.equals(ConceptTypeEnum.Disease.getKey())) {
+            RespDTO<Map<String, String>> disRes = tranServiceClient.getDiseaseIcdByHosCode(hosCodeVO);
+            if (RespDTOUtil.respIsOK(disRes)) {
+                Map<String, String> disMap = disRes.data;
+                for (ConceptPushDTO concept : concepts) {
+                    String clientName = disMap.get(concept.getName());
+                    if (StringUtil.isNotBlank(clientName)) {
+                        List<String> clientNames = Lists.newLinkedList();
+                        clientNames.add(clientName);
+                        concept.setClientNames(clientNames);
+                    }
+                }
+            }
+        }
+        return concepts;
+    }
+}

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/ConceptTypeEnum.java

@@ -41,7 +41,7 @@ public enum ConceptTypeEnum implements KeyedNamed {
 
     public static ConceptTypeEnum getEnum(Integer key) {
         for (ConceptTypeEnum item : ConceptTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/DisTypeEnum.java

@@ -25,7 +25,7 @@ public enum DisTypeEnum implements KeyedNamed {
 
     public static DisTypeEnum getEnum(Integer key) {
         for (DisTypeEnum item : DisTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -35,7 +35,7 @@ public enum FeatureTypeEnum implements KeyedNamed {
 
     public static FeatureTypeEnum getEnum(Integer key) {
         for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/LexiconRSTypeEnum.java

@@ -42,7 +42,7 @@ public enum LexiconRSTypeEnum implements KeyedNamed {
 
     public static LexiconRSTypeEnum getEnum(Integer key) {
         for (LexiconRSTypeEnum item : LexiconRSTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/LexiconTypeEnum.java

@@ -95,7 +95,7 @@ public enum LexiconTypeEnum implements KeyedNamed {
 
     public static LexiconTypeEnum getEnum(Integer key) {
         for (LexiconTypeEnum item : LexiconTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/LisSourceEnum.java

@@ -25,7 +25,7 @@ public enum LisSourceEnum implements KeyedNamed {
 
     public static LisSourceEnum getEnum(Integer key) {
         for (LisSourceEnum item : LisSourceEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/PositionTypeEnum.java

@@ -30,7 +30,7 @@ public enum PositionTypeEnum implements KeyedNamed {
 
     public static PositionTypeEnum getEnum(Integer key) {
         for (PositionTypeEnum item : PositionTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java

@@ -34,7 +34,7 @@ public enum QuestionTypeEnum implements KeyedNamed {
 
     public static QuestionTypeEnum getEnum(Integer key) {
         for (QuestionTypeEnum item : QuestionTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/ScaleTypeEnum.java

@@ -26,7 +26,7 @@ public enum ScaleTypeEnum implements KeyedNamed {
 
     public static ScaleTypeEnum getEnum(Integer key) {
         for (ScaleTypeEnum item : ScaleTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/enums/StatusEnum.java

@@ -26,7 +26,7 @@ public enum StatusEnum implements KeyedNamed {
 
     public static StatusEnum getEnum(Integer key) {
         for (StatusEnum item : StatusEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 16 - 320
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -4,37 +4,28 @@ import com.alibaba.fastjson.JSONObject;
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.client.bean.FeatureRate;
 import com.diagbot.client.bean.HosCodeVO;
-import com.diagbot.client.bean.MedicalIndication;
-import com.diagbot.client.bean.MedicalIndicationDetail;
 import com.diagbot.client.bean.ResponseData;
-import com.diagbot.dto.ConceptPushDTO;
 import com.diagbot.dto.LisResult;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.SysSetInfoDTO;
-import com.diagbot.entity.Concept;
-import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.enums.FeatureTypeEnum;
-import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.enums.LisSourceEnum;
 import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
-import com.diagbot.util.EntityUtil;
-import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.ListUtil;
-import com.diagbot.util.ParamConvertUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
-import com.diagbot.vo.ConceptBaseVO;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.LisConfigVO;
 import com.diagbot.vo.SearchVo;
-import com.google.common.collect.Lists;
+import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -52,11 +43,11 @@ public class PushFacade {
     @Autowired
     private ClinicalFacade clinicalFacade;
     @Autowired
-    private ConceptFacade conceptFacade;
-    @Autowired
     private TreatmentFacade treatmentFacade;
     @Autowired
     private TranServiceClient tranServiceClient;
+    @Autowired
+    DataBeanAggregateQueryFacade dataBeanAggregateQueryFacade;
 
     /**
      * 推理接口
@@ -109,160 +100,19 @@ public class PushFacade {
 
         //确定推送科室
         List<FeatureRate> dis = data.getDis();
-        pushDTO.setDept(getDept(dis));
-
-        //症状 概念列表
-        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());
-                if (ListUtil.isNotEmpty(nameList)) {
-                    pushDTO.setSymptom(getConceptDTOList(nameList, LexiconTypeEnum.SYMPTOM.getKey()));
-                }
-            }
-        }
-        //查体 查体结果
-        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());
-                if (ListUtil.isNotEmpty(nameList)) {
-                    pushDTO.setVital(getConceptDTOList(nameList, LexiconTypeEnum.VITAL_RESULT.getKey()));
-                }
-            }
-        }
-        //查体 查体指标
-        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());
-                if (ListUtil.isNotEmpty(nameList)) {
-                    pushDTO.setVital(getConceptDTOList(nameList, LexiconTypeEnum.VITAL_INDEX.getKey()));
-                }
-            }
-        }
 
-        //化验 概念列表-公表项
-        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());
-                if (ListUtil.isNotEmpty(nameList)) {
-                    List<ConceptPushDTO> lisDTO = getConceptDTOList(nameList, LexiconTypeEnum.LIS_PACKAGE.getKey());
-                    if (isConnect) {
-                        lisDTO = addClientName(lisDTO, searchVo.getHosCode(), ConceptTypeEnum.Lis.getKey());
-                        //lisDTO = removeLisDetail(lisDTO);
-                    }
-                    pushDTO.setLab(lisDTO);
-                }
-            }
-        }
-        //辅检 概念列表
-        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());
-                if (ListUtil.isNotEmpty(nameList)) {
-                    List<ConceptPushDTO> pacsDTO = getConceptDTOList(nameList, LexiconTypeEnum.PACS_ITEMS.getKey());
-                    if (isConnect) {
-                        pacsDTO = addClientName(pacsDTO, searchVo.getHosCode(), ConceptTypeEnum.Pacs.getKey());
-                    }
-                    pushDTO.setPacs(pacsDTO);
-                }
-            }
-        }
-        //诊断 map
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Disease.getKey()))) {
-            if (ListUtil.isNotEmpty(dis)) {
-                Map<String, List<ConceptPushDTO>> disMapDTO = new LinkedHashMap<>();
-                Map<String, List<FeatureRate>> disFeatureMap = new LinkedHashMap<>();
-                //诊断分类
-                for (FeatureRate featureRate : dis) {
-                    if (StringUtil.isBlank(featureRate.getDesc())) {
-                        featureRate.setDesc("{\"可能诊断\":\"\"}");
-                    }
-                    Map<String, Object> descMap = FastJsonUtils.getJsonToMap(featureRate.getDesc());
-                    for (String disClass : descMap.keySet()) {
-                        List<FeatureRate> featureRateList = Lists.newLinkedList();
-                        if (disFeatureMap.get(disClass) != null) {
-                            featureRateList = disFeatureMap.get(disClass);
-                        }
-                        featureRateList.add(featureRate);
-                        disFeatureMap.put(disClass, featureRateList);
-                    }
-                }
-                for (Map.Entry<String, List<FeatureRate>> entry : disFeatureMap.entrySet()) {
-                    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());
-                        if (isConnect) {
-                            disDTO = addClientName(disDTO, searchVo.getHosCode(), ConceptTypeEnum.Disease.getKey());
-                        }
-                        disMapDTO.put(entry.getKey(), disDTO);
-                    }
-                }
-                pushDTO.setDis(disMapDTO);
-            }
-        }
-        //核心指标 list
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Indication.getKey()))) {
-            List<MedicalIndication> medicalIndicationList = data.getMedicalIndications();
-            ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
-            if (ListUtil.isNotEmpty(medicalIndicationList)) {
-                for (MedicalIndication medicalIndication : medicalIndicationList) {
-                    medicalIndication.setLibType(LexiconTypeEnum.CORE_INDICATORS.getKey());
-                    medicalIndication.setType(ConceptTypeEnum.Indication.getKey());
-                    //关联概念,增加概念id
-                    conceptBaseVO.setName(medicalIndication.getName());
-                    conceptBaseVO.setLibType(LexiconTypeEnum.CORE_INDICATORS.getKey());
-                    Concept medConcept = conceptFacade.getConcept(conceptBaseVO);
-                    if (medConcept != null) {
-                        medicalIndication.setConceptId(medConcept.getId());
-                    }
-                    if (ListUtil.isNotEmpty(medicalIndication.getDetails())) {
-                        for (MedicalIndicationDetail detail : medicalIndication.getDetails()) {
-                            //量表,增加概念id;其他类型保留图谱返回结果
-                            if (detail.getType().equals(1)) {
-                                JSONObject scaleJson = detail.getContent();
-                                if (null != scaleJson.get("name")) {
-                                    String scaleName = scaleJson.get("name").toString();
-                                    conceptBaseVO.setName(scaleName);
-                                    conceptBaseVO.setLibType(LexiconTypeEnum.GAUGE.getKey());
-                                    Concept scaleConcept = conceptFacade.getConcept(conceptBaseVO);
-                                    scaleJson.put("libType", LexiconTypeEnum.GAUGE.getKey());
-                                    scaleJson.put("type", ConceptTypeEnum.Scale.getKey());
-                                    if (scaleConcept != null) {
-                                        scaleJson.put("conceptId", scaleConcept.getId());
-                                    } else {
-                                        scaleJson.put("conceptId", null);
-                                    }
-                                    detail.setContent(scaleJson);
-                                }
-                            }
-                        }
-                    }
-                }
-                pushDTO.setMedicalIndications(medicalIndicationList);
-            }
+        try {
+            Map<String, Object> invokeParams = new HashMap<>();
+            invokeParams.put("pushDTO", pushDTO);
+            invokeParams.put("featureTypeSet", featureTypeSet);
+            invokeParams.put("data", data);
+            invokeParams.put("isConnect", isConnect);
+            invokeParams.put("hosCode", searchVo.getHosCode());
+            invokeParams.put("dis", dis);
+            pushDTO
+                    = dataBeanAggregateQueryFacade.get("setAll", invokeParams, PushDTO.class);
+        } catch (Exception e) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
         }
         return pushDTO;
     }
@@ -314,69 +164,6 @@ public class PushFacade {
         return treatmentMap;
     }
 
-    /**
-     * 推理返回概念
-     *
-     * @param nameList
-     * @param libType
-     * @return
-     */
-    public List<ConceptPushDTO> getConceptDTOList(List<String> nameList, Integer libType) {
-        List<Concept> concepts = conceptFacade.getListByNamesAndType(nameList, libType);
-        Map<String, Concept> conceptMap = EntityUtil.makeEntityMap(concepts, "libName");
-        List<ConceptPushDTO> conceptDTOS = Lists.newLinkedList();
-        for (String name : nameList) {
-            ConceptPushDTO conceptDTO = new ConceptPushDTO();
-            conceptDTO.setName(name);
-            conceptDTO.setLibType(libType);
-            conceptDTO.setType(ParamConvertUtil.libConvert2Concept(libType));
-            if (conceptMap.containsKey(name) && conceptMap.get(name) != null) {
-                Concept concept = conceptMap.get(name);
-                conceptDTO.setConceptId(concept.getId());
-            }
-            conceptDTOS.add(conceptDTO);
-        }
-        return conceptDTOS;
-    }
-
-    /**
-     * 根据诊断推送确定科室
-     *
-     * @param dis
-     * @return
-     */
-    public ConceptPushDTO getDept(List<FeatureRate> dis) {
-        String deptName = "";
-        if (ListUtil.isNotEmpty(dis)) {
-            for (FeatureRate featureRate : dis) {
-                if (StringUtil.isNotBlank(featureRate.getExtraProperty())) {
-                    deptName = featureRate.getExtraProperty();
-                    break;
-                }
-            }
-        }
-        //没有推送信息时,默认取全科模板
-        if (StringUtil.isBlank(deptName)) {
-            deptName = "全科";
-        }
-        ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
-        conceptBaseVO.setName(deptName);
-        conceptBaseVO.setLibType(LexiconTypeEnum.DEPARTMENT.getKey());
-        ConceptPushDTO deptDTO = new ConceptPushDTO();
-        Concept dept = conceptFacade.getConcept(conceptBaseVO);
-        if (dept == null && deptName.equals("全科") == false) {
-            deptName = "全科";
-            conceptBaseVO.setName(deptName);
-            dept = conceptFacade.getConcept(conceptBaseVO);
-        }
-        if (dept != null) {
-            deptDTO.setName(deptName);
-            deptDTO.setConceptId(dept.getId());
-            deptDTO.setLibType(ConceptTypeEnum.DEPARTMENT.getKey());
-        }
-        return deptDTO;
-    }
-
     /**
      * 增加化验公表项
      *
@@ -413,95 +200,4 @@ public class PushFacade {
         }
         return lisResults;
     }
-
-    /**
-     * 添加外部名称(调用方)
-     *
-     * @param concepts
-     * @param hosCode
-     * @param type
-     * @return
-     */
-    public List<ConceptPushDTO> addClientName(List<ConceptPushDTO> concepts, String hosCode, Integer type) {
-        HosCodeVO hosCodeVO = new HosCodeVO();
-        hosCodeVO.setHosCode(hosCode);
-        LisConfigVO lisConfigVO = new LisConfigVO();
-        lisConfigVO.setHosCode(hosCode);
-        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);
-            if (RespDTOUtil.respIsOK(lisRes)) {
-                Map<String, List<String>> lisMappingByUniqueName = lisRes.data;
-                for (ConceptPushDTO concept : concepts) {
-                    List<String> clientNames = lisMappingByUniqueName.get(concept.getName());
-                    if (ListUtil.isNotEmpty(clientNames)) {
-                        concept.setClientNames(clientNames);
-                    }
-                }
-            }
-        } else if (type.equals(ConceptTypeEnum.Pacs.getKey())) {
-            RespDTO<Map<String, List<String>>> pacsRes
-                    = tranServiceClient.getPacsConfigByUniqueNameAndHosCode(hosCodeVO);
-            if (RespDTOUtil.respIsOK(pacsRes)) {
-                Map<String, List<String>> pacsConfigMapByUniqueName = pacsRes.data;
-                for (ConceptPushDTO concept : concepts) {
-                    List<String> clientNames = pacsConfigMapByUniqueName.get(concept.getName());
-                    if (ListUtil.isNotEmpty(clientNames)) {
-                        concept.setClientNames(clientNames);
-                    }
-                }
-            }
-        } else if (type.equals(ConceptTypeEnum.Disease.getKey())) {
-            RespDTO<Map<String, String>> disRes = tranServiceClient.getDiseaseIcdByHosCode(hosCodeVO);
-            if (RespDTOUtil.respIsOK(disRes)) {
-                Map<String, String> disMap = disRes.data;
-                for (ConceptPushDTO concept : concepts) {
-                    String clientName = disMap.get(concept.getName());
-                    if (StringUtil.isNotBlank(clientName)) {
-                        List<String> clientNames = Lists.newLinkedList();
-                        clientNames.add(clientName);
-                        concept.setClientNames(clientNames);
-                    }
-                }
-            }
-        }
-        return concepts;
-    }
-
-    /**
-     * 外部化验返回时,公表匹配出套餐,保留套餐,删除细项;否则保留公表
-     *
-     * @param lisDTO
-     * @return
-     */
-    /*public List<ConceptPushDTO> removeLisDetail(List<ConceptPushDTO> lisDTO) {
-        List<ConceptPushDTO> retLisDTO = Lists.newLinkedList();
-        if (ListUtil.isEmpty(lisDTO)) {
-            return retLisDTO;
-        }
-        List<String> mealNameList = lisDTO.stream().map(lis -> lis.getClientName()).filter(mealName -> mealName != null && mealName != "").distinct().collect(Collectors.toList());
-        List<ConceptPushDTO> mealConceptList = getConceptDTOList(mealNameList, LexiconTypeEnum.LIS_TABLES.getKey());
-        Map<String, ConceptPushDTO> mealConceptMap = EntityUtil.makeEntityMap(mealConceptList, "name");
-        List<String> addedName = Lists.newLinkedList();
-        for (ConceptPushDTO conceptPushDTO : lisDTO) {
-            if (addedName.contains(conceptPushDTO.getName())) {
-                continue;
-            }
-            if (StringUtil.isBlank(conceptPushDTO.getClientName()) || conceptPushDTO.getClientName().equals(conceptPushDTO.getName())) {
-                addedName.add(conceptPushDTO.getName());
-                retLisDTO.add(conceptPushDTO);
-            } else {
-                ConceptPushDTO conceptPushDTOConvert = mealConceptMap.get(conceptPushDTO.getClientName());
-                conceptPushDTOConvert.setClientName(conceptPushDTO.getClientName());
-                addedName.add(conceptPushDTOConvert.getName());
-                retLisDTO.add(conceptPushDTOConvert);
-            }
-        }
-        return retLisDTO;
-    }*/
 }

+ 10 - 5
bi-service/src/main/java/com/diagbot/client/UserServiceClient.java

@@ -2,11 +2,13 @@ package com.diagbot.client;
 
 import com.diagbot.client.hystrix.UserServiceHystrix;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.User;
+import com.diagbot.entity.Token;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -17,8 +19,11 @@ import org.springframework.web.bind.annotation.RequestHeader;
 @FeignClient(value = "user-service", fallback = UserServiceHystrix.class)
 public interface UserServiceClient {
 
-    @PostMapping(value = "/user/{username}")
-    RespDTO<User> getUser(@RequestHeader(value = "Authorization") String token, @PathVariable("username") String username);
+    @PostMapping(value = "/user/getUserInfoByIds")
+    RespDTO<Map<String, String>> getUserInfoByIds(@RequestBody List<String> ids);
+
+    @PostMapping("/user/verifyToken")
+    RespDTO<Boolean> verifyToken(@RequestBody Token token);
 }
 
 

+ 16 - 4
bi-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java

@@ -2,8 +2,13 @@ package com.diagbot.client.hystrix;
 
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.User;
+import com.diagbot.entity.Token;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -12,12 +17,19 @@ import org.springframework.stereotype.Component;
  * @time: 2018/8/6 9:52
  */
 @Component
+@Slf4j
 public class UserServiceHystrix implements UserServiceClient {
 
     @Override
-    public RespDTO<User> getUser(String token, String username) {
-        System.out.println(token);
-        System.out.println(username);
+    public RespDTO<Map<String, String>> getUserInfoByIds(@RequestBody List<String> ids) {
+        log.error("【hystrix】调用{}异常", "getUserInfoByIds");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> verifyToken(Token token) {
+        log.error("【hystrix】调用{}异常", "verifyToken");
         return null;
     }
+
 }

+ 26 - 2
bi-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -1,8 +1,16 @@
 package com.diagbot.config.security;
 
+import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.Token;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.util.HttpUtils;
+import com.diagbot.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.AccessDecisionManager;
 import org.springframework.security.access.AccessDeniedException;
 import org.springframework.security.access.ConfigAttribute;
+import org.springframework.security.authentication.AccountExpiredException;
 import org.springframework.security.authentication.InsufficientAuthenticationException;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.GrantedAuthority;
@@ -13,7 +21,6 @@ import org.springframework.stereotype.Service;
 import javax.servlet.http.HttpServletRequest;
 import java.util.Collection;
 
-
 /**
  * @Description: 自定义权限拦截
  * @author: gaodm
@@ -21,6 +28,9 @@ import java.util.Collection;
  */
 @Service
 public class UrlAccessDecisionManager implements AccessDecisionManager {
+    @Autowired
+    private UserServiceClient userServiceClient;
+
     @Override
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
@@ -31,6 +41,20 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
         if ("anonymousUser".equals(authentication.getPrincipal())) {
             throw new AccessDeniedException("no right");
         } else {
+            //验证token有效性
+            String tokenStr = HttpUtils.getHeaders(request).get("Authorization");
+            if (StringUtil.isNotEmpty(tokenStr)) {
+                Token token = new Token();
+                tokenStr = tokenStr.replaceFirst("Bearer ", "");
+                token.setToken(tokenStr);
+                RespDTO<Boolean> res = userServiceClient.verifyToken(token);
+                if (res == null || !CommonErrorCode.OK.getCode().equals(res.code)) {
+                    throw new AccountExpiredException("token expire");
+                }
+                if (!res.data) {
+                    throw new AccountExpiredException("token expire");
+                }
+            }
             for (GrantedAuthority ga : authentication.getAuthorities()) {
                 String[] authority = ga.getAuthority().split(";");
                 url = authority[0];
@@ -56,7 +80,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
         return true;
     }
 
-    private Boolean matchPermitAllUrl(HttpServletRequest request){
+    private Boolean matchPermitAllUrl(HttpServletRequest request) {
         if (matchers("/swagger/**", request)
                 || matchers("/v2/**", request)
                 || matchers("/swagger-ui.html/**", request)

+ 21 - 0
bi-service/src/main/java/com/diagbot/entity/Token.java

@@ -0,0 +1,21 @@
+package com.diagbot.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: token
+ * @Author: ztg
+ * @Date: 2018/9/19 13:14
+ */
+@Getter
+@Setter
+public class Token implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String token;
+
+}

+ 1 - 1
common/src/main/java/com/diagbot/enums/IsDeleteEnum.java

@@ -28,7 +28,7 @@ public enum IsDeleteEnum {
 
     public static IsDeleteEnum getEnum(String key) {
         for (IsDeleteEnum item : IsDeleteEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
common/src/main/java/com/diagbot/enums/IsValidEnum.java

@@ -25,7 +25,7 @@ public enum IsValidEnum implements KeyedNamed {
 
     public static IsValidEnum getEnum(int key) {
         for (IsValidEnum item : IsValidEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
common/src/main/java/com/diagbot/enums/ProductTypeEnum.java

@@ -28,7 +28,7 @@ public enum ProductTypeEnum implements KeyedNamed {
 
     public static ProductTypeEnum getEnum(int key) {
         for (ProductTypeEnum item : ProductTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
common/src/main/java/com/diagbot/enums/SysTypeEnum.java

@@ -43,7 +43,7 @@ public enum SysTypeEnum implements KeyedNamed {
 
     public static SysTypeEnum getEnum(int key) {
         for (SysTypeEnum item : SysTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
common/src/main/java/com/diagbot/enums/VisibleIdTypeEnum.java

@@ -27,7 +27,7 @@ public enum VisibleIdTypeEnum implements KeyedNamed {
 
     public static VisibleIdTypeEnum getEnum(int key) {
         for (VisibleIdTypeEnum item : VisibleIdTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 2 - 0
config-server/src/main/resources/shared/aipt-service-dev.yml

@@ -95,6 +95,8 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
+io.github.lvyahui8.spring.base-packages: com.diagbot.aggregate
+
 ai:
   server:
     address: http://192.168.2.234:5008

+ 2 - 0
config-server/src/main/resources/shared/aipt-service-local.yml

@@ -95,6 +95,8 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
+io.github.lvyahui8.spring.base-packages: com.diagbot.aggregate
+
 ai:
   server:
     address: http://192.168.2.234:5008

+ 2 - 0
config-server/src/main/resources/shared/aipt-service-pro.yml

@@ -95,6 +95,8 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
+io.github.lvyahui8.spring.base-packages: com.diagbot.aggregate
+
 ai:
   server:
     address: http://192.168.2.234:5008

+ 2 - 0
config-server/src/main/resources/shared/aipt-service-test.yml

@@ -95,6 +95,8 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
+io.github.lvyahui8.spring.base-packages: com.diagbot.aggregate
+
 ai:
   server:
     address: http://192.168.2.234:5008

+ 1 - 1
data-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -34,7 +34,7 @@ public enum FeatureTypeEnum implements KeyedNamed {
 
     public static FeatureTypeEnum getEnum(Integer key) {
         for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/AccessTypeEnum.java

@@ -26,7 +26,7 @@ public enum AccessTypeEnum implements KeyedNamed {
 
     public static AccessTypeEnum getEnum(Integer key) {
         for (AccessTypeEnum item : AccessTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/AuditStatusEnum.java

@@ -28,7 +28,7 @@ public enum AuditStatusEnum implements KeyedNamed {
 
     public static AuditStatusEnum getEnum(Integer key) {
         for (AuditStatusEnum item : AuditStatusEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/AuthStatusEnum.java

@@ -27,7 +27,7 @@ public enum AuthStatusEnum implements KeyedNamed {
 
     public static AuthStatusEnum getEnum(Integer key) {
         for (AuthStatusEnum item : AuthStatusEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/CancelRenewalsEnum.java

@@ -25,7 +25,7 @@ public enum CancelRenewalsEnum implements KeyedNamed {
 
     public static CancelRenewalsEnum getEnum(Integer key) {
         for (CancelRenewalsEnum item : CancelRenewalsEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/ChargeTypeEnum.java

@@ -26,7 +26,7 @@ public enum ChargeTypeEnum implements KeyedNamed {
 
     public static ChargeTypeEnum getEnum(Integer key) {
         for (ChargeTypeEnum item : ChargeTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/NotPassEnum.java

@@ -26,7 +26,7 @@ public enum NotPassEnum implements KeyedNamed {
 
     public static NotPassEnum getEnum(Integer key) {
         for (NotPassEnum item : NotPassEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/PaymentMethodEnum.java

@@ -25,7 +25,7 @@ public enum PaymentMethodEnum implements KeyedNamed {
 
     public static PaymentMethodEnum getEnum(Integer key) {
         for (PaymentMethodEnum item : PaymentMethodEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/ProductAuditEnum.java

@@ -26,7 +26,7 @@ public enum ProductAuditEnum implements KeyedNamed {
 
     public static ProductAuditEnum getEnum(Integer key) {
         for (ProductAuditEnum item : ProductAuditEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/RenewalsEnum.java

@@ -25,7 +25,7 @@ public enum RenewalsEnum implements KeyedNamed {
 
     public static RenewalsEnum getEnum(Integer key) {
         for (RenewalsEnum item : RenewalsEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/ServiceTypeEnum.java

@@ -25,7 +25,7 @@ public enum ServiceTypeEnum implements KeyedNamed {
 
     public static ServiceTypeEnum getEnum(Integer key) {
         for (ServiceTypeEnum item : ServiceTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/StatusEnum.java

@@ -25,7 +25,7 @@ public enum StatusEnum implements KeyedNamed {
 
     public static StatusEnum getEnum(Integer key) {
         for (StatusEnum item : StatusEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/TokenTypeEnum.java

@@ -26,7 +26,7 @@ public enum TokenTypeEnum implements KeyedNamed {
 
     public static TokenTypeEnum getEnum(Integer key) {
         for (TokenTypeEnum item : TokenTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/enums/TrialStatusEnum.java

@@ -25,7 +25,7 @@ public enum TrialStatusEnum implements KeyedNamed {
 
     public static TrialStatusEnum getEnum(Integer key) {
         for (TrialStatusEnum item : TrialStatusEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/CalculateTypeEnum.java

@@ -25,7 +25,7 @@ public enum CalculateTypeEnum implements KeyedNamed {
 
     public static CalculateTypeEnum getEnum(Integer key) {
         for (CalculateTypeEnum item : CalculateTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/ConceptTypeEnum.java

@@ -41,7 +41,7 @@ public enum ConceptTypeEnum implements KeyedNamed {
 
     public static ConceptTypeEnum getEnum(Integer key) {
         for (ConceptTypeEnum item : ConceptTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/ControlTypeEnum.java

@@ -25,7 +25,7 @@ public enum ControlTypeEnum implements KeyedNamed {
 
     public static ControlTypeEnum getEnum(Integer key) {
         for (ControlTypeEnum item : ControlTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/DisTypeEnum.java

@@ -26,7 +26,7 @@ public enum DisTypeEnum implements KeyedNamed {
 
     public static DisTypeEnum getEnum(Integer key) {
         for (DisTypeEnum item : DisTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -35,7 +35,7 @@ public enum FeatureTypeEnum implements KeyedNamed {
 
     public static FeatureTypeEnum getEnum(Integer key) {
         for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/GBControlTypeEnum.java

@@ -27,7 +27,7 @@ public enum GBControlTypeEnum implements KeyedNamed {
 
     public static GBControlTypeEnum getEnum(Integer key) {
         for (GBControlTypeEnum item : GBControlTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/InputModeEnum.java

@@ -25,7 +25,7 @@ public enum InputModeEnum implements KeyedNamed {
 
     public static InputModeEnum getEnum(Integer key) {
         for (InputModeEnum item : InputModeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/IsReasonEnum.java

@@ -26,7 +26,7 @@ public enum IsReasonEnum implements KeyedNamed {
 
     public static IsReasonEnum getEnum(Integer key) {
         for (IsReasonEnum item : IsReasonEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/LisSourceEnum.java

@@ -25,7 +25,7 @@ public enum LisSourceEnum  implements KeyedNamed {
 
     public static LisSourceEnum getEnum(Integer key) {
         for (LisSourceEnum item : LisSourceEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/QualitativeTypeEnum.java

@@ -25,7 +25,7 @@ public enum QualitativeTypeEnum implements KeyedNamed {
 
     public static QualitativeTypeEnum getEnum(Integer key) {
         for (QualitativeTypeEnum item : QualitativeTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/QuantitativeTypeEnum.java

@@ -27,7 +27,7 @@ public enum  QuantitativeTypeEnum implements KeyedNamed {
 
     public static QuantitativeTypeEnum getEnum(Integer key) {
         for (QuantitativeTypeEnum item : QuantitativeTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java

@@ -34,7 +34,7 @@ public enum QuestionTypeEnum implements KeyedNamed {
 
     public static QuestionTypeEnum getEnum(Integer key) {
         for (QuestionTypeEnum item : QuestionTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/ScaleTypeEnum.java

@@ -26,7 +26,7 @@ public enum ScaleTypeEnum implements KeyedNamed {
 
     public static ScaleTypeEnum getEnum(Integer key) {
         for (ScaleTypeEnum item : ScaleTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/SexTypeEnum.java

@@ -26,7 +26,7 @@ public enum SexTypeEnum implements KeyedNamed {
 
     public static SexTypeEnum getEnum(Integer key) {
         for (SexTypeEnum item : SexTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/StatusEnum.java

@@ -26,7 +26,7 @@ public enum StatusEnum implements KeyedNamed {
 
     public static StatusEnum getEnum(Integer key) {
         for (StatusEnum item : StatusEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/enums/TagTypeEnum.java

@@ -35,7 +35,7 @@ public enum TagTypeEnum implements KeyedNamed {
 
     public static TagTypeEnum getEnum(Integer key) {
         for (TagTypeEnum item : TagTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/ConceptTypeEnum.java

@@ -41,7 +41,7 @@ public enum ConceptTypeEnum implements KeyedNamed {
 
     public static ConceptTypeEnum getEnum(Integer key) {
         for (ConceptTypeEnum item : ConceptTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/ControlTypeEnum.java

@@ -32,7 +32,7 @@ public enum ControlTypeEnum implements KeyedNamed {
 
     public static ControlTypeEnum getEnum(Integer key) {
         for (ControlTypeEnum item : ControlTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/DataSourcesEnums.java

@@ -29,7 +29,7 @@ public enum DataSourcesEnums implements KeyedNamed{
 
     public static DataSourcesEnums getEnum(Integer key) {
         for (DataSourcesEnums item : DataSourcesEnums.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/DisTypeEnum.java

@@ -27,7 +27,7 @@ public enum DisTypeEnum implements KeyedNamed {
 
     public static DisTypeEnum getEnum(Integer key) {
         for (DisTypeEnum item : DisTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java

@@ -26,7 +26,7 @@ public enum InsertOrUpdateEnum implements KeyedNamed {
 
     public static InsertOrUpdateEnum getEnum(Integer key) {
         for (InsertOrUpdateEnum item : InsertOrUpdateEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/IsReasonEnum.java

@@ -26,7 +26,7 @@ public enum IsReasonEnum implements KeyedNamed {
 
     public static IsReasonEnum getEnum(Integer key) {
         for (IsReasonEnum item : IsReasonEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/ModuleInfoTypeEnum.java

@@ -25,7 +25,7 @@ public enum ModuleInfoTypeEnum implements KeyedNamed {
 
     public static ModuleInfoTypeEnum getEnum(Integer key) {
         for (ModuleInfoTypeEnum item : ModuleInfoTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/ModuleTypeEnum.java

@@ -28,7 +28,7 @@ public enum ModuleTypeEnum implements KeyedNamed {
 
     public static ModuleTypeEnum getEnum(Integer key) {
         for (ModuleTypeEnum item : ModuleTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java

@@ -34,7 +34,7 @@ public enum QuestionTypeEnum implements KeyedNamed {
 
     public static QuestionTypeEnum getEnum(Integer key) {
         for (QuestionTypeEnum item : QuestionTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/QuestionUsualTypeEnum.java

@@ -26,7 +26,7 @@ public enum QuestionUsualTypeEnum implements KeyedNamed {
 
     public static QuestionUsualTypeEnum getEnum(Integer key) {
         for (QuestionUsualTypeEnum item : QuestionUsualTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/StatusEnum.java

@@ -26,7 +26,7 @@ public enum StatusEnum implements KeyedNamed {
 
     public static StatusEnum getEnum(Integer key) {
         for (StatusEnum item : StatusEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/TagTypeEnum.java

@@ -34,7 +34,7 @@ public enum TagTypeEnum implements KeyedNamed {
 
     public static TagTypeEnum getEnum(Integer key) {
         for (TagTypeEnum item : TagTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/enums/UsualEnum.java

@@ -25,7 +25,7 @@ public enum UsualEnum implements KeyedNamed {
 
     public static UsualEnum getEnum(Integer key) {
         for (UsualEnum item : UsualEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 4 - 6
icssman-service/src/main/java/com/diagbot/facade/ModuleDetailFacade.java

@@ -99,12 +99,10 @@ public class ModuleDetailFacade extends ModuleDetailServiceImpl {
                     .in("name", textList);
             List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
 
-            for (AddModuleDetailVO addModuleDetailVO : addModuleInfoVO.getModelDetils()) {
-                if (StringUtil.isNotEmpty(addModuleDetailVO.getText())) {
-                    questionIdMap = questionInfoList.stream()
-                            .collect(Collectors.toMap(QuestionInfo::getTagName,
-                                    questionInfo -> questionInfo.getId()));
-                }
+            if (ListUtil.isNotEmpty(questionInfoList)) {
+                questionIdMap = questionInfoList.stream()
+                        .collect(Collectors.toMap(QuestionInfo::getTagName,
+                                questionInfo -> questionInfo.getId(), (v1, v2) -> v2));
             }
         }
         QuestionInfo addquestionInfo = null;

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/ConceptTypeEnum.java

@@ -40,7 +40,7 @@ public enum ConceptTypeEnum implements KeyedNamed {
 
     public static ConceptTypeEnum getEnum(Integer key) {
         for (ConceptTypeEnum item : ConceptTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseFeatureTypeEnum.java

@@ -34,7 +34,7 @@ public enum DiagnoseFeatureTypeEnum implements KeyedNamed {
 
     public static DiagnoseFeatureTypeEnum getEnum(Integer key) {
         for (DiagnoseFeatureTypeEnum item : DiagnoseFeatureTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseFieldEnum.java

@@ -28,7 +28,7 @@ public enum DiagnoseFieldEnum implements KeyedNamed {
 
     public static DiagnoseFieldEnum getEnum(Integer key) {
         for (DiagnoseFieldEnum item : DiagnoseFieldEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseTypeEnum.java

@@ -28,7 +28,7 @@ public enum DiagnoseTypeEnum implements KeyedNamed {
 
     public static DiagnoseTypeEnum getEnum(Integer key) {
         for (DiagnoseTypeEnum item : DiagnoseTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/DisclaimerCodeEnum.java

@@ -22,7 +22,7 @@ public enum DisclaimerCodeEnum implements KeyedNamed {
 
     public static DisclaimerCodeEnum getEnum(Integer key) {
         for (DisclaimerCodeEnum item : DisclaimerCodeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/DiseaseClassifyEnum.java

@@ -21,7 +21,7 @@ public enum DiseaseClassifyEnum implements KeyedNamed {
 
     public static DiseaseClassifyEnum getEnum(Integer key) {
         for (DiseaseClassifyEnum item : DiseaseClassifyEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/HasQuestionEnum.java

@@ -27,7 +27,7 @@ public enum HasQuestionEnum implements KeyedNamed {
 
     public static HasQuestionEnum getEnum(Integer key) {
         for (HasQuestionEnum item : HasQuestionEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java

@@ -25,7 +25,7 @@ public enum InsertOrUpdateEnum implements KeyedNamed {
 
     public static InsertOrUpdateEnum getEnum(Integer key) {
         for (InsertOrUpdateEnum item : InsertOrUpdateEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/LexiconRSTypeEnum.java

@@ -42,7 +42,7 @@ public enum LexiconRSTypeEnum implements KeyedNamed {
 
     public static LexiconRSTypeEnum getEnum(Integer key) {
         for (LexiconRSTypeEnum item : LexiconRSTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/LexiconTypeEnum.java

@@ -95,7 +95,7 @@ public enum LexiconTypeEnum implements KeyedNamed {
 
     public static LexiconTypeEnum getEnum(Integer key) {
         for (LexiconTypeEnum item : LexiconTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/PositionTypeEnum.java

@@ -30,7 +30,7 @@ public enum PositionTypeEnum implements KeyedNamed {
 
     public static PositionTypeEnum getEnum(Integer key) {
         for (PositionTypeEnum item : PositionTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/RelationModelTypeEnum.java

@@ -27,7 +27,7 @@ public enum RelationModelTypeEnum implements KeyedNamed {
 
     public static RelationModelTypeEnum getEnum(Integer key) {
         for (RelationModelTypeEnum item : RelationModelTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/StatusEnum.java

@@ -25,7 +25,7 @@ public enum StatusEnum implements KeyedNamed {
 
     public static StatusEnum getEnum(Integer key) {
         for (StatusEnum item : StatusEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/enums/TermEnum.java

@@ -32,7 +32,7 @@ public enum TermEnum implements KeyedNamed {
 
     public static TermEnum getEnum(Integer key) {
         for (TermEnum item : TermEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 17 - 8
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -376,6 +376,12 @@ public class ConceptFacade extends ConceptServiceImpl {
      * @return
      */
     public Boolean removeConceptInfo(RemoveConceptInfoVO removeConceptInfoVO) {
+
+        //清理缓存
+        if(removeConceptInfoVO.getConceptId()!=null) {
+            this.cacheClearByConceptId(removeConceptInfoVO.getConceptId());
+        }
+
     	/*StringBuffer sbf = new StringBuffer();
     	
     	QueryWrapper<Medical> medicalQe = new QueryWrapper<Medical>();
@@ -439,9 +445,6 @@ public class ConceptFacade extends ConceptServiceImpl {
             }
         }
 
-        //清理缓存
-        this.cacheClearByConceptId(concept.getId());
-
         concept.setIsDeleted(removeConceptInfoVO.getIsDeleted());
         concept.setModifier(currentUser);
         concept.setGmtModified(now);
@@ -512,6 +515,11 @@ public class ConceptFacade extends ConceptServiceImpl {
      * @return
      */
     public Boolean addConceptInfo(AddConceptInfoVO addConceptInfoVO) {
+        //清理原名称对应标签缓存
+        if(addConceptInfoVO.getConceptId()!=null) {
+            this.cacheClearByConceptId(addConceptInfoVO.getConceptId());
+        }
+
         String lineNumStr = "";
         if (addConceptInfoVO.getLineNum() != null) {
             lineNumStr = "第" + addConceptInfoVO.getLineNum() + "行";
@@ -667,9 +675,6 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         libraryInfoService.saveOrUpdateBatch(saveOrUpdateLibraryInfoList);
 
-        //清理原名称对应标签缓存
-        this.cacheClearByConceptId(conceptId);
-
         concept.setId(conceptId);
         concept.setLibId(libraryInfoMain.getId());
         concept.setLibName(libraryInfoMain.getName());
@@ -1562,12 +1567,16 @@ public class ConceptFacade extends ConceptServiceImpl {
                 .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));
+        if(ListUtil.isNotEmpty(itemNames)) {
+            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());
-        mealNames.addAll(lisMappingFacade.getMealNameByUniqueNames(uniqueNames));
+        if(ListUtil.isNotEmpty(uniqueNames)) {
+            mealNames.addAll(lisMappingFacade.getMealNameByUniqueNames(uniqueNames));
+        }
         mealNames = mealNames.stream().filter(i -> StringUtil.isNotBlank(i)).distinct().collect(Collectors.toList());
 
         if (ListUtil.isNotEmpty(mealNames)) {

+ 22 - 3
knowledgeman-service/src/main/java/com/diagbot/facade/LisMappingFacade.java

@@ -90,21 +90,40 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         lisMapping.setGmtCreate(now);
 
         //验证医学术语是否存在
-        Concept mealConcept = conceptFacade.getById(lisMappingVO.getMealId());
+        QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
+        conceptQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", lisMappingVO.getMealId());
+        Concept mealConcept = conceptFacade.getOne(conceptQueryWrapper, false);
         if (mealConcept == null) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验套餐项术语不存在");
         }
         if (lisMappingVO.getItemId() != null && !lisMappingVO.getItemId().equals(0L)) {
-            Concept itemConcept = conceptFacade.getById(lisMappingVO.getItemId());
+            conceptQueryWrapper = new QueryWrapper<>();
+            conceptQueryWrapper
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("id", lisMappingVO.getItemId());
+            Concept itemConcept = conceptFacade.getOne(conceptQueryWrapper, false);
             if (itemConcept == null) {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验明细项术语不存在");
             }
         }
-        Concept uniqueConcept = conceptFacade.getById(lisMappingVO.getUniqueId());
+        conceptQueryWrapper = new QueryWrapper<>();
+        conceptQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", lisMappingVO.getUniqueId());
+        Concept uniqueConcept = conceptFacade.getOne(conceptQueryWrapper, false);
         if (uniqueConcept == null) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验公表项项术语不存在");
         }
 
+        //化验明细项为空时,套餐跟公表名称必须一致
+        if (lisMappingVO.getItemId() == null || lisMappingVO.getItemId().equals(0L)) {
+            if (!mealConcept.getLibName().equals(uniqueConcept.getLibName())) {
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验套餐名跟公表名需保持一致");
+            }
+        }
+
         QueryWrapper<LisMapping> lisMappingQueryWrapper = new QueryWrapper<>();
         lisMappingQueryWrapper
                 .eq("is_deleted", IsDeleteEnum.N.getKey())

+ 9 - 3
knowledgeman-service/src/main/resources/mapper/LisMappingMapper.xml

@@ -97,13 +97,19 @@
         kl_concept unique_con
         WHERE
         lis.is_deleted = 'N'
-        AND meal_con.is_deleted = 'N'
-        AND unique_con.is_deleted = 'N'
+        <if test="mealIsDeleted != null and mealIsDeleted !=  ''">
+            AND meal_con.is_deleted = #{mealIsDeleted}
+        </if>
+        <if test="uniqueIsDeleted != null and uniqueIsDeleted !=  ''">
+            AND unique_con.is_deleted = #{uniqueIsDeleted}
+        </if>
         AND lis.meal_id = meal_con.id
         AND lis.unique_id = unique_con.id
         ) lis_mapping
         LEFT JOIN kl_concept item_con ON lis_mapping.item_id = item_con.id
-        AND item_con.is_deleted = 'N'
+        <if test="itemIsDeleted != null and itemIsDeleted !=  ''">
+            AND item_con.is_deleted = #{itemIsDeleted}
+        </if>
         WHERE 1=1
         <if test="mealNames != null and mealNames.size() > 0 ">
             and lis_mapping.meal_name in

+ 1 - 1
ltapi-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -34,7 +34,7 @@ public enum FeatureTypeEnum implements KeyedNamed {
 
     public static FeatureTypeEnum getEnum(Integer key) {
         for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
prec-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -33,7 +33,7 @@ public enum FeatureTypeEnum implements KeyedNamed {
 
     public static FeatureTypeEnum getEnum(Integer key) {
         for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
prec-service/src/main/java/com/diagbot/enums/PhysicalTypeEnum.java

@@ -30,7 +30,7 @@ public enum PhysicalTypeEnum implements KeyedNamed {
 
     public static PhysicalTypeEnum getEnum(Integer key) {
         for (PhysicalTypeEnum item : PhysicalTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
prec-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java

@@ -34,7 +34,7 @@ public enum QuestionTypeEnum implements KeyedNamed {
 
     public static QuestionTypeEnum getEnum(Integer key) {
         for (QuestionTypeEnum item : QuestionTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
prec-service/src/main/java/com/diagbot/enums/SexEnum.java

@@ -25,7 +25,7 @@ public enum SexEnum implements KeyedNamed {
 
     public static SexEnum getEnum(Integer key) {
         for (SexEnum item : SexEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
precman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java

@@ -26,7 +26,7 @@ public enum InsertOrUpdateEnum implements KeyedNamed {
 
     public static InsertOrUpdateEnum getEnum(Integer key) {
         for (InsertOrUpdateEnum item : InsertOrUpdateEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
precman-service/src/main/java/com/diagbot/enums/ModuleInfoTypeEnum.java

@@ -25,7 +25,7 @@ public enum ModuleInfoTypeEnum implements KeyedNamed {
 
     public static ModuleInfoTypeEnum getEnum(Integer key) {
         for (ModuleInfoTypeEnum item : ModuleInfoTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
precman-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java

@@ -33,7 +33,7 @@ public enum QuestionTypeEnum implements KeyedNamed {
 
     public static QuestionTypeEnum getEnum(Integer key) {
         for (QuestionTypeEnum item : QuestionTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
precman-service/src/main/java/com/diagbot/enums/TagTypeEnum.java

@@ -28,7 +28,7 @@ public enum TagTypeEnum implements KeyedNamed {
 
     public static TagTypeEnum getEnum(Integer key) {
         for (TagTypeEnum item : TagTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
tran-service/src/main/java/com/diagbot/enums/SexTypeEnum.java

@@ -26,7 +26,7 @@ public enum SexTypeEnum implements KeyedNamed {
 
     public static SexTypeEnum getEnum(Integer key) {
         for (SexTypeEnum item : SexTypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
tran-service/src/main/java/com/diagbot/enums/StatusEnum.java

@@ -26,7 +26,7 @@ public enum StatusEnum implements KeyedNamed {
 
     public static StatusEnum getEnum(Integer key) {
         for (StatusEnum item : StatusEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 1 - 1
tran-service/src/main/java/com/diagbot/enums/TypeEnum.java

@@ -26,7 +26,7 @@ public enum TypeEnum implements KeyedNamed {
 
     public static TypeEnum getEnum(Integer key) {
         for (TypeEnum item : TypeEnum.values()) {
-            if (item.key == key) {
+            if (item.key.equals(key)) {
                 return item;
             }
         }

+ 0 - 0
triage-service/src/main/java/com/diagbot/enums/ShowTypeEnum.java


部分文件因文件數量過多而無法顯示