瀏覽代碼

Merge branch 'develop' into dev/mix20191111_BIcount

# Conflicts:
#	ltapi-service/src/main/java/com/diagbot/web/PushController.java
gaodm 5 年之前
父節點
當前提交
222d20f595
共有 98 個文件被更改,包括 1346 次插入978 次删除
  1. 91 78
      aipt-service/src/main/java/com/diagbot/aggregate/TreatmentAggregate.java
  2. 18 0
      aipt-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java
  3. 7 99
      aipt-service/src/main/java/com/diagbot/client/bean/ResponseData.java
  4. 4 2
      aipt-service/src/main/java/com/diagbot/client/bean/SearchData.java
  5. 26 0
      aipt-service/src/main/java/com/diagbot/client/bean/Treat.java
  6. 18 0
      aipt-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java
  7. 0 12
      aipt-service/src/main/java/com/diagbot/dto/GetTopPatientInfoDTO.java
  8. 7 6
      aipt-service/src/main/java/com/diagbot/facade/PushFacade.java
  9. 64 172
      aipt-service/src/main/java/com/diagbot/facade/TreatmentFacade.java
  10. 3 1
      aipt-service/src/main/java/com/diagbot/vo/SearchVo.java
  11. 2 2
      aipt-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  12. 9 5
      aipt-service/src/main/java/com/diagbot/web/PushController.java
  13. 1 1
      aipt-service/src/main/resources/mapper/EvaluationMapper.xml
  14. 2 1
      data-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  15. 23 0
      data-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java
  16. 16 0
      data-service/src/main/java/com/diagbot/client/bean/AdverseReactionDetail.java
  17. 28 0
      data-service/src/main/java/com/diagbot/client/bean/Medicition.java
  18. 27 0
      data-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java
  19. 18 0
      data-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java
  20. 3 1
      data-service/src/main/java/com/diagbot/client/bean/SearchData.java
  21. 26 0
      data-service/src/main/java/com/diagbot/client/bean/Treat.java
  22. 18 0
      data-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java
  23. 2 1
      data-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  24. 2 1
      data-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  25. 6 6
      data-service/src/main/java/com/diagbot/facade/PushFacade.java
  26. 1 2
      data-service/src/main/java/com/diagbot/vo/PushBaseVO.java
  27. 2 0
      data-service/src/main/java/com/diagbot/vo/PushVO.java
  28. 2 2
      data-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  29. 11 4
      data-service/src/main/java/com/diagbot/web/PushController.java
  30. 12 0
      docs/023.20191122ICSS标签支持是否显示默认选中/init_icss.sql
  31. 11 1
      icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  32. 3 2
      icss-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java
  33. 18 0
      icss-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java
  34. 5 98
      icss-service/src/main/java/com/diagbot/client/bean/ResponseData.java
  35. 8 1
      icss-service/src/main/java/com/diagbot/client/bean/SearchData.java
  36. 26 0
      icss-service/src/main/java/com/diagbot/client/bean/Treat.java
  37. 18 0
      icss-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java
  38. 15 2
      icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  39. 0 12
      icss-service/src/main/java/com/diagbot/dto/GetTopPatientInfoDTO.java
  40. 1 0
      icss-service/src/main/java/com/diagbot/dto/QuestionDTO.java
  41. 88 0
      icss-service/src/main/java/com/diagbot/entity/DictionaryInfo.java
  42. 5 0
      icss-service/src/main/java/com/diagbot/entity/QuestionInfo.java
  43. 5 1
      icss-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  44. 14 0
      icss-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java
  45. 34 0
      icss-service/src/main/java/com/diagbot/facade/DictionaryFacade.java
  46. 85 82
      icss-service/src/main/java/com/diagbot/facade/DoctorPageModeFacade.java
  47. 1 12
      icss-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java
  48. 5 4
      icss-service/src/main/java/com/diagbot/facade/PushFacade.java
  49. 2 1
      icss-service/src/main/java/com/diagbot/facade/RetrievalFacade.java
  50. 7 10
      icss-service/src/main/java/com/diagbot/facade/TreatmentFacade.java
  51. 16 0
      icss-service/src/main/java/com/diagbot/mapper/DictionaryInfoMapper.java
  52. 16 0
      icss-service/src/main/java/com/diagbot/service/DictionaryInfoService.java
  53. 20 0
      icss-service/src/main/java/com/diagbot/service/impl/DictionaryInfoServiceImpl.java
  54. 17 0
      icss-service/src/main/java/com/diagbot/vo/ConceptIntorducesVO.java
  55. 25 0
      icss-service/src/main/java/com/diagbot/vo/DoctorPageModeAllVO.java
  56. 29 33
      icss-service/src/main/java/com/diagbot/vo/DoctorPageModeVO.java
  57. 1 2
      icss-service/src/main/java/com/diagbot/vo/PushBaseVO.java
  58. 2 0
      icss-service/src/main/java/com/diagbot/vo/PushVO.java
  59. 6 1
      icss-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java
  60. 7 0
      icss-service/src/main/java/com/diagbot/vo/SaveInquiryVO.java
  61. 16 1
      icss-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  62. 45 0
      icss-service/src/main/java/com/diagbot/web/DictionaryInfoController.java
  63. 8 3
      icss-service/src/main/java/com/diagbot/web/DoctorPageModeController.java
  64. 8 4
      icss-service/src/main/java/com/diagbot/web/PushController.java
  65. 21 0
      icss-service/src/main/resources/mapper/DictionaryInfoMapper.xml
  66. 2 0
      icss-service/src/main/resources/mapper/QuestionInfoMapper.xml
  67. 4 0
      icssman-service/src/main/java/com/diagbot/config/MybatisPlusConfigurer.java
  68. 1 0
      icssman-service/src/main/java/com/diagbot/dto/QuestionDTO.java
  69. 5 0
      icssman-service/src/main/java/com/diagbot/dto/QuestionPageDTO.java
  70. 5 0
      icssman-service/src/main/java/com/diagbot/entity/QuestionInfo.java
  71. 2 1
      icssman-service/src/main/java/com/diagbot/entity/wrapper/QuestionWrapper.java
  72. 2 0
      icssman-service/src/main/resources/mapper/QuestionInfoMapper.xml
  73. 2 1
      ltapi-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  74. 23 0
      ltapi-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java
  75. 16 0
      ltapi-service/src/main/java/com/diagbot/client/bean/AdverseReactionDetail.java
  76. 28 0
      ltapi-service/src/main/java/com/diagbot/client/bean/Medicition.java
  77. 27 0
      ltapi-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java
  78. 18 0
      ltapi-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java
  79. 3 1
      ltapi-service/src/main/java/com/diagbot/client/bean/SearchData.java
  80. 26 0
      ltapi-service/src/main/java/com/diagbot/client/bean/Treat.java
  81. 18 0
      ltapi-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java
  82. 2 1
      ltapi-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  83. 21 1
      ltapi-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  84. 4 5
      ltapi-service/src/main/java/com/diagbot/facade/PushFacade.java
  85. 1 2
      ltapi-service/src/main/java/com/diagbot/vo/PushBaseVO.java
  86. 3 0
      ltapi-service/src/main/java/com/diagbot/vo/PushVO.java
  87. 1 1
      ltapi-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  88. 11 4
      ltapi-service/src/main/java/com/diagbot/web/PushController.java
  89. 2 1
      prec-service/src/main/java/com/diagbot/client/bean/SearchData.java
  90. 1 13
      prec-service/src/main/java/com/diagbot/dto/GetTopPatientInfoDTO.java
  91. 1 0
      prec-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  92. 2 0
      prec-service/src/main/java/com/diagbot/vo/PushVO.java
  93. 38 0
      tran-service/src/main/java/com/diagbot/dto/ConceptDetailDTO.java
  94. 19 0
      tran-service/src/main/java/com/diagbot/dto/ConceptIntroduceDTO.java
  95. 0 12
      tran-service/src/main/java/com/diagbot/dto/GetTopPatientInfoDTO.java
  96. 7 2
      tran-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java
  97. 5 56
      triage-service/src/main/java/com/diagbot/client/bean/ResponseData.java
  98. 9 211
      triage-service/src/main/java/com/diagbot/client/bean/SearchData.java

+ 91 - 78
aipt-service/src/main/java/com/diagbot/aggregate/TreatmentAggregate.java

@@ -3,6 +3,9 @@ package com.diagbot.aggregate;
 import com.diagbot.client.bean.AdverseReaction;
 import com.diagbot.client.bean.Medicition;
 import com.diagbot.client.bean.MedicitionClass;
+import com.diagbot.client.bean.MeditionDetail;
+import com.diagbot.client.bean.Treat;
+import com.diagbot.client.bean.TreatmentPlan;
 import com.diagbot.dto.ConceptDetailDTO;
 import com.diagbot.entity.Concept;
 import com.diagbot.entity.ConceptDetail;
@@ -17,7 +20,6 @@ import io.github.lvyahui8.spring.annotation.InvokeParameter;
 import org.springframework.stereotype.Component;
 
 import java.util.Arrays;
-import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -31,20 +33,20 @@ import java.util.Map;
 public class TreatmentAggregate {
 
     @DataProvider("setTreatmentAll")
-    public Map<String, Object> setTreatmentAll(@InvokeParameter("treatmentMap") Map<String, Object> treatmentMap,
-                                               @DataConsumer("setCommonTreatment") ConceptDetailDTO commonTreatment,
-                                               @DataConsumer("setSurgeryTreatment") ConceptDetailDTO surgeryTreatment,
-                                               @DataConsumer("setDrugs") List<MedicitionClass> drugsList,
-                                               @DataConsumer("setAdverseReactions") List<AdverseReaction> adverseReactionList) {
-        if (treatmentMap == null) {
-            treatmentMap = new LinkedHashMap<>();
+    public Treat setTreatmentAll(@InvokeParameter("treat") Treat treat,
+                                 @DataConsumer("setCommonTreatment") ConceptDetailDTO commonTreatment,
+                                 @DataConsumer("setSurgeryTreatment") ConceptDetailDTO surgeryTreatment,
+                                 @DataConsumer("setTreatmentPlan") List<TreatmentPlan> treatmentPlanList,
+                                 @DataConsumer("setAdverseReactions") List<AdverseReaction> adverseReactionList) {
+        if (treat == null) {
+            treat = new Treat();
         }
-        treatmentMap.put("commonTreatment", commonTreatment);
-        treatmentMap.put("surgeryTreatment", surgeryTreatment);
-        treatmentMap.put("treatment", drugsList);
-        treatmentMap.put("adverseReactions", adverseReactionList);
+        treat.setCommonTreatment(commonTreatment);
+        treat.setSurgeryTreatment(surgeryTreatment);
+        treat.setTreatmentPlan(treatmentPlanList);
+        treat.setAdverseEvent(adverseReactionList);
 
-        return treatmentMap;
+        return treat;
     }
 
     @DataProvider("setCommonTreatment")
@@ -91,76 +93,87 @@ public class TreatmentAggregate {
         return conceptDetailDTO;
     }
 
-    @DataProvider("setDrugs")
-    public List<MedicitionClass> setDrugs(@InvokeParameter("drugsList") List<MedicitionClass> drugsList,
-                                          @InvokeParameter("conceptMap") Map<String, Map<Long, Concept>> conceptMap,
-                                          @InvokeParameter("hasConDetailMap") Map<String, Map<Long, List<ConceptDetail>>> hasConDetailMap) {
-        if (ListUtil.isNotEmpty(drugsList)) {
-            for (MedicitionClass medicitionClass : drugsList) {
-                if (conceptMap != null
-                        && conceptMap.get(medicitionClass.getBigdrugsName()) != null
-                        && conceptMap.get(medicitionClass
-                        .getBigdrugsName())
-                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
-                    Concept cateBigConcept = conceptMap
-                            .get(medicitionClass.getBigdrugsName())
-                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()));
-                    if (cateBigConcept != null) {
-                        medicitionClass.setBigdrugsConceptId(cateBigConcept.getId());
-                        if (hasConDetailMap != null
-                                && hasConDetailMap.get(cateBigConcept.getLibName()) != null
-                                && hasConDetailMap.get(cateBigConcept.getLibName())
-                                .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
-                            medicitionClass.setShowInfo("1");
-                        } else {
-                            medicitionClass.setShowInfo("0");
-                        }
-                    }
-                }
-                medicitionClass.setBigdrgusLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
-                medicitionClass.setBigdrugsType(ConceptTypeEnum.Drug_Category_Big.getKey());
-                if (conceptMap != null
-                        && conceptMap.get(medicitionClass.getSubdrugsName()) != null
-                        && conceptMap.get(medicitionClass.getSubdrugsName())
-                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()))) {
-                    Concept cateSmallConcept = conceptMap
-                            .get(medicitionClass.getSubdrugsName())
-                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()));
-                    if (cateSmallConcept != null) {
-                        medicitionClass.setSubdrugsConceptId(cateSmallConcept.getId());
-                    }
-                }
-                medicitionClass.setSubdrugsLibType(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey());
-                medicitionClass.setSubdrugsType(ConceptTypeEnum.Drug_Category_Small.getKey());
+    @DataProvider("setTreatmentPlan")
+    public List<TreatmentPlan> setTreatmentPlan(@InvokeParameter("treatmentPlan") List<TreatmentPlan> treatmentPlanList,
+                                                @InvokeParameter("conceptMap") Map<String, Map<Long, Concept>> conceptMap,
+                                                @InvokeParameter("hasConDetailMap") Map<String, Map<Long, List<ConceptDetail>>> hasConDetailMap) {
+        if (ListUtil.isNotEmpty(treatmentPlanList)) {
+            for (TreatmentPlan treatmentPlan : treatmentPlanList) {
+                List<MeditionDetail> meditionDetailList = treatmentPlan.getMeditionDetails();
+                if (ListUtil.isNotEmpty(meditionDetailList)) {
+                    for (MeditionDetail meditionDetail : meditionDetailList) {
+                        //药品推荐
+                        List<MedicitionClass> treatmentDrugList = meditionDetail.getTreatment();
+                        if (ListUtil.isNotEmpty(treatmentDrugList)) {
+                            for (MedicitionClass medicitionClass : treatmentDrugList) {
+                                if (conceptMap != null
+                                        && conceptMap.get(medicitionClass.getBigdrugsName()) != null
+                                        && conceptMap.get(medicitionClass
+                                        .getBigdrugsName())
+                                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
+                                    Concept cateBigConcept = conceptMap
+                                            .get(medicitionClass.getBigdrugsName())
+                                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()));
+                                    if (cateBigConcept != null) {
+                                        medicitionClass.setBigdrugsConceptId(cateBigConcept.getId());
+                                        if (hasConDetailMap != null
+                                                && hasConDetailMap.get(cateBigConcept.getLibName()) != null
+                                                && hasConDetailMap.get(cateBigConcept.getLibName())
+                                                .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
+                                            medicitionClass.setShowInfo("1");
+                                        } else {
+                                            medicitionClass.setShowInfo("0");
+                                        }
+                                    }
+                                }
+                                medicitionClass.setBigdrgusLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
+                                medicitionClass.setBigdrugsType(ConceptTypeEnum.Drug_Category_Big.getKey());
+                                if (conceptMap != null
+                                        && conceptMap.get(medicitionClass.getSubdrugsName()) != null
+                                        && conceptMap.get(medicitionClass.getSubdrugsName())
+                                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()))) {
+                                    Concept cateSmallConcept = conceptMap
+                                            .get(medicitionClass.getSubdrugsName())
+                                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()));
+                                    if (cateSmallConcept != null) {
+                                        medicitionClass.setSubdrugsConceptId(cateSmallConcept.getId());
+                                    }
+                                }
+                                medicitionClass.setSubdrugsLibType(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey());
+                                medicitionClass.setSubdrugsType(ConceptTypeEnum.Drug_Category_Small.getKey());
 
-                LinkedList<Medicition> medicitionList = medicitionClass.getMedicitionsList();
-                for (Medicition medicition : medicitionList) {
-                    if (conceptMap != null
-                            && conceptMap.get(medicition.getMedicitionName()) != null
-                            && conceptMap.get(medicition.getMedicitionName())
-                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
-                        Concept drugConcept = conceptMap
-                                .get(medicition.getMedicitionName())
-                                .get(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()));
-                        if (drugConcept != null) {
-                            medicition.setConceptId(drugConcept.getId());
+                                LinkedList<Medicition> medicitionList = medicitionClass.getMedicitionsList();
+                                for (Medicition medicition : medicitionList) {
+                                    if (conceptMap != null
+                                            && conceptMap.get(medicition.getMedicitionName()) != null
+                                            && conceptMap.get(medicition.getMedicitionName())
+                                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
+                                        Concept drugConcept = conceptMap
+                                                .get(medicition.getMedicitionName())
+                                                .get(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()));
+                                        if (drugConcept != null) {
+                                            medicition.setConceptId(drugConcept.getId());
+                                        }
+                                    }
+                                    medicition.setLibType(LexiconTypeEnum.DRUGS.getKey());
+                                    medicition.setType(ConceptTypeEnum.Drug.getKey());
+                                    if (hasConDetailMap != null
+                                            && hasConDetailMap.get(medicition.getMedicitionName()) != null
+                                            && hasConDetailMap.get(medicition.getMedicitionName())
+                                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
+                                        medicition.setShowInfo("1");
+                                    } else {
+                                        medicition.setShowInfo("0");
+                                    }
+                                }
+                                medicitionClass.setMedicitionsList(medicitionList);
+                            }
                         }
                     }
-                    medicition.setLibType(LexiconTypeEnum.DRUGS.getKey());
-                    medicition.setType(ConceptTypeEnum.Drug.getKey());
-                    if (hasConDetailMap != null
-                            && hasConDetailMap.get(medicition.getMedicitionName()) != null
-                            && hasConDetailMap.get(medicition.getMedicitionName())
-                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
-                        medicition.setShowInfo("1");
-                    } else {
-                        medicition.setShowInfo("0");
-                    }
                 }
-                medicitionClass.setMedicitionsList(medicitionList);
             }
         }
-        return drugsList;
+        return treatmentPlanList;
     }
 
     @DataProvider("setAdverseReactions")
@@ -196,4 +209,4 @@ public class TreatmentAggregate {
         }
         return adverseReactionList;
     }
-}
+}

+ 18 - 0
aipt-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java

@@ -0,0 +1,18 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 11:15
+ */
+@Getter
+@Setter
+public class MeditionDetail {
+    private String description;
+    private List<MedicitionClass> treatment;
+}

+ 7 - 99
aipt-service/src/main/java/com/diagbot/client/bean/ResponseData.java

@@ -1,6 +1,9 @@
 package com.diagbot.client.bean;
 
 import com.alibaba.fastjson.JSONObject;
+import com.google.common.eventbus.AllowConcurrentEvents;
+import lombok.Getter;
+import lombok.Setter;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -10,6 +13,8 @@ import java.util.Map;
 /**
  * Created by fyeman on 2018/2/2.
  */
+@Getter
+@Setter
 public class ResponseData {
     private String participleSymptom = "";
 
@@ -19,107 +24,10 @@ public class ResponseData {
     private List<FeatureRate> labs = new ArrayList<>(10);
     private List<FeatureRate> pacs = new ArrayList<>(10);
     private List<FeatureRate> history = new ArrayList<>(10);
-    private Map<String, JSONObject> treat;   //治疗方案
+    private Treat treat;   //治疗方案
     private Map<String, JSONObject> scale;   //量表内容
     private Map<String, JSONObject> managementEvaluation;   //管理评估
     private List<MedicalIndication> medicalIndications;     //量表和指标项推送
 
     private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.5f);
-
-
-    public String getParticipleSymptom() {
-        return participleSymptom;
-    }
-
-    public void setParticipleSymptom(String participleSymptom) {
-        this.participleSymptom = participleSymptom;
-    }
-
-    public List<FeatureRate> getSymptom() {
-        return symptom;
-    }
-
-    public void setSymptom(List<FeatureRate> symptom) {
-        this.symptom = symptom;
-    }
-
-    public List<FeatureRate> getVitals() {
-        return vitals;
-    }
-
-    public void setVitals(List<FeatureRate> vitals) {
-        this.vitals = vitals;
-    }
-
-    public List<FeatureRate> getDis() {
-        return dis;
-    }
-
-    public void setDis(List<FeatureRate> dis) {
-        this.dis = dis;
-    }
-
-    public List<FeatureRate> getLabs() {
-        return labs;
-    }
-
-    public void setLabs(List<FeatureRate> labs) {
-        this.labs = labs;
-    }
-
-    public List<FeatureRate> getPacs() {
-        return pacs;
-    }
-
-    public void setPacs(List<FeatureRate> pacs) {
-        this.pacs = pacs;
-    }
-
-    public List<FeatureRate> getHistory() {
-        return history;
-    }
-
-    public void setHistory(List<FeatureRate> history) {
-        this.history = history;
-    }
-
-    public Map<String, JSONObject> getTreat() {
-        return treat;
-    }
-
-    public void setTreat(Map<String, JSONObject> treat) {
-        this.treat = treat;
-    }
-
-    public Map<String, Map<String, String>> getInputs() {
-        return inputs;
-    }
-
-    public void setInputs(Map<String, Map<String, String>> inputs) {
-        this.inputs = inputs;
-    }
-
-    public Map<String, JSONObject> getScale() {
-        return scale;
-    }
-
-    public void setScale(Map<String, JSONObject> scale) {
-        this.scale = scale;
-    }
-
-    public Map<String, JSONObject> getManagementEvaluation() {
-        return managementEvaluation;
-    }
-
-    public void setManagementEvaluation(Map<String, JSONObject> managementEvaluation) {
-        this.managementEvaluation = managementEvaluation;
-    }
-
-    public List<MedicalIndication> getMedicalIndications() {
-        return medicalIndications;
-    }
-
-    public void setMedicalIndications(List<MedicalIndication> medicalIndications) {
-        this.medicalIndications = medicalIndications;
-    }
-}
+}

+ 4 - 2
aipt-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -28,7 +28,7 @@ public class SearchData {
     private String lis = "";
     private String pacs = "";
     private String diag = "";
-    private String past = "";
+    private String pasts = "";
     private String other = "";
     private List<LisResult> lisArr;
     private Integer disType; //0-普通病(默认不填),1-慢病,2-急诊
@@ -40,6 +40,8 @@ public class SearchData {
     private String pacsOrder;   //当前正在下单辅检
     private String otherOrder; //其他
 
+    private String ruleType;   //规则类型
+
     //特征类别
     private String featureType;
     //特征类别对","进行分割后数据
@@ -62,4 +64,4 @@ public class SearchData {
     private List<Feature> pacsFeatureList = new ArrayList<>();
     private List<Feature> diagFeatureList = new ArrayList<>();
     private List<Feature> symptompropertyFeatureList = new ArrayList<>();
-}
+}

+ 26 - 0
aipt-service/src/main/java/com/diagbot/client/bean/Treat.java

@@ -0,0 +1,26 @@
+package com.diagbot.client.bean;
+
+import com.diagbot.dto.ConceptDetailDTO;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 15:36
+ */
+@Getter
+@Setter
+public class Treat {
+    private Integer disType;
+    private String diseaseName;
+    private List<AdverseReaction> adverseEvent;//不良反应
+    private List<TreatmentPlan> treatmentPlan;//治疗方案
+    private ConceptDetailDTO commonTreatment; //一般治疗
+    private ConceptDetailDTO surgeryTreatment; //手术治疗
+    private Object followUp;
+    private Map<String, List<Medicition>> drugHistory;
+}

+ 18 - 0
aipt-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java

@@ -0,0 +1,18 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 11:14
+ */
+@Getter
+@Setter
+public class TreatmentPlan {
+    private String title;
+    private List<MeditionDetail> meditionDetails;
+}

+ 0 - 12
aipt-service/src/main/java/com/diagbot/dto/GetTopPatientInfoDTO.java

@@ -141,16 +141,4 @@ public class GetTopPatientInfoDTO {
 	@ApiModelProperty(value="门诊号")
 	private String recordId;
 	
-    /**
-     * 模式分类
-     */
-	@ApiModelProperty(value="模式分类")
-    private Integer modeClassify;
-
-    /**
-     * 模式值
-     */
-	@ApiModelProperty(value="模式值")
-    private Integer modeValue;
-	
 }

+ 7 - 6
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -2,6 +2,7 @@ package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSONObject;
 import com.diagbot.client.bean.ResponseData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.SysTypeEnum;
@@ -103,7 +104,7 @@ public class PushFacade {
      * @param searchVo
      * @return
      */
-    public Map<String, Object> getTreatment(SearchVo searchVo) {
+    public Treat getTreatment(SearchVo searchVo) {
         //记录外部诊断名称
         String diseaseName = searchVo.getDiseaseName();
         //是否对接
@@ -111,17 +112,17 @@ public class PushFacade {
         //入参预处理
         searchVo = precSearchData(searchVo, isConnect);
         ResponseData data = clinicalFacade.processClinicalData(searchVo);
-        Map<String, JSONObject> treat = data.getTreat();
+        Treat treat = data.getTreat();
         if (StringUtil.isBlank(searchVo.getDiseaseName())) {
             throw new CommonException(CommonErrorCode.PARAM_ERROR, "请输入需获取治疗方案的诊断名称");
         }
-        Map<String, Object> treatmentMap
-                = treatmentFacade.getTreatment(treat, searchVo.getDiseaseName(), searchVo.getDisType());
+        treat = treatmentFacade.getTreatment(treat, searchVo.getDiseaseName(), searchVo.getDisType());
+
         //数据引擎模式下,诊断名称转换成外部名称
         if (isConnect && searchVo.getSysType().equals(SysTypeEnum.LTAPI_SERVICE.getKey())) {
-            treatmentMap.put("diseaseName", diseaseName);
+            treat.setDiseaseName(diseaseName);
         }
-        return treatmentMap;
+        return treat;
     }
 
     /**

+ 64 - 172
aipt-service/src/main/java/com/diagbot/facade/TreatmentFacade.java

@@ -1,9 +1,11 @@
 package com.diagbot.facade;
 
-import com.alibaba.fastjson.JSONObject;
 import com.diagbot.client.bean.AdverseReaction;
 import com.diagbot.client.bean.Medicition;
 import com.diagbot.client.bean.MedicitionClass;
+import com.diagbot.client.bean.MeditionDetail;
+import com.diagbot.client.bean.Treat;
+import com.diagbot.client.bean.TreatmentPlan;
 import com.diagbot.dto.ConceptRes;
 import com.diagbot.entity.Concept;
 import com.diagbot.entity.ConceptDetail;
@@ -13,8 +15,8 @@ import com.diagbot.enums.LexiconRSTypeEnum;
 import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
-import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
 import com.diagbot.vo.ConceptBaseVO;
 import com.google.common.collect.Lists;
 import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
@@ -48,8 +50,8 @@ public class TreatmentFacade {
      * @param
      * @return
      */
-    public Map<String, Object> getTreatment(Map<String, JSONObject> treatmentMap, String diseaseName, Integer disType) {
-        Map<String, Object> retMap = new LinkedHashMap<>();
+    public Treat getTreatment(Treat treat, String diseaseName, Integer disType) {
+        List<MedicitionClass> drugsList = Lists.newLinkedList();
         List<String> conceptNameList = Lists.newLinkedList();
         conceptNameList.add(diseaseName);
         ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
@@ -59,49 +61,62 @@ public class TreatmentFacade {
         if (disease == null) {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "诊断不存在");
         }
-        if (treatmentMap == null || treatmentMap.size() == 0 || !treatmentMap.containsKey(diseaseName)) {
+        if (treat == null) {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "未找到治疗方案");
         }
 
         //治疗方案对应诊断
-        retMap.put("diseaseName", diseaseName);
+        treat.setDiseaseName(diseaseName);
 
-        //获取知识图谱治疗方案
-        JSONObject treatmentJson = treatmentMap.get(diseaseName);
-        if (treatmentJson == null || treatmentJson.isEmpty()) {
-            return retMap;
-        }
-        //推荐药物
-        List<MedicitionClass> drugsList
-                = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(), "treatment", MedicitionClass.class);
+        //推荐治疗方案
+        List<TreatmentPlan> treatmentPlanList = treat.getTreatmentPlan();
         //不良反应
-        List<AdverseReaction> adverseReactionList
-                = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(), "adverseEvent", AdverseReaction.class);
-        if (ListUtil.isNotEmpty(drugsList)) {
-            //药品大类
-            List<String> cateBigNameList = drugsList
-                    .stream()
-                    .map(drugs -> drugs.getBigdrugsName())
-                    .collect(Collectors.toList());
-            conceptNameList.addAll(cateBigNameList);
-            //药品小类
-            List<String> cateSmallNameList = drugsList
-                    .stream()
-                    .map(drugs -> drugs.getSubdrugsName())
-                    .collect(Collectors.toList());
-            conceptNameList.addAll(cateSmallNameList);
-            //药品
-            List<Medicition> medicitionTotalList = Lists.newLinkedList();
-            for (MedicitionClass medicitionClass : drugsList) {
-                if (medicitionClass.getMedicitionsList() != null) {
-                    medicitionTotalList.addAll(medicitionClass.getMedicitionsList());
+        List<AdverseReaction> adverseReactionList = treat.getAdverseEvent();
+
+        if (ListUtil.isNotEmpty(treatmentPlanList)) {
+            for (int index = 0; index < treatmentPlanList.size(); index++) {
+                TreatmentPlan treatmentPlan = treatmentPlanList.get(index);
+                List<MeditionDetail> meditionDetailList = treatmentPlan.getMeditionDetails();
+                if (ListUtil.isNotEmpty(meditionDetailList)) {
+                    for (MeditionDetail meditionDetail : meditionDetailList) {
+                        //药品推荐
+                        List<MedicitionClass> treatmentDrugList = meditionDetail.getTreatment();
+                        if (ListUtil.isNotEmpty(treatmentDrugList)) {
+                            drugsList.addAll(treatmentDrugList);
+                            //药品大类
+                            List<String> cateBigNameList = treatmentDrugList
+                                    .stream()
+                                    .map(drugs -> drugs.getBigdrugsName())
+                                    .collect(Collectors.toList());
+                            conceptNameList.addAll(cateBigNameList);
+                            //药品小类
+                            List<String> cateSmallNameList = treatmentDrugList
+                                    .stream()
+                                    .map(drugs -> drugs.getSubdrugsName())
+                                    .collect(Collectors.toList());
+                            conceptNameList.addAll(cateSmallNameList);
+                            //药品
+                            List<Medicition> medicitionTotalList = Lists.newLinkedList();
+                            for (MedicitionClass medicitionClass : treatmentDrugList) {
+                                if (medicitionClass.getMedicitionsList() != null) {
+                                    medicitionTotalList.addAll(medicitionClass.getMedicitionsList());
+                                }
+                            }
+                            List<String> drugNameList = medicitionTotalList
+                                    .stream()
+                                    .map(m -> m.getMedicitionName())
+                                    .collect(Collectors.toList());
+                            conceptNameList.addAll(drugNameList);
+                        } else {
+                            if (StringUtil.isBlank(meditionDetail.getDescription())) {
+                                treatmentPlanList.remove(index);
+                                index--;
+                                break;
+                            }
+                        }
+                    }
                 }
             }
-            List<String> drugNameList = medicitionTotalList
-                    .stream()
-                    .map(m -> m.getMedicitionName())
-                    .collect(Collectors.toList());
-            conceptNameList.addAll(drugNameList);
         }
         if (ListUtil.isNotEmpty(adverseReactionList)) {
             List<String> adNameList = adverseReactionList
@@ -138,155 +153,32 @@ public class TreatmentFacade {
 
         try {
             Map<String, Object> invokeParams = new HashMap<>();
-            invokeParams.put("treatmentMap", retMap);
+            invokeParams.put("treat", treat);
             invokeParams.put("diseaseName", diseaseName);
             invokeParams.put("drugsList", drugsList);
+            invokeParams.put("treatmentPlan", treatmentPlanList);
             invokeParams.put("conceptMap", conceptMap);
             invokeParams.put("hasConDetailMap", hasConDetailMap);
             invokeParams.put("adverseReactionList", adverseReactionList);
             invokeParams.put("isChronic", isChronic);
 
-            retMap
-                    = dataBeanAggregateQueryFacade.get("setTreatmentAll", invokeParams, Map.class);
+            treat = dataBeanAggregateQueryFacade.get("setTreatmentAll", invokeParams, Treat.class);
         } catch (Exception e) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
         }
         //判断是否慢病,慢病增加回访时间,上次用药,不良反应
         if (isChronic) {
-            if (retMap == null) {
-                retMap = new LinkedHashMap<>();
+            if (treat == null) {
+                treat = new Treat();
+                treat.setDiseaseName(diseaseName);
             }
+            treat.setDisType(1);
             //慢病,增加回访时间,暂时前端写死, 以后由只是图谱返回
-            retMap.put("followUp", null);
+            treat.setFollowUp(null);
             //上次用药-icss层处理
-            retMap.put("drugHistory", null);
+            treat.setDrugHistory(null);
         }
-
-        //        //一般治疗&&手术治疗
-        //        if (hasConDetailMap != null && hasConDetailMap.get(diseaseName) != null
-        //                && ListUtil.isNotEmpty(hasConDetailMap
-        //                .get(diseaseName)
-        //                .get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey())))) {
-        //            List<ConceptDetail> diseaseConDetailList
-        //                    = hasConDetailMap.get(diseaseName).get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey()));
-        //            for (ConceptDetail conceptDetail : diseaseConDetailList) {
-        //                ConceptDetailDTO conceptDetailDTO = new ConceptDetailDTO();
-        //                List<String> positionList = Arrays.asList(conceptDetail.getPosition().split(",|,"));
-        //                if (positionList.contains(String.valueOf(PositionTypeEnum.T3.getKey()))
-        //                        && retMap.get("commonTreatment") == null) {
-        //                    BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
-        //                    retMap.put("commonTreatment", conceptDetailDTO);
-        //                }
-        //                if (positionList.contains(String.valueOf(PositionTypeEnum.T4.getKey()))
-        //                        && retMap.get("surgeryTreatment") == null) {
-        //                    BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
-        //                    retMap.put("surgeryTreatment", conceptDetailDTO);
-        //                }
-        //            }
-        //        }
-        //        if (!retMap.containsKey("commonTreatment")) {
-        //            retMap.put("commonTreatment", null);
-        //        }
-        //        if (!retMap.containsKey("surgeryTreatment")) {
-        //            retMap.put("surgeryTreatment", null);
-        //        }
-
-        //        if (ListUtil.isNotEmpty(drugsList)) {
-        //            for (MedicitionClass medicitionClass : drugsList) {
-        //                if (conceptMap != null
-        //                        && conceptMap.get(medicitionClass.getBigdrugsName()) != null
-        //                        && conceptMap.get(medicitionClass
-        //                        .getBigdrugsName())
-        //                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
-        //                    Concept cateBigConcept = conceptMap
-        //                            .get(medicitionClass.getBigdrugsName())
-        //                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()));
-        //                    if (cateBigConcept != null) {
-        //                        medicitionClass.setBigdrugsConceptId(cateBigConcept.getId());
-        //                        if (hasConDetailMap != null
-        //                                && hasConDetailMap.get(cateBigConcept.getLibName()) != null
-        //                                && hasConDetailMap.get(cateBigConcept.getLibName())
-        //                                .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
-        //                            medicitionClass.setShowInfo("1");
-        //                        } else {
-        //                            medicitionClass.setShowInfo("0");
-        //                        }
-        //                    }
-        //                }
-        //                medicitionClass.setBigdrgusLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
-        //                medicitionClass.setBigdrugsType(ConceptTypeEnum.Drug_Category_Big.getKey());
-        //                if (conceptMap != null
-        //                        && conceptMap.get(medicitionClass.getSubdrugsName()) != null
-        //                        && conceptMap.get(medicitionClass.getSubdrugsName())
-        //                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()))) {
-        //                    Concept cateSmallConcept = conceptMap
-        //                            .get(medicitionClass.getSubdrugsName())
-        //                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()));
-        //                    if (cateSmallConcept != null) {
-        //                        medicitionClass.setSubdrugsConceptId(cateSmallConcept.getId());
-        //                    }
-        //                }
-        //                medicitionClass.setSubdrugsLibType(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey());
-        //                medicitionClass.setSubdrugsType(ConceptTypeEnum.Drug_Category_Small.getKey());
-        //
-        //                LinkedList<Medicition> medicitionList = medicitionClass.getMedicitionsList();
-        //                for (Medicition medicition : medicitionList) {
-        //                    if (conceptMap != null
-        //                            && conceptMap.get(medicition.getMedicitionName()) != null
-        //                            && conceptMap.get(medicition.getMedicitionName())
-        //                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
-        //                        Concept drugConcept = conceptMap
-        //                                .get(medicition.getMedicitionName())
-        //                                .get(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()));
-        //                        if (drugConcept != null) {
-        //                            medicition.setConceptId(drugConcept.getId());
-        //                        }
-        //                    }
-        //                    medicition.setLibType(LexiconTypeEnum.DRUGS.getKey());
-        //                    medicition.setType(ConceptTypeEnum.Drug.getKey());
-        //                    if (hasConDetailMap != null
-        //                            && hasConDetailMap.get(medicition.getMedicitionName()) != null
-        //                            && hasConDetailMap.get(medicition.getMedicitionName())
-        //                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
-        //                        medicition.setShowInfo("1");
-        //                    } else {
-        //                        medicition.setShowInfo("0");
-        //                    }
-        //                }
-        //                medicitionClass.setMedicitionsList(medicitionList);
-        //            }
-        //        }
-        //        retMap.put("treatment", drugsList);
-
-
-        //        //不良反应
-        //        for (AdverseReaction adverseReaction : adverseReactionList) {
-        //            if (conceptMap != null
-        //                    && conceptMap.get(adverseReaction.getName()) != null
-        //                    && conceptMap.get(adverseReaction.getName())
-        //                    .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
-        //                Concept adConcept = conceptMap
-        //                        .get(adverseReaction.getName())
-        //                        .get(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()));
-        //                if (adConcept != null) {
-        //                    adverseReaction.setConceptId(adConcept.getId());
-        //                }
-        //            }
-        //            adverseReaction.setLibType(LexiconTypeEnum.SIDE_EFFECTS.getKey());
-        //            adverseReaction.setType(ConceptTypeEnum.SIDE_EFFECTS.getKey());
-        //            if (hasConDetailMap != null
-        //                    && hasConDetailMap.get(adverseReaction.getName()) != null
-        //                    && hasConDetailMap.get(adverseReaction.getName())
-        //                    .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
-        //                adverseReaction.setShowInfo("1");
-        //            } else {
-        //                adverseReaction.setShowInfo("0");
-        //            }
-        //        }
-        //        retMap.put("adverseReactions", adverseReactionList);
-
-
-        return retMap;
+        return treat;
     }
 
     /**

+ 3 - 1
aipt-service/src/main/java/com/diagbot/vo/SearchVo.java

@@ -26,7 +26,7 @@ public class SearchVo {
     //特征类别
     private String featureType;
     private String symptom;
-    private String past;
+    private String pasts;
     private String other;
     private String vital;
     @ApiModelProperty(hidden = true)
@@ -47,4 +47,6 @@ public class SearchVo {
     private String lisOrder;   //当前正在下单化验
     private String pacsOrder;   //当前正在下单辅检
     private String otherOrder; //其他
+
+    private String ruleType;   //规则类型
 }

+ 2 - 2
aipt-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -38,7 +38,7 @@ public class ConceptDetailController {
     @ApiOperation(value = "知识库标准化-获取提示信息[by:zhaops]",
             notes = "name: 标签名称,必填<br>" +
                     "titles: 标题,数组选填<br>" +
-                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>" +
+                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标,25-手术),单选必填<br>" +
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetail")
     @SysLogger("getConceptDetail")
@@ -50,7 +50,7 @@ public class ConceptDetailController {
     @ApiOperation(value = "知识库标准化-批量获取提示信息[by:zhaops]",
             notes = "name: 标签名称,必填<br>" +
                     "titles: 标题,数组选填<br>" +
-                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>" +
+                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标,25-手术),单选必填<br>" +
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetails")
     @SysLogger("getConceptDetails")

+ 9 - 5
aipt-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,6 +1,7 @@
 package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.PushFacade;
@@ -14,7 +15,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
-import java.util.Map;
 
 /**
  * @Description:推理
@@ -33,6 +33,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),M:男,F:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -59,11 +60,12 @@ public class PushController {
                     "lisString:化验纯文本,String<br>" +
                     "lisOrder:下单化验项,多项用分号隔开,String<br>" +
                     "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>")
+                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/treatment")
     @SysLogger("treatment")
-    public RespDTO<Map<String, Object>> getTreatment(@Valid @RequestBody SearchVo searchVo) {
-        Map<String, Object> data = pushFacade.getTreatment((searchVo));
+    public RespDTO<Treat> getTreatment(@Valid @RequestBody SearchVo searchVo) {
+        Treat data = pushFacade.getTreatment((searchVo));
         return RespDTO.onSuc(data);
     }
 
@@ -71,6 +73,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),M:男,F:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -96,7 +99,8 @@ public class PushController {
                     "lisString:化验纯文本,String<br>" +
                     "lisOrder:下单化验项,多项用分号隔开,String<br>" +
                     "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>")
+                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/pushInner")
     @SysLogger("pushInner")
     public RespDTO<PushDTO> pushInner(@Valid @RequestBody SearchVo searchVo) {

+ 1 - 1
aipt-service/src/main/resources/mapper/EvaluationMapper.xml

@@ -31,7 +31,7 @@
 		WHERE a.is_deleted = "N"
 		AND b.lib_type = 18
 		<if test="evaluationModule.diseaseName != null">
-		AND b.lib_name  LIKE CONCAT('%', #{evaluationModule.diseaseName}, '%')
+		AND b.lib_name = #{evaluationModule.diseaseName}
 		</if>
 	</select>
 </mapper>

+ 2 - 1
data-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -3,6 +3,7 @@ package com.diagbot.client;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ScaleContent;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.client.hystrix.AiptServiceHystrix;
 import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.DisclaimerInformationDTO;
@@ -47,7 +48,7 @@ public interface AiptServiceClient {
      * @return
      */
     @PostMapping("/push/treatment")
-    RespDTO<Map<String, Object>> getTreatment(@RequestBody SearchData searchData);
+    RespDTO<Treat> getTreatment(@RequestBody SearchData searchData);
 
     @PostMapping("/disclaimerInformation/getDisclaimerInformations")
     RespDTO<List<DisclaimerInformationDTO>> getDisclaimerInformations();

+ 23 - 0
data-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java

@@ -0,0 +1,23 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description: 不良反应
+ * @Author:zhaops
+ * @time: 2019/3/14 11:14
+ */
+@Getter
+@Setter
+public class AdverseReaction {
+    private Long conceptId;
+    private String name;  //名称
+    private Integer libType;
+    private Integer type;
+    private String showInfo = "0";//是否显示提示信息
+    private Integer controlType; //控件类型
+    private List<AdverseReactionDetail> details;
+}

+ 16 - 0
data-service/src/main/java/com/diagbot/client/bean/AdverseReactionDetail.java

@@ -0,0 +1,16 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 不良反应明细
+ * @Author:zhaops
+ * @time: 2019/3/14 11:19
+ */
+@Getter
+@Setter
+public class AdverseReactionDetail {
+    private String name;
+    private Integer value; //是否选中:0-未选中,1-选中
+}

+ 28 - 0
data-service/src/main/java/com/diagbot/client/bean/Medicition.java

@@ -0,0 +1,28 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:药品信息
+ * @Author:zhaops
+ * @time: 2018/12/17 13:27
+ */
+@Getter
+@Setter
+public class Medicition {
+    private Long conceptId;
+    private String medicitionName;
+    private Integer libType;
+    /**
+     * 1-显示,0-隐藏
+     */
+    private String isShow;
+    private String forbidden;
+    /**
+     * 1-有提示信息,0-没有提示信息
+     */
+    private String showInfo = "0";
+    private String rate;
+    private Integer type;
+}

+ 27 - 0
data-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java

@@ -0,0 +1,27 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.LinkedList;
+
+/**
+ * @Description:药品分类
+ * @Author:zhaops
+ * @time: 2018/12/17 13:32
+ */
+@Getter
+@Setter
+public class MedicitionClass {
+    private String showInfo = "0";
+    private String drugsForbidden;
+    private Long bigdrugsConceptId;//药品分类概念id-大类
+    private String bigdrugsName;//药类名
+    private Integer bigdrgusLibType;
+    private Integer bigdrugsType;
+    private Long subdrugsConceptId;//药品分类概念id-小类
+    private String subdrugsName;//药类名-小类
+    private Integer subdrugsLibType;
+    private Integer subdrugsType;
+    private LinkedList<Medicition> medicitionsList;
+}

+ 18 - 0
data-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java

@@ -0,0 +1,18 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 11:15
+ */
+@Getter
+@Setter
+public class MeditionDetail {
+    private String description;
+    private List<MedicitionClass> treatment;
+}

+ 3 - 1
data-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -20,7 +20,7 @@ public class SearchData {
     //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
     private String sysCode;
     private String symptom;
-    private String past;
+    private String pasts;
     private String other;
     private String vital;
     private String lis;
@@ -40,4 +40,6 @@ public class SearchData {
     private String lisOrder;   //当前正在下单化验
     private String pacsOrder;   //当前正在下单辅检
     private String otherOrder; //其他
+
+    private String ruleType;   //规则类型
 }

+ 26 - 0
data-service/src/main/java/com/diagbot/client/bean/Treat.java

@@ -0,0 +1,26 @@
+package com.diagbot.client.bean;
+
+import com.diagbot.dto.ConceptDetailDTO;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 15:36
+ */
+@Getter
+@Setter
+public class Treat {
+    private Integer disType;
+    private String diseaseName;
+    private List<AdverseReaction> adverseEvent;//不良反应
+    private List<TreatmentPlan> treatmentPlan;//治疗方案
+    private ConceptDetailDTO commonTreatment; //一般治疗
+    private ConceptDetailDTO surgeryTreatment; //手术治疗
+    private Object followUp;
+    private Map<String, List<Medicition>> drugHistory;
+}

+ 18 - 0
data-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java

@@ -0,0 +1,18 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 11:14
+ */
+@Getter
+@Setter
+public class TreatmentPlan {
+    private String title;
+    private List<MeditionDetail> meditionDetails;
+}

+ 2 - 1
data-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -4,6 +4,7 @@ import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ScaleContent;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.DisclaimerInformationDTO;
 import com.diagbot.dto.PushDTO;
@@ -50,7 +51,7 @@ public class AiptServiceHystrix implements AiptServiceClient {
      * @return
      */
     @Override
-    public RespDTO<Map<String, Object>> getTreatment(@RequestBody SearchData searchData) {
+    public RespDTO<Treat> getTreatment(@RequestBody SearchData searchData) {
         log.error("【hystrix】调用{}异常", "getTreatment");
         return null;
     }

+ 2 - 1
data-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -31,7 +31,7 @@ public class AssembleFacade {
         searchData.setVital(pushVO.getVital());
         searchData.setLis(pushVO.getLisString());
         searchData.setPacs(pushVO.getPacs());
-        searchData.setPast(pushVO.getPast());
+        searchData.setPasts(pushVO.getPasts());
         searchData.setOther(pushVO.getOther());
         searchData.setDiag(pushVO.getDiag());
         searchData.setDisType(pushVO.getDisType());
@@ -48,6 +48,7 @@ public class AssembleFacade {
         searchData.setLisOrder(pushVO.getLisOrder());
         searchData.setPacsOrder(pushVO.getPacsOrder());
         searchData.setOtherOrder(pushVO.getOtherOrder());
+        searchData.setRuleType(pushVO.getRuleType());
 
         switch (pushVO.getSex()) {
             case 1:

+ 6 - 6
data-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.ScaleContent;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.ConceptPushDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
@@ -87,12 +88,11 @@ public class PushFacade {
      * @param pushVO
      * @return
      */
-    public Map<String, Object> pushTreatment(PushVO pushVO) {
+    public Treat pushTreatment(PushVO pushVO) {
         SearchData searchData = assembleFacade.assembleData(pushVO);
-        RespDTO<Map<String, Object>> res = aiptServiceClient.getTreatment(searchData);
-        RespDTOUtil.respNGDealCover(res, "中间层没有返回治疗方案");
-        Map<String, Object> data = res.data;
-        return data;
+        RespDTO<Treat> res = aiptServiceClient.getTreatment(searchData);
+        RespDTOUtil.respNGDeal(res, "中间层没有返回治疗方案");
+        return res.data;
     }
 
     /**
@@ -104,7 +104,7 @@ public class PushFacade {
     public List<ScaleContent> pushScale(PushVO pushVO) {
         SearchData searchData = assembleFacade.assembleData(pushVO);
         RespDTO<List<ScaleContent>> res = aiptServiceClient.getScale(searchData);
-        RespDTOUtil.respNGDealCover(res, "中间层没有返回量表");
+        RespDTOUtil.respNGDeal(res, "中间层没有返回量表");
         List<ScaleContent> data = res.data;
         return data;
     }

+ 1 - 2
data-service/src/main/java/com/diagbot/vo/PushBaseVO.java

@@ -28,7 +28,6 @@ public class PushBaseVO {
     private String vital;
     private List<LisResult> lis;
     private String pacs;
-    @ApiModelProperty(hidden = true)
-    private String past;
+    private String pasts;
     private String other;
 }

+ 2 - 0
data-service/src/main/java/com/diagbot/vo/PushVO.java

@@ -24,4 +24,6 @@ public class PushVO  extends PushBaseVO {
     private String lisOrder;   //当前正在下单化验
     private String pacsOrder;   //当前正在下单辅检
     private String otherOrder; //其他
+
+    private String ruleType;   //规则类型
 }

+ 2 - 2
data-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -32,7 +32,7 @@ public class ConceptDetailController {
 
     @ApiOperation(value = "获取提示信息[by:zhaops]",
             notes = "name: 标签名称,必填<br>" +
-                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>" +
+                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标,25-手术),单选必填<br>" +
                     "titles:提示信息标题列表,数组选填<br>" +
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetail")
@@ -45,7 +45,7 @@ public class ConceptDetailController {
     @ApiOperation(value = "批量获取提示信息[by:zhaops]",
             notes = "conceptIntorduces:数组,必填<br>" +
                     "name: 标签名称,必填<br>" +
-                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>" +
+                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标,25-手术),单选必填<br>" +
                     "titles:提示信息标题列表,数组选填<br>" +
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetails")

+ 11 - 4
data-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,6 +1,7 @@
 package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.PushFacade;
@@ -33,6 +34,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填) 1:男,2:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -56,7 +58,8 @@ public class PushController {
                     "lisString:化验纯文本,String<br>" +
                     "lisOrder:下单化验项,多项用分号隔开,String<br>" +
                     "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>")
+                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/push")
     @SysLogger("push")
     public RespDTO<PushDTO> push(@RequestBody @Valid PushVO pushVO) {
@@ -67,6 +70,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),1:男,2:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -90,10 +94,11 @@ public class PushController {
                     "lisString:化验纯文本,String<br>" +
                     "lisOrder:下单化验项,多项用分号隔开,String<br>" +
                     "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>")
+                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/pushTreatment")
     @SysLogger("pushTreatment")
-    public RespDTO<Map<String, Object>> pushTreatment(@RequestBody @Valid PushVO pushVO) {
+    public RespDTO<Treat> pushTreatment(@RequestBody @Valid PushVO pushVO) {
         return RespDTO.onSuc(pushFacade.pushTreatment(pushVO));
     }
 
@@ -101,6 +106,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),1:男,2:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -125,7 +131,8 @@ public class PushController {
                     "lisString:化验纯文本,String<br>" +
                     "lisOrder:下单化验项,多项用分号隔开,String<br>" +
                     "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>")
+                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/pushScale")
     @SysLogger("pushScale")
     public RespDTO<Map<String, Object>> pushScale(@RequestBody @Valid PushVO pushVO) {

+ 12 - 0
docs/023.20191122ICSS标签支持是否显示默认选中/init_icss.sql

@@ -0,0 +1,12 @@
+use `sys-icss`;
+
+ALTER TABLE `icss_question_info`
+ADD COLUMN `sel_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '开启默认选中标记(0:不开启,1:开启)' AFTER `spec_flag`;
+
+INSERT INTO `icss_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '全部', '0', '2', '1', '静态知识检索类型');
+INSERT INTO `icss_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '症状', '1', '2', '30', '静态知识检索类型');
+INSERT INTO `icss_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '诊断', '18', '2', '10', '静态知识检索类型');
+INSERT INTO `icss_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '化验', '12', '2', '40', '静态知识检索类型');
+INSERT INTO `icss_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '辅检', '16', '2', '50', '静态知识检索类型');
+INSERT INTO `icss_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '药品', '10', '2', '20', '静态知识检索类型');
+INSERT INTO `icss_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '手术', '25', '2', '60', '静态知识检索类型');

+ 11 - 1
icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -6,6 +6,7 @@ import com.diagbot.client.bean.ConceptExistVO;
 import com.diagbot.client.bean.DisTypeVO;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.client.hystrix.AiptServiceHystrix;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptIntroduceDTO;
@@ -154,7 +155,7 @@ public interface AiptServiceClient {
      * @return
      */
     @PostMapping("/push/treatment")
-    RespDTO<Map<String, Object>> getTreatment(@RequestBody SearchData searchData);
+    RespDTO<Treat> getTreatment(@RequestBody SearchData searchData);
 
     /**
      * 推理
@@ -244,4 +245,13 @@ public interface AiptServiceClient {
 
     @PostMapping("/lisMapping/getLisMappingByQuestion")
     RespDTO<Map<String, Map<String, String>>> getLisMappingByQuestion(GetLisMappingVO getLisMappingVO);
+
+    /**
+     * 批量获取提示信息
+     *
+     * @param conceptIntroduceVOList
+     * @return
+     */
+    @PostMapping(value = "/conceptDetail/getConceptDetails")
+    RespDTO<List<ConceptIntroduceDTO>> getConceptDetails(@Valid @RequestBody List<ConceptIntroduceVO> conceptIntroduceVOList);
 }

+ 3 - 2
icss-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java

@@ -13,9 +13,10 @@ import java.util.List;
 @Getter
 @Setter
 public class AdverseReaction {
-    private Long id;
+    private Long conceptId;
     private String name;  //名称
-    private String tagName; //标签名称
+    private Integer libType;
+    private Integer type;
     private String showInfo = "0";//是否显示提示信息
     private Integer controlType; //控件类型
     private List<AdverseReactionDetail> details;

+ 18 - 0
icss-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java

@@ -0,0 +1,18 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 11:15
+ */
+@Getter
+@Setter
+public class MeditionDetail {
+    private String description;
+    private List<MedicitionClass> treatment;
+}

+ 5 - 98
icss-service/src/main/java/com/diagbot/client/bean/ResponseData.java

@@ -1,6 +1,8 @@
 package com.diagbot.client.bean;
 
 import com.alibaba.fastjson.JSONObject;
+import lombok.Getter;
+import lombok.Setter;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -10,6 +12,8 @@ import java.util.Map;
 /**
  * Created by fyeman on 2018/2/2.
  */
+@Getter
+@Setter
 public class ResponseData {
     private String participleSymptom = "";
 
@@ -19,107 +23,10 @@ public class ResponseData {
     private List<FeatureRate> labs = new ArrayList<>(10);
     private List<FeatureRate> pacs = new ArrayList<>(10);
     private List<FeatureRate> history = new ArrayList<>(10);
-    private Map<String, JSONObject> treat;   //治疗方案
+    private Treat treat;   //治疗方案
     private Map<String, JSONObject> scale;   //量表内容
     private Map<String, JSONObject> managementEvaluation;   //管理评估
     private List<MedicalIndication> medicalIndications;     //量表和指标项推送
 
     private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.5f);
-
-
-    public String getParticipleSymptom() {
-        return participleSymptom;
-    }
-
-    public void setParticipleSymptom(String participleSymptom) {
-        this.participleSymptom = participleSymptom;
-    }
-
-    public List<FeatureRate> getSymptom() {
-        return symptom;
-    }
-
-    public void setSymptom(List<FeatureRate> symptom) {
-        this.symptom = symptom;
-    }
-
-    public List<FeatureRate> getVitals() {
-        return vitals;
-    }
-
-    public void setVitals(List<FeatureRate> vitals) {
-        this.vitals = vitals;
-    }
-
-    public List<FeatureRate> getDis() {
-        return dis;
-    }
-
-    public void setDis(List<FeatureRate> dis) {
-        this.dis = dis;
-    }
-
-    public List<FeatureRate> getLabs() {
-        return labs;
-    }
-
-    public void setLabs(List<FeatureRate> labs) {
-        this.labs = labs;
-    }
-
-    public List<FeatureRate> getPacs() {
-        return pacs;
-    }
-
-    public void setPacs(List<FeatureRate> pacs) {
-        this.pacs = pacs;
-    }
-
-    public List<FeatureRate> getHistory() {
-        return history;
-    }
-
-    public void setHistory(List<FeatureRate> history) {
-        this.history = history;
-    }
-
-    public Map<String, JSONObject> getTreat() {
-        return treat;
-    }
-
-    public void setTreat(Map<String, JSONObject> treat) {
-        this.treat = treat;
-    }
-
-    public Map<String, Map<String, String>> getInputs() {
-        return inputs;
-    }
-
-    public void setInputs(Map<String, Map<String, String>> inputs) {
-        this.inputs = inputs;
-    }
-
-    public Map<String, JSONObject> getScale() {
-        return scale;
-    }
-
-    public void setScale(Map<String, JSONObject> scale) {
-        this.scale = scale;
-    }
-
-    public Map<String, JSONObject> getManagementEvaluation() {
-        return managementEvaluation;
-    }
-
-    public void setManagementEvaluation(Map<String, JSONObject> managementEvaluation) {
-        this.managementEvaluation = managementEvaluation;
-    }
-
-    public List<MedicalIndication> getMedicalIndications() {
-        return medicalIndications;
-    }
-
-    public void setMedicalIndications(List<MedicalIndication> medicalIndications) {
-        this.medicalIndications = medicalIndications;
-    }
 }

+ 8 - 1
icss-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -21,7 +21,7 @@ public class SearchData {
     //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
     private String sysCode;
     private String symptom;
-    private String past;
+    private String pasts;
     private String other;
     private String vital;
     private String lis;
@@ -37,4 +37,11 @@ public class SearchData {
     private String hosCode;    //医院编码
     @ApiModelProperty(hidden = true)
     private Integer sysType;   //系统类型
+
+    private String lisString;  //化验纯文本
+    private String lisOrder;   //当前正在下单化验
+    private String pacsOrder;   //当前正在下单辅检
+    private String otherOrder; //其他
+
+    private String ruleType;   //规则类型
 }

+ 26 - 0
icss-service/src/main/java/com/diagbot/client/bean/Treat.java

@@ -0,0 +1,26 @@
+package com.diagbot.client.bean;
+
+import com.diagbot.dto.ConceptDetailDTO;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 15:36
+ */
+@Getter
+@Setter
+public class Treat {
+    private Integer disType;
+    private String diseaseName;
+    private List<AdverseReaction> adverseEvent;//不良反应
+    private List<TreatmentPlan> treatmentPlan;//治疗方案
+    private ConceptDetailDTO commonTreatment; //一般治疗
+    private ConceptDetailDTO surgeryTreatment; //手术治疗
+    private Object followUp;
+    private Map<String, List<Medicition>> drugHistory;
+}

+ 18 - 0
icss-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java

@@ -0,0 +1,18 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 11:14
+ */
+@Getter
+@Setter
+public class TreatmentPlan {
+    private String title;
+    private List<MeditionDetail> meditionDetails;
+}

+ 15 - 2
icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -7,6 +7,7 @@ import com.diagbot.client.bean.ConceptExistVO;
 import com.diagbot.client.bean.DisTypeVO;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
@@ -188,7 +189,7 @@ public class AiptServiceHystrix implements AiptServiceClient {
      * @return
      */
     @Override
-    public RespDTO<Map<String, Object>> getTreatment(@RequestBody SearchData searchData) {
+    public RespDTO<Treat> getTreatment(@RequestBody SearchData searchData) {
         log.error("【hystrix】调用{}异常", "getTreatment");
         return null;
     }
@@ -306,7 +307,7 @@ public class AiptServiceHystrix implements AiptServiceClient {
      * 获取版本信息
      */
     @Override
-    public RespDTO<VersionWrapperDTO> getVersionInfoAlls(VersionVO versionVO){
+    public RespDTO<VersionWrapperDTO> getVersionInfoAlls(VersionVO versionVO) {
         log.error("【hystrix】调用{}异常", "getVersionInfoAlls");
         return null;
     }
@@ -316,4 +317,16 @@ public class AiptServiceHystrix implements AiptServiceClient {
         log.error("【hystrix】调用{}异常", "getLisMappingByQuestion");
         return null;
     }
+
+    /**
+     * 批量获取提示信息
+     *
+     * @param conceptIntroduceVOList
+     * @return
+     */
+    @Override
+    public RespDTO<List<ConceptIntroduceDTO>> getConceptDetails(@Valid @RequestBody List<ConceptIntroduceVO> conceptIntroduceVOList) {
+        log.error("【hystrix】调用{}异常", "getConceptDetails");
+        return null;
+    }
 }

+ 0 - 12
icss-service/src/main/java/com/diagbot/dto/GetTopPatientInfoDTO.java

@@ -141,16 +141,4 @@ public class GetTopPatientInfoDTO {
 	@ApiModelProperty(value="门诊号")
 	private String recordId;
 	
-    /**
-     * 模式分类
-     */
-	@ApiModelProperty(value="模式分类")
-    private Integer modeClassify;
-
-    /**
-     * 模式值
-     */
-	@ApiModelProperty(value="模式值")
-    private Integer modeValue;
-	
 }

+ 1 - 0
icss-service/src/main/java/com/diagbot/dto/QuestionDTO.java

@@ -43,6 +43,7 @@ public class QuestionDTO {
     private String uniqueName; //隐藏名称
     private String formulaCode;     //公式编码
     private Integer specFlag;//特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
+    private Integer selFlag; // 开启默认选中标记(0:不开启,1:开启)
     private String remark;//备注
 
 }

+ 88 - 0
icss-service/src/main/java/com/diagbot/entity/DictionaryInfo.java

@@ -0,0 +1,88 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * icss字典表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-25
+ */
+@TableName("icss_dictionary_info")
+@Getter
+@Setter
+public class DictionaryInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 分组(值自定义)
+     */
+    private Long groupType;
+
+    /**
+     * 内容
+     */
+    private String name;
+
+    /**
+     * 值
+     */
+    private String val;
+
+    /**
+     * 返回类型(0: 都返回,1:后台维护返回 2:icss界面返回)
+     */
+    private Integer returnType;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 5 - 0
icss-service/src/main/java/com/diagbot/entity/QuestionInfo.java

@@ -135,6 +135,11 @@ public class QuestionInfo implements Serializable {
      */
     private Integer specFlag;
 
+    /**
+     * 开启默认选中标记(0:不开启,1:开启)
+     */
+    private Integer selFlag;
+
     /**
      * 备注
      */

+ 5 - 1
icss-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -34,7 +34,7 @@ public class AssembleFacade {
         searchData.setSymptom(pushVO.getSymptom());
         searchData.setVital(pushVO.getVital());
         searchData.setPacs(pushVO.getPacs());
-        searchData.setPast(pushVO.getPast());
+        searchData.setPasts(pushVO.getPasts());
         searchData.setOther(pushVO.getOther());
         searchData.setDiag(pushVO.getDiag());
         searchData.setDisType(pushVO.getDisType());
@@ -47,6 +47,10 @@ public class AssembleFacade {
         searchData.setSysCode("1");
         searchData.setLength(10);
         searchData.setSysType(SysTypeEnum.ICSS_SERVICE.getKey());
+        searchData.setRuleType(pushVO.getRuleType());
+        searchData.setLisOrder(pushVO.getLisOrder());
+        searchData.setPacsOrder(pushVO.getPacsOrder());
+        searchData.setOtherOrder(pushVO.getOtherOrder());
 
         switch (pushVO.getSex()) {
             case 1:

+ 14 - 0
icss-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -8,6 +8,8 @@ import com.diagbot.vo.ConceptIntroduceVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
  * @Description:提示信息业务层
  * @Author:zhaops
@@ -29,4 +31,16 @@ public class ConceptDetailFacade {
         RespDTOUtil.respNGDeal(res, "获取提示信息失败");
         return res.data;
     }
+
+    /**
+     * 批量获取提示信息
+     *
+     * @param conceptIntroduceVOList
+     * @return
+     */
+    public List<ConceptIntroduceDTO> getConceptDetails(List<ConceptIntroduceVO> conceptIntroduceVOList) {
+        RespDTO<List<ConceptIntroduceDTO>> res = aiptServiceClient.getConceptDetails(conceptIntroduceVOList);
+        RespDTOUtil.respNGDeal(res, "获取静态知识失败");
+        return res.data;
+    }
 }

+ 34 - 0
icss-service/src/main/java/com/diagbot/facade/DictionaryFacade.java

@@ -0,0 +1,34 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.DictionaryInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.DictionaryInfoServiceImpl;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhoutg
+ * @time: 2018/11/23 11:37
+ */
+@Component
+public class DictionaryFacade extends DictionaryInfoServiceImpl {
+
+    /**
+     * 返回字典信息
+     *
+     * @return
+     */
+    public Map<Long, List<DictionaryInfo>> getList() {
+        List<DictionaryInfo> list = this.list(new QueryWrapper<DictionaryInfo>()
+                .in("return_type", ListUtil.arrayToList(new Long[] { 0L, 2L }))
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .orderByAsc("group_type", "order_no"));
+        return EntityUtil.makeEntityListMap(list, "groupType");
+    }
+}

+ 85 - 82
icss-service/src/main/java/com/diagbot/facade/DoctorPageModeFacade.java

@@ -1,82 +1,85 @@
-package com.diagbot.facade;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.diagbot.dto.DoctorPageModeDTO;
-import com.diagbot.entity.DoctorPageMode;
-import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.service.impl.DoctorPageModeServiceImpl;
-import com.diagbot.util.BeanUtil;
-import com.diagbot.util.DateUtil;
-import com.diagbot.vo.DoctorIdVO;
-import com.diagbot.vo.DoctorPageModeVO;
-import org.springframework.stereotype.Component;
-
-import javax.validation.Valid;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author wangfeng
- * @Description: 医生页面模式设置
- * @date 2018年11月20日 下午2:56:01
- */
-@Component
-public class DoctorPageModeFacade extends DoctorPageModeServiceImpl {
-
-    /**
-     * 保存医生页面结构设置信息
-     *
-     * @param doctorPageModeVO
-     * @return
-     */
-    public boolean saveDoctorPageMode(DoctorPageModeVO doctorPageModeVO) {
-        QueryWrapper<DoctorPageMode> doctorPageModeWrapper = new QueryWrapper<>();
-        Map<String, Object> mapAll = new HashMap<>();
-        mapAll.put("doctor_id", doctorPageModeVO.getDoctorId());
-        mapAll.put("mode_classify", doctorPageModeVO.getModeClassify());
-        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
-        doctorPageModeWrapper.allEq(mapAll);
-        DoctorPageMode datas = getOne(doctorPageModeWrapper, false);
-        boolean res = false;
-        if (datas != null) {
-            UpdateWrapper<DoctorPageMode> doctorPageModeUpdate = new UpdateWrapper<>();
-            doctorPageModeUpdate.eq("id", datas.getId())
-                    .set("mode_classify", doctorPageModeVO.getModeClassify())
-                    .set("mode_value", doctorPageModeVO.getModeValue())
-                    .set("modifier", doctorPageModeVO.getDoctorId().toString())
-                    .set("gmt_modified", DateUtil.now());
-            res = update(new DoctorPageMode(), doctorPageModeUpdate);
-            //throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名已存在");
-        } else {
-            DoctorPageMode doctorPageMode = new DoctorPageMode();
-            doctorPageMode.setDoctorId(doctorPageModeVO.getDoctorId());
-            doctorPageMode.setModeClassify(doctorPageModeVO.getModeClassify());
-            doctorPageMode.setModeValue(doctorPageModeVO.getModeValue());
-            doctorPageMode.setCreator(doctorPageModeVO.getDoctorId().toString());
-            doctorPageMode.setGmtCreate(DateUtil.now());
-            res = save(doctorPageMode);
-        }
-
-        return res;
-    }
-
-    /**
-     * 获取医生页面结构设置信息
-     *
-     * @param doctorIdVO
-     * @return
-     */
-    public List<DoctorPageModeDTO> getDoctorPageMode(@Valid DoctorIdVO doctorIdVO) {
-        QueryWrapper<DoctorPageMode> doctorPageModeWrapper = new QueryWrapper<>();
-        Map<String, Object> mapAll = new HashMap<>();
-        mapAll.put("doctor_id", doctorIdVO.getDoctorId());
-        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
-        doctorPageModeWrapper.allEq(mapAll);
-        List<DoctorPageMode> doctorPageModeData = list(doctorPageModeWrapper);
-        List<DoctorPageModeDTO> data = BeanUtil.listCopyTo(doctorPageModeData, DoctorPageModeDTO.class);
-        return data;
-    }
-
-}
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.dto.DoctorPageModeDTO;
+import com.diagbot.entity.DoctorPageMode;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.DoctorPageModeServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.DoctorIdVO;
+import com.diagbot.vo.DoctorPageModeAllVO;
+import com.diagbot.vo.DoctorPageModeVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.swing.text.Utilities;
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author wangfeng
+ * @Description: 医生页面模式设置
+ * @date 2018年11月20日 下午2:56:01
+ */
+@Component
+public class DoctorPageModeFacade extends DoctorPageModeServiceImpl {
+
+    @Autowired
+    DoctorPageModeServiceImpl doctorPageModeServiceImpl;
+    /**
+     * 保存医生页面结构设置信息
+     *
+     * @param doctorPageModeAllVO
+     * @return
+     */
+    public boolean saveDoctorPageMode(DoctorPageModeAllVO doctorPageModeAllVO) {
+        boolean res = false;
+        if(ListUtil.isNotEmpty(doctorPageModeAllVO.getDoctorPageMode())) {
+            QueryWrapper<DoctorPageMode> doctorPageModeWrapper = new QueryWrapper<>();
+            doctorPageModeWrapper.eq("doctor_id", doctorPageModeAllVO.getDoctorId())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey());
+            res = remove(doctorPageModeWrapper);
+            List<DoctorPageMode> doctorData = new ArrayList<DoctorPageMode>();
+            Date dateTime = DateUtil.now();
+            for (DoctorPageModeVO doctorPageModeData : doctorPageModeAllVO.getDoctorPageMode()) {
+                DoctorPageMode data = new DoctorPageMode();
+                data.setCreator(doctorPageModeAllVO.getDoctorId().toString());
+                data.setGmtCreate(dateTime);
+                data.setGmtModified(dateTime);
+                data.setModifier(doctorPageModeAllVO.getDoctorId().toString());
+                data.setModeClassify(doctorPageModeData.getModeClassify());
+                data.setDoctorId(doctorPageModeAllVO.getDoctorId());
+                data.setModeValue(doctorPageModeData.getModeValue());
+                doctorData.add(data);
+            }
+            res = doctorPageModeServiceImpl.saveBatch(doctorData);
+        }
+        return res;
+    }
+
+    /**
+     * 获取医生页面结构设置信息
+     *
+     * @param doctorIdVO
+     * @return
+     */
+    public List<DoctorPageModeDTO> getDoctorPageMode(@Valid DoctorIdVO doctorIdVO) {
+        QueryWrapper<DoctorPageMode> doctorPageModeWrapper = new QueryWrapper<>();
+        Map<String, Object> mapAll = new HashMap<>();
+        mapAll.put("doctor_id", doctorIdVO.getDoctorId());
+        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
+        doctorPageModeWrapper.allEq(mapAll);
+        List<DoctorPageMode> doctorPageModeData = list(doctorPageModeWrapper);
+        List<DoctorPageModeDTO> data = BeanUtil.listCopyTo(doctorPageModeData, DoctorPageModeDTO.class);
+        return data;
+    }
+
+}

+ 1 - 12
icss-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java

@@ -51,18 +51,7 @@ public class PatientInfoFacade {
     public GetTopPatientInfoDTO getTopPatientInfo(@RequestBody GetTopPatientInfoVO getTopPatientInfoVO) {
         RespDTO<GetTopPatientInfoDTO> respDTO = aiptServiceClient.getTopPatientInfo(getTopPatientInfoVO);
         RespDTOUtil.respNGDealCover(respDTO, "获取页面顶部病人医生科室信息失败");
-
-        GetTopPatientInfoDTO getTopPatientInfoDTO = respDTO.data;
-
-        QueryWrapper<DoctorPageMode> doctorPageModeQe = new QueryWrapper<>();
-        doctorPageModeQe.eq("is_deleted", IsDeleteEnum.N.getKey());
-        doctorPageModeQe.eq("doctor_id", getTopPatientInfoDTO.getDoctorId());
-        DoctorPageMode doctorPageMode = doctorPageModeFacade.getOne(doctorPageModeQe, false);
-        if (doctorPageMode != null) {
-            getTopPatientInfoDTO.setModeClassify(doctorPageMode.getModeClassify());
-            getTopPatientInfoDTO.setModeValue(doctorPageMode.getModeValue());
-        }
-        return getTopPatientInfoDTO;
+        return respDTO.data;
     }
 
 }

+ 5 - 4
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushKYJDTO;
 import com.diagbot.dto.RespDTO;
@@ -72,8 +73,8 @@ public class PushFacade {
      * @param searchData
      * @return
      */
-    public Map<String, Object> getTreatment(SearchData searchData) {
-        RespDTO<Map<String, Object>> res = aiptServiceClient.getTreatment(searchData);
+    public Treat getTreatment(SearchData searchData) {
+        RespDTO<Treat> res = aiptServiceClient.getTreatment(searchData);
         RespDTOUtil.respNGDealCover(res, "中间层没有返回治疗方案");
         return res.data;
     }
@@ -137,9 +138,9 @@ public class PushFacade {
      * @param pushVO
      * @return
      */
-    public Map<String, Object> pushTreatment(PushVO pushVO) {
+    public Treat pushTreatment(PushVO pushVO) {
         SearchData searchData = assembleFacade.assembleData(pushVO);
-        Map<String, Object> data = getTreatment(searchData);
+        Treat data = getTreatment(searchData);
         data = treatmentFacade.getTreatment(data, pushVO.getPatientId());
         return data;
     }

+ 2 - 1
icss-service/src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -174,12 +174,13 @@ public class RetrievalFacade {
         if (null == types) {
             types = new ArrayList<>();
         }
-        if (ListUtil.isEmpty(types)) {
+        if (ListUtil.isEmpty(types) || types.contains(0)) { // 空或者0,搜索全部
             // 添加标签类型
             typeList.add(ConceptTypeEnum.Symptom.getKey());
             typeList.add(ConceptTypeEnum.Lis.getKey());
 
             // 添加词库搜索类型
+            types.clear();
             types.add(StaticSearchTypeEnum.DIAGNOSIS.getKey());
             types.add(StaticSearchTypeEnum.DRUGS.getKey());
             types.add(StaticSearchTypeEnum.SYMPTOM.getKey());

+ 7 - 10
icss-service/src/main/java/com/diagbot/facade/TreatmentFacade.java

@@ -5,6 +5,7 @@ import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.ConceptBaseVO;
 import com.diagbot.client.bean.DisTypeVO;
 import com.diagbot.client.bean.Medicition;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.InquiryDrug;
 import com.diagbot.entity.InquiryInfo;
@@ -46,18 +47,14 @@ public class TreatmentFacade {
      * @param
      * @return
      */
-    public Map<String, Object> getTreatment(Map<String, Object> map, Long patientId) {
-        Map<String, Object> retMap = map;
+    public Treat getTreatment(Treat treat, Long patientId) {
         //慢病 上次用药处理
-        if (map.containsKey("drugHistory")) {
-            //上次用药
-            if (patientId == null) {
-                retMap.put("drugHistory", null);
-            } else {
-                retMap.put("drugHistory", getDrugHistory(patientId));
-            }
+        if (treat.getDisType() != null && treat.getDisType().equals(1) && patientId != null) {
+            treat.setDrugHistory(getDrugHistory(patientId));
+        } else {
+            treat.setDrugHistory(null);
         }
-        return retMap;
+        return treat;
     }
 
 

+ 16 - 0
icss-service/src/main/java/com/diagbot/mapper/DictionaryInfoMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.DictionaryInfo;
+
+/**
+ * <p>
+ * icss字典表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-25
+ */
+public interface DictionaryInfoMapper extends BaseMapper<DictionaryInfo> {
+
+}

+ 16 - 0
icss-service/src/main/java/com/diagbot/service/DictionaryInfoService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.DictionaryInfo;
+
+/**
+ * <p>
+ * icss字典表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-25
+ */
+public interface DictionaryInfoService extends IService<DictionaryInfo> {
+
+}

+ 20 - 0
icss-service/src/main/java/com/diagbot/service/impl/DictionaryInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.entity.DictionaryInfo;
+import com.diagbot.mapper.DictionaryInfoMapper;
+import com.diagbot.service.DictionaryInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * icss字典表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-25
+ */
+@Service
+public class DictionaryInfoServiceImpl extends ServiceImpl<DictionaryInfoMapper, DictionaryInfo> implements DictionaryInfoService {
+
+}

+ 17 - 0
icss-service/src/main/java/com/diagbot/vo/ConceptIntorducesVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/31 16:45
+ */
+@Getter
+@Setter
+public class ConceptIntorducesVO {
+    private List<ConceptIntroduceVO> conceptIntorduces;
+}

+ 25 - 0
icss-service/src/main/java/com/diagbot/vo/DoctorPageModeAllVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-11-21 16:48
+ */
+@Setter
+@Getter
+public class DoctorPageModeAllVO {
+
+    /**
+     * 医生id
+     */
+    @NotNull(message = "请输入医生id")
+    private Long doctorId;
+
+    private List<DoctorPageModeVO> doctorPageMode;
+}

+ 29 - 33
icss-service/src/main/java/com/diagbot/vo/DoctorPageModeVO.java

@@ -1,33 +1,29 @@
-package com.diagbot.vo;
-
-import javax.validation.constraints.NotNull;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 
- * @author wangfeng
- * @Description: TODO
- * @date 2018年11月20日 下午3:15:26
- */
-@Setter
-@Getter
-public class DoctorPageModeVO {
-	/**
-     * 医生id
-     */
-	@NotNull(message = "请输入医生id")
-    private Long doctorId;
-    /**
-     * 模式分类
-     */
-    private Integer modeClassify;
-
-    /**
-     * 模式值
-     */
-    private Integer modeValue;
-
-
-}
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotNull;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2018年11月20日 下午3:15:26
+ */
+@Setter
+@Getter
+public class DoctorPageModeVO {
+
+    /**
+     * 模式分类
+     */
+    private Integer modeClassify;
+
+    /**
+     * 模式值
+     */
+    private Integer modeValue;
+
+
+}

+ 1 - 2
icss-service/src/main/java/com/diagbot/vo/PushBaseVO.java

@@ -27,7 +27,6 @@ public class PushBaseVO {
     private String vital;
     private List<LisResult> lis;
     private String pacs;
-    @ApiModelProperty(hidden = true)
-    private String past;
+    private String pasts;
     private String other;
 }

+ 2 - 0
icss-service/src/main/java/com/diagbot/vo/PushVO.java

@@ -23,4 +23,6 @@ public class PushVO  extends PushBaseVO {
     private String lisOrder;   //当前正在下单化验
     private String pacsOrder;   //当前正在下单辅检
     private String otherOrder; //其他
+
+    private String ruleType;   //规则类型
 }

+ 6 - 1
icss-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java

@@ -2,6 +2,7 @@ package com.diagbot.vo;
 
 import java.util.List;
 
+import com.diagbot.dto.ConceptIntroduceDTO;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -68,6 +69,10 @@ public class SaveInquiryToHisVO {
 	 * 问诊明细
 	 */
     private List<SaveInquiryToHisDetailVO> detailList;
-    
+
+    /**
+     * 一般治疗
+     */
+    private List<ConceptIntroduceDTO> conceptIntroduceDTO;
    
 }

+ 7 - 0
icss-service/src/main/java/com/diagbot/vo/SaveInquiryVO.java

@@ -7,6 +7,7 @@ import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 
+import com.diagbot.dto.ConceptIntroduceDTO;
 import org.hibernate.validator.constraints.Range;
 
 import io.swagger.annotations.ApiModel;
@@ -122,5 +123,11 @@ public class SaveInquiryVO {
     @Valid
     @ApiModelProperty(value="指标值明细")
     private List<IndexDataVO> IndexData;
+
+    /**
+     * 一般治疗
+     */
+    @ApiModelProperty(value="治疗方案")
+    private List<ConceptIntroduceDTO> conceptIntroduceDTO;
    
 }

+ 16 - 1
icss-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -4,6 +4,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ConceptDetailFacade;
+import com.diagbot.vo.ConceptIntorducesVO;
 import com.diagbot.vo.ConceptIntroduceVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * <p>
@@ -33,7 +35,7 @@ public class ConceptDetailController {
 
     @ApiOperation(value = "知识库标准化-获取提示信息[by:zhaops]",
             notes = "name: 标签名称,必填<br>" +
-                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>" +
+                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标,25-手术),单选必填<br>" +
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetail")
     @SysLogger("getConceptDetail")
@@ -41,4 +43,17 @@ public class ConceptDetailController {
         ConceptIntroduceDTO data = conceptDetailFacade.getConceptDetail(conceptIntroduceVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "批量获取提示信息[by:zhaops]",
+            notes = "conceptIntorduces:数组,必填<br>" +
+                    "name: 标签名称,必填<br>" +
+                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标,25-手术),单选必填<br>" +
+                    "titles:提示信息标题列表,数组选填<br>" +
+                    "position:1-摘要,2-全文,3-一般治疗,4-手术治疗,5-药品说明书,6-不良反应,单选选填")
+    @PostMapping("/getConceptDetails")
+    @SysLogger("getConceptDetails")
+    public RespDTO<List<ConceptIntroduceDTO>> getConceptDetails(@Valid @RequestBody ConceptIntorducesVO conceptIntorducesVO) {
+        List<ConceptIntroduceDTO> data = conceptDetailFacade.getConceptDetails(conceptIntorducesVO.getConceptIntorduces());
+        return RespDTO.onSuc(data);
+    }
 }

+ 45 - 0
icss-service/src/main/java/com/diagbot/web/DictionaryInfoController.java

@@ -0,0 +1,45 @@
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.DictionaryInfo;
+import com.diagbot.facade.DictionaryFacade;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * icss字典表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-25
+ */
+@RequestMapping("/dictionaryInfo")
+@RestController
+@SuppressWarnings("unchecked")
+@Api(value = "字典信息", tags = { "字典信息" })
+public class DictionaryInfoController {
+
+
+    @Autowired
+    DictionaryFacade dictionaryFacade;
+
+    @ApiOperation(value = "返回字典信息[by:zhoutg]",
+            notes = "")
+    @PostMapping("/getList")
+    @SysLogger("getList")
+    @Transactional
+    public RespDTO<Map<Long, List<DictionaryInfo>>> getList() {
+        Map<Long, List<DictionaryInfo>> data = dictionaryFacade.getList();
+        return RespDTO.onSuc(data);
+    }
+}

+ 8 - 3
icss-service/src/main/java/com/diagbot/web/DoctorPageModeController.java

@@ -5,6 +5,7 @@ import com.diagbot.dto.DoctorPageModeDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.DoctorPageModeFacade;
 import com.diagbot.vo.DoctorIdVO;
+import com.diagbot.vo.DoctorPageModeAllVO;
 import com.diagbot.vo.DoctorPageModeVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -46,12 +47,16 @@ public class DoctorPageModeController {
     @PostMapping("/saveDoctorPageModes")
     @SysLogger("saveDoctorPageModes")
     @Transactional
-    public RespDTO<Boolean> saveDoctorPageModes(@Valid @RequestBody DoctorPageModeVO doctorPageModeVO) {
-        boolean res = doctorPageModeFacade.saveDoctorPageMode(doctorPageModeVO);
+    public RespDTO<Boolean> saveDoctorPageModes(@Valid @RequestBody DoctorPageModeAllVO doctorPageModeAllVO) {
+        boolean res = doctorPageModeFacade.saveDoctorPageMode(doctorPageModeAllVO);
         return RespDTO.onSuc(res);
     }
 
-    @ApiOperation(value = "获取医生页面结构设置信息[by:wangfeng]", notes = "获取医生页面结构设置信息")
+    @ApiOperation(value = "获取医生页面结构设置信息[by:wangfeng]", notes = "获取医生页面结构设置信息</br>" +
+            "添加四个配置:1:现病史是否默认选择(0不选择)</br>" +
+            "2:其它史是否默认选择(0不选择)</br>" +
+            "3:字体方案(0标准,1较大)</br>" +
+            "4:颜色方案(0黑,1灰)")
     @PostMapping("/getDoctorPageModes")
     @SysLogger("getDoctorPageModes")
     public RespDTO<List<DoctorPageModeDTO>> getDoctorPageModes(@Valid @RequestBody DoctorIdVO doctorIdVO) {

+ 8 - 4
icss-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,6 +1,7 @@
 package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushKYJDTO;
 import com.diagbot.dto.RespDTO;
@@ -18,7 +19,6 @@ import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
-import java.util.Map;
 
 /**
  * @Description:推理接口
@@ -40,6 +40,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),1:男,2:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -63,7 +64,8 @@ public class PushController {
                     "lisString:化验纯文本,String<br>" +
                     "lisOrder:下单化验项,多项用分号隔开,String<br>" +
                     "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>")
+                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/pushInner")
     @SysLogger("pushInner")
     public RespDTO<PushDTO> pushInner(@RequestBody @Valid PushVO pushVO) {
@@ -74,6 +76,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),1:男,2:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -98,10 +101,11 @@ public class PushController {
                     "lisString:化验纯文本,String<br>" +
                     "lisOrder:下单化验项,多项用分号隔开,String<br>" +
                     "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>")
+                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/pushTreatment")
     @SysLogger("pushTreatment")
-    public RespDTO<Map<String, Object>> pushTreatment(@RequestBody @Valid PushVO pushVO) {
+    public RespDTO<Treat> pushTreatment(@RequestBody @Valid PushVO pushVO) {
         return RespDTO.onSuc(pushFacade.pushTreatment(pushVO));
     }
 

+ 21 - 0
icss-service/src/main/resources/mapper/DictionaryInfoMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.DictionaryInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DictionaryInfo">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="group_type" property="groupType" />
+        <result column="name" property="name" />
+        <result column="val" property="val" />
+        <result column="return_type" property="returnType" />
+        <result column="order_no" property="orderNo" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 2 - 0
icss-service/src/main/resources/mapper/QuestionInfoMapper.xml

@@ -25,6 +25,8 @@
         <result column="show_info" property="showInfo" />
         <result column="joint" property="joint" />
         <result column="formula_code" property="formulaCode" />
+        <result column="spec_flag" property="specFlag" />
+        <result column="sel_flag" property="selFlag" />
         <result column="remark" property="remark" />
     </resultMap>
 

+ 4 - 0
icssman-service/src/main/java/com/diagbot/config/MybatisPlusConfigurer.java

@@ -23,6 +23,10 @@ public class MybatisPlusConfigurer {
     @Bean
     public PaginationInterceptor paginationInterceptor() {
         PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
+        // 设置请求的页面大于最大页后操作,true调回到首页,false继续请求,默认false
+        //paginationInterceptor.setOverflow(false);
+        // 设置最大单页限制数量,默认500条,-1不受限制
+        //paginationInterceptor.setLimit(500L);
         return paginationInterceptor;
     }
 

+ 1 - 0
icssman-service/src/main/java/com/diagbot/dto/QuestionDTO.java

@@ -44,6 +44,7 @@ public class QuestionDTO {
     private List<QuestionDTO> questionMapping = new ArrayList<>();     //下级标签
     private Integer disType;//诊断类型
     private Integer specFlag;//特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
+    private Integer selFlag; // 开启默认选中标记(0:不开启,1:开启)
 //    private List<ScaleContentDTO> scale = new ArrayList<>();
     private String remark;//备注
 }

+ 5 - 0
icssman-service/src/main/java/com/diagbot/dto/QuestionPageDTO.java

@@ -164,6 +164,11 @@ public class QuestionPageDTO implements Serializable {
      */
     private Integer specFlag;
 
+    /**
+     * 开启默认选中标记(0:不开启,1:开启)
+     */
+    private Integer selFlag;
+
     /**
      * 备注
      */

+ 5 - 0
icssman-service/src/main/java/com/diagbot/entity/QuestionInfo.java

@@ -165,6 +165,11 @@ public class QuestionInfo implements Serializable {
      */
     private Integer specFlag;
 
+    /**
+     * 开启默认选中标记(0:不开启,1:开启)
+     */
+    private Integer selFlag;
+
     /**
      * 备注
      */

+ 2 - 1
icssman-service/src/main/java/com/diagbot/entity/wrapper/QuestionWrapper.java

@@ -42,7 +42,8 @@ public class QuestionWrapper implements Serializable {
     private Integer showInfo; //是否显示i
     private String joint;     //标签连接符
     private String formulaCode; //公式编码
-    private Integer specFlag;//特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
+    private Integer specFlag; //特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
+    private Integer selFlag; //开启默认选中标记(0:不开启,1:开启)
     private String remark; //备注
     private List<QuestionDetail> questionDetails = new ArrayList<>(); //明细
     private List<QuestionMappingWrapper> questionMappings = new ArrayList<>(); //映射关系

+ 2 - 0
icssman-service/src/main/resources/mapper/QuestionInfoMapper.xml

@@ -30,6 +30,8 @@
         <result column="show_info" property="showInfo" />
         <result column="joint" property="joint" />
         <result column="formula_code" property="formulaCode" />
+        <result column="spec_flag" property="specFlag" />
+        <result column="sel_flag" property="selFlag" />
         <result column="remark" property="remark" />
     </resultMap>
 

+ 2 - 1
ltapi-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -3,6 +3,7 @@ package com.diagbot.client;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ScaleContent;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.client.hystrix.AiptServiceHystrix;
 import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.PushDTO;
@@ -40,7 +41,7 @@ public interface AiptServiceClient {
      * @return
      */
     @PostMapping("/push/treatment")
-    RespDTO<Map<String, Object>> getTreatment(@RequestBody SearchData searchData);
+    RespDTO<Treat> getTreatment(@RequestBody SearchData searchData);
 
     /**
      * 计算接口-量表/公式

+ 23 - 0
ltapi-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java

@@ -0,0 +1,23 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description: 不良反应
+ * @Author:zhaops
+ * @time: 2019/3/14 11:14
+ */
+@Getter
+@Setter
+public class AdverseReaction {
+    private Long conceptId;
+    private String name;  //名称
+    private Integer libType;
+    private Integer type;
+    private String showInfo = "0";//是否显示提示信息
+    private Integer controlType; //控件类型
+    private List<AdverseReactionDetail> details;
+}

+ 16 - 0
ltapi-service/src/main/java/com/diagbot/client/bean/AdverseReactionDetail.java

@@ -0,0 +1,16 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 不良反应明细
+ * @Author:zhaops
+ * @time: 2019/3/14 11:19
+ */
+@Getter
+@Setter
+public class AdverseReactionDetail {
+    private String name;
+    private Integer value; //是否选中:0-未选中,1-选中
+}

+ 28 - 0
ltapi-service/src/main/java/com/diagbot/client/bean/Medicition.java

@@ -0,0 +1,28 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:药品信息
+ * @Author:zhaops
+ * @time: 2018/12/17 13:27
+ */
+@Getter
+@Setter
+public class Medicition {
+    private Long conceptId;
+    private String medicitionName;
+    private Integer libType;
+    /**
+     * 1-显示,0-隐藏
+     */
+    private String isShow;
+    private String forbidden;
+    /**
+     * 1-有提示信息,0-没有提示信息
+     */
+    private String showInfo = "0";
+    private String rate;
+    private Integer type;
+}

+ 27 - 0
ltapi-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java

@@ -0,0 +1,27 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.LinkedList;
+
+/**
+ * @Description:药品分类
+ * @Author:zhaops
+ * @time: 2018/12/17 13:32
+ */
+@Getter
+@Setter
+public class MedicitionClass {
+    private String showInfo = "0";
+    private String drugsForbidden;
+    private Long bigdrugsConceptId;//药品分类概念id-大类
+    private String bigdrugsName;//药类名
+    private Integer bigdrgusLibType;
+    private Integer bigdrugsType;
+    private Long subdrugsConceptId;//药品分类概念id-小类
+    private String subdrugsName;//药类名-小类
+    private Integer subdrugsLibType;
+    private Integer subdrugsType;
+    private LinkedList<Medicition> medicitionsList;
+}

+ 18 - 0
ltapi-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java

@@ -0,0 +1,18 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 11:15
+ */
+@Getter
+@Setter
+public class MeditionDetail {
+    private String description;
+    private List<MedicitionClass> treatment;
+}

+ 3 - 1
ltapi-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -20,7 +20,7 @@ public class SearchData {
     //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
     private String sysCode;
     private String symptom;
-    private String past;
+    private String pasts;
     private String other;
     private String vital;
     private String lis;
@@ -41,4 +41,6 @@ public class SearchData {
     private String lisOrder;
     private String pacsOrder;
     private String otherOrder;
+
+    private String ruleType;   //规则类型
 }

+ 26 - 0
ltapi-service/src/main/java/com/diagbot/client/bean/Treat.java

@@ -0,0 +1,26 @@
+package com.diagbot.client.bean;
+
+import com.diagbot.dto.ConceptDetailDTO;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 15:36
+ */
+@Getter
+@Setter
+public class Treat {
+    private Integer disType;
+    private String diseaseName;
+    private List<AdverseReaction> adverseEvent;//不良反应
+    private List<TreatmentPlan> treatmentPlan;//治疗方案
+    private ConceptDetailDTO commonTreatment; //一般治疗
+    private ConceptDetailDTO surgeryTreatment; //手术治疗
+    private Object followUp;
+    private Map<String, List<Medicition>> drugHistory;
+}

+ 18 - 0
ltapi-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java

@@ -0,0 +1,18 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/11/21 11:14
+ */
+@Getter
+@Setter
+public class TreatmentPlan {
+    private String title;
+    private List<MeditionDetail> meditionDetails;
+}

+ 2 - 1
ltapi-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -4,6 +4,7 @@ import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ScaleContent;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
@@ -44,7 +45,7 @@ public class AiptServiceHystrix implements AiptServiceClient {
      * @return
      */
     @Override
-    public RespDTO<Map<String, Object>> getTreatment(@RequestBody SearchData searchData) {
+    public RespDTO<Treat> getTreatment(@RequestBody SearchData searchData) {
         log.error("【hystrix】调用{}异常", "getTreatment");
         return null;
     }

+ 21 - 1
ltapi-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -2,12 +2,15 @@ package com.diagbot.facade;
 
 import com.diagbot.client.bean.LisResult;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
 import com.diagbot.vo.PushVO;
 import org.springframework.stereotype.Component;
 
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -31,7 +34,7 @@ public class AssembleFacade {
         searchData.setVital(pushVO.getVital());
         searchData.setPacs(pushVO.getPacs());
         searchData.setPacsArr(pushVO.getPacsArr());
-        searchData.setPast(pushVO.getPast());
+        searchData.setPasts(pushVO.getPasts());
         searchData.setOther(pushVO.getOther());
         searchData.setDiag(pushVO.getDiag());
         searchData.setDisType(pushVO.getDisType());
@@ -47,6 +50,23 @@ public class AssembleFacade {
         searchData.setLisOrder(pushVO.getLisOrder());
         searchData.setPacsOrder(pushVO.getPacsOrder());
         searchData.setOtherOrder(pushVO.getOtherOrder());
+        String ruleType = "";
+        String[] featureTypes = searchData.getFeatureType().split(",|,");
+        List<String> featureTypeList = Arrays.asList(featureTypes);
+        if (featureTypeList.contains(FeatureTypeEnum.MedicalIndication.getKey())) {
+            ruleType += "1,2";
+        } else if (featureTypeList.contains(FeatureTypeEnum.ManagementEvaluation.getKey())) {
+            if (StringUtil.isNotBlank(ruleType)) {
+                ruleType += ",";
+            }
+            ruleType += "3";
+        } else if (featureTypeList.contains(FeatureTypeEnum.Treat.getKey())) {
+            if (StringUtil.isNotBlank(ruleType)) {
+                ruleType += ",";
+            }
+            ruleType += "4,5";
+        }
+        searchData.setRuleType(ruleType);
 
         switch (pushVO.getSex()) {
             case 1:

+ 4 - 5
ltapi-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.ScaleContent;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.ConceptPushDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
@@ -15,7 +16,6 @@ import org.springframework.stereotype.Component;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 /**
@@ -87,12 +87,11 @@ public class PushFacade {
      * @param pushVO
      * @return
      */
-    public Map<String, Object> pushTreatment(PushVO pushVO) {
+    public Treat pushTreatment(PushVO pushVO) {
         SearchData searchData = assembleFacade.assembleData(pushVO);
-        RespDTO<Map<String, Object>> res = aiptServiceClient.getTreatment(searchData);
+        RespDTO<Treat> res = aiptServiceClient.getTreatment(searchData);
         RespDTOUtil.respNGDeal(res, "中间层没有返回治疗方案");
-        Map<String, Object> data = res.data;
-        return data;
+        return res.data;
     }
 
     /**

+ 1 - 2
ltapi-service/src/main/java/com/diagbot/vo/PushBaseVO.java

@@ -28,7 +28,6 @@ public class PushBaseVO extends BaseBiVO {
     private String vital;
     private List<LisResult> lis;
     private String pacs;
-    @ApiModelProperty(hidden = true)
-    private String past;
+    private String pasts;
     private String other;
 }

+ 3 - 0
ltapi-service/src/main/java/com/diagbot/vo/PushVO.java

@@ -29,4 +29,7 @@ public class PushVO  extends PushBaseVO {
     private String lisOrder;   //当前正在下单化验
     private String pacsOrder;   //当前正在下单辅检
     private String otherOrder; //其他
+
+    @ApiModelProperty(hidden = true)
+    private String ruleType;   //规则类型
 }

+ 1 - 1
ltapi-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -34,7 +34,7 @@ public class ConceptDetailController {
 
     @ApiOperation(value = "获取提示信息[by:zhaops]",
             notes = "name: 标签名称,必填<br>" +
-                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>" +
+                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标,25-手术),单选必填<br>" +
                     "titles:提示信息标题列表,数组选填<br>" +
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetail")

+ 11 - 4
ltapi-service/src/main/java/com/diagbot/web/PushController.java

@@ -2,6 +2,7 @@ package com.diagbot.web;
 
 import com.diagbot.annotation.BiLogger;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.PushFacade;
@@ -35,6 +36,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填) 1:男,2:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -63,7 +65,8 @@ public class PushController {
                     "lisString:化验纯文本,String<br>" +
                     "lisOrder:下单化验项,多项用分号隔开,String<br>" +
                     "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>")
+                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/push")
     @SysLogger("push")
     @BiLogger("LTAPT0001")
@@ -75,6 +78,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),1:男,2:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -102,11 +106,12 @@ public class PushController {
                     "lisString:化验纯文本,String<br>" +
                     "lisOrder:下单化验项,多项用分号隔开,String<br>" +
                     "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>")
+                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/pushTreatment")
     @SysLogger("pushTreatment")
     @BiLogger("LTAPT0002")
-    public RespDTO<Map<String, Object>> pushTreatment(@RequestBody @Valid PushVO pushVO) {
+    public RespDTO<Treat> pushTreatment(@RequestBody @Valid PushVO pushVO) {
         return RespDTO.onSuc(pushFacade.pushTreatment(pushVO));
     }
 
@@ -114,6 +119,7 @@ public class PushController {
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),1:男,2:女<br>" +
                     "symptom:症状,String<br>" +
+                    "pasts:既往史,String<br>" +
                     "other:其它史,String<br>" +
                     "vital:查体,String<br>" +
                     "lis:化验,Array<br>" +
@@ -137,7 +143,8 @@ public class PushController {
                     "scaleName:量表名称,String<br>" +
                     "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +
                     "indications:指标结果,String<br>" +
-                    "adverseReactions:不良反应,String<br>")
+                    "adverseReactions:不良反应,String<br>" +
+                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐,多项用分号隔开,String<br>")
     @PostMapping("/pushScale")
     @SysLogger("pushScale")
     @ApiIgnore

+ 2 - 1
prec-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -17,7 +17,7 @@ public class SearchData {
     //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
     private String sysCode;
     private String symptom;
-    private String past;
+    private String pasts;
     private String other;
     private String vital;
     private String lis;
@@ -31,4 +31,5 @@ public class SearchData {
     private String adverseEvent;
     private String hosCode;
     private Integer sysType;  //系统类型
+    private String ruleType;   //规则类型
 }

+ 1 - 13
prec-service/src/main/java/com/diagbot/dto/GetTopPatientInfoDTO.java

@@ -140,17 +140,5 @@ public class GetTopPatientInfoDTO {
      */
 	@ApiModelProperty(value="门诊号")
 	private String recordId;
-	
-//    /**
-//     * 模式分类
-//     */
-//	@ApiModelProperty(value="模式分类")
-//    private Integer modeClassify;
-//
-//    /**
-//     * 模式值
-//     */
-//	@ApiModelProperty(value="模式值")
-//    private Integer modeValue;
-	
+
 }

+ 1 - 0
prec-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -28,6 +28,7 @@ public class AssembleFacade {
         searchData.setLength(10);
         searchData.setSysType(SysTypeEnum.PREC_SERVICE.getKey());
         searchData.setHosCode(pushVO.getHosCode());
+        searchData.setRuleType(pushVO.getRuleType());
         switch (pushVO.getSex()) {
             case 1:
                 searchData.setSex("M");

+ 2 - 0
prec-service/src/main/java/com/diagbot/vo/PushVO.java

@@ -24,4 +24,6 @@ public class PushVO {
     private String symptom;
     @NotBlank(message = "请输入医院编码")
     private String hosCode;
+    @ApiModelProperty(hidden = true)
+    private String ruleType;   //规则类型
 }

+ 38 - 0
tran-service/src/main/java/com/diagbot/dto/ConceptDetailDTO.java

@@ -0,0 +1,38 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:提示信息明细
+ * @Author:zhaops
+ * @time: 2019/5/6 16:33
+ */
+@Getter
+@Setter
+public class ConceptDetailDTO {
+    /**
+     * 提示明细标题
+     */
+    private String title;
+
+    /**
+     * 提示明细内容
+     */
+    private String content;
+
+    /**
+     * 纯文本
+     */
+    private String text;
+
+    /**
+     * 是否诊断依据(1-是,0-否)
+     */
+    private Integer isReason;
+
+    /**
+     * 显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书,6-不良反应,7-症状描述信息(智能分诊)
+     */
+    private String position;
+}

+ 19 - 0
tran-service/src/main/java/com/diagbot/dto/ConceptIntroduceDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:提示信息返回
+ * @Author:zhaops
+ * @time: 2019/5/6 16:32
+ */
+@Getter
+@Setter
+public class ConceptIntroduceDTO {
+    private Long conceptId;
+    private String name;
+    private List<ConceptDetailDTO> details;
+}

+ 0 - 12
tran-service/src/main/java/com/diagbot/dto/GetTopPatientInfoDTO.java

@@ -143,16 +143,4 @@ public class GetTopPatientInfoDTO {
 	@ApiModelProperty(value="门诊号")
 	private String recordId;
 	
-    /**
-     * 模式分类
-     */
-	@ApiModelProperty(value="模式分类")
-    private Integer modeClassify;
-
-    /**
-     * 模式值
-     */
-	@ApiModelProperty(value="模式值")
-    private Integer modeValue;
-	
 }

+ 7 - 2
tran-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java

@@ -2,6 +2,7 @@ package com.diagbot.vo;
 
 import java.util.List;
 
+import com.diagbot.dto.ConceptIntroduceDTO;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -68,6 +69,10 @@ public class SaveInquiryToHisVO {
 	 * 问诊明细
 	 */
     private List<SaveInquiryToHisDetailVO> detailList;
-    
-   
+
+    /**
+     * 一般治疗
+     */
+    private List<ConceptIntroduceDTO> conceptIntroduceDTO;
+
 }

+ 5 - 56
triage-service/src/main/java/com/diagbot/client/bean/ResponseData.java

@@ -1,5 +1,8 @@
 package com.diagbot.client.bean;
 
+import lombok.Getter;
+import lombok.Setter;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -8,6 +11,8 @@ import java.util.Map;
 /**
  * Created by fyeman on 2018/2/2.
  */
+@Getter
+@Setter
 public class ResponseData {
     private String participleSymptom = "";
 
@@ -18,60 +23,4 @@ public class ResponseData {
     private List<FeatureRate> pacs = new ArrayList<>(10);
 
     private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.5f);
-
-    public String getParticipleSymptom() {
-        return participleSymptom;
-    }
-
-    public void setParticipleSymptom(String participleSymptom) {
-        this.participleSymptom = participleSymptom;
-    }
-
-    public List<FeatureRate> getSymptom() {
-        return symptom;
-    }
-
-    public void setSymptom(List<FeatureRate> symptom) {
-        this.symptom = symptom;
-    }
-
-    public List<FeatureRate> getVitals() {
-        return vitals;
-    }
-
-    public void setVitals(List<FeatureRate> vitals) {
-        this.vitals = vitals;
-    }
-
-    public List<FeatureRate> getDis() {
-        return dis;
-    }
-
-    public void setDis(List<FeatureRate> dis) {
-        this.dis = dis;
-    }
-
-    public List<FeatureRate> getLabs() {
-        return labs;
-    }
-
-    public void setLabs(List<FeatureRate> labs) {
-        this.labs = labs;
-    }
-
-    public List<FeatureRate> getPacs() {
-        return pacs;
-    }
-
-    public void setPacs(List<FeatureRate> pacs) {
-        this.pacs = pacs;
-    }
-
-    public Map<String, Map<String, String>> getInputs() {
-        return inputs;
-    }
-
-    public void setInputs(Map<String, Map<String, String>> inputs) {
-        this.inputs = inputs;
-    }
 }

+ 9 - 211
triage-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -1,5 +1,8 @@
 package com.diagbot.client.bean;
 
+import lombok.Getter;
+import lombok.Setter;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -8,6 +11,8 @@ import java.util.Map;
 /**
  * Created by fyeman on 2018/1/31.
  */
+@Getter
+@Setter
 public class SearchData {
     private int length = 10;
     private int age_start = 0;
@@ -22,7 +27,7 @@ public class SearchData {
     private String lis = "";
     private String pacs = "";
     private String diag = "";
-    private String past = "";
+    private String pasts = "";
     private String other = "";
 
     //特征类别
@@ -38,6 +43,8 @@ public class SearchData {
     //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
     private String sysCode;
 
+    private String ruleType;   //规则类型
+
     private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.8f);
 
 
@@ -47,213 +54,4 @@ public class SearchData {
     private List<Feature> pacsFeatureList = new ArrayList<>();
     private List<Feature> diagFeatureList = new ArrayList<>();
     private List<Feature> symptompropertyFeatureList = new ArrayList<>();
-
-    public int getLength() {
-        return length;
-    }
-
-    public void setLength(int length) {
-        this.length = length;
-    }
-
-    public int getAge_start() {
-        return age_start;
-    }
-
-    public void setAge_start(int age_start) {
-        this.age_start = age_start;
-    }
-
-    public int getAge_end() {
-        return age_end;
-    }
-
-    public void setAge_end(int age_end) {
-        this.age_end = age_end;
-    }
-
-    public int getAge() {
-        return age;
-    }
-
-    public void setAge(int age) {
-        this.age = age;
-    }
-
-    public String getSex() {
-        return sex;
-    }
-
-    public void setSex(String sex) {
-        this.sex = sex;
-    }
-
-    public String getSymptom() {
-        return symptom;
-    }
-
-    public void setSymptom(String symptom) {
-        this.symptom = symptom;
-    }
-
-    public String getVital() {
-        return vital;
-    }
-
-    public void setVital(String vital) {
-        this.vital = vital;
-    }
-
-    public String getLis() {
-        return lis;
-    }
-
-    public void setLis(String lis) {
-        this.lis = lis;
-    }
-
-    public String getPacs() {
-        return pacs;
-    }
-
-    public void setPacs(String pacs) {
-        this.pacs = pacs;
-    }
-
-    public String getDiag() {
-        return diag;
-    }
-
-    public void setDiag(String diag) {
-        this.diag = diag;
-    }
-
-    public String getPast() {
-        return past;
-    }
-
-    public void setPast(String past) {
-        this.past = past;
-    }
-
-    public String getOther() {
-        return other;
-    }
-
-    public void setOther(String other) {
-        this.other = other;
-    }
-
-    public String getFeatureType() {
-        return featureType;
-    }
-
-    public void setFeatureType(String featureType) {
-        this.featureType = featureType;
-    }
-
-    public String[] getFeatureTypes() {
-        return featureTypes;
-    }
-
-    public void setFeatureTypes(String[] featureTypes) {
-        this.featureTypes = featureTypes;
-    }
-
-    public String getResourceType() {
-        return resourceType;
-    }
-
-    public void setResourceType(String resourceType) {
-        this.resourceType = resourceType;
-    }
-
-    public String getSysCode() {
-        return sysCode;
-    }
-
-    public void setSysCode(String sysCode) {
-        this.sysCode = sysCode;
-    }
-
-    public void setThreshold(String threshold) {
-        this.threshold = threshold;
-    }
-
-    public float getThreshold() {
-        return Float.parseFloat(threshold);
-    }
-
-    public List<Feature> getSymptomFeatureList() {
-        return symptomFeatureList;
-    }
-
-    public void setSymptomFeatureList(List<Feature> symptomFeatureList) {
-        this.symptomFeatureList = symptomFeatureList;
-    }
-
-    public List<Feature> getVitalFeatureList() {
-        return vitalFeatureList;
-    }
-
-    public void setVitalFeatureList(List<Feature> vitalFeatureList) {
-        this.vitalFeatureList = vitalFeatureList;
-    }
-
-    public List<Feature> getLisFeatureList() {
-        return lisFeatureList;
-    }
-
-    public void setLisFeatureList(List<Feature> lisFeatureList) {
-        this.lisFeatureList = lisFeatureList;
-    }
-
-    public List<Feature> getPacsFeatureList() {
-        return pacsFeatureList;
-    }
-
-    public void setPacsFeatureList(List<Feature> pacsFeatureList) {
-        this.pacsFeatureList = pacsFeatureList;
-    }
-
-
-    public List<Feature> getSymptompropertyFeatureList() {
-        return symptompropertyFeatureList;
-    }
-
-    public void setSymptompropertyFeatureList(List<Feature> symptompropertyFeatureList) {
-        this.symptompropertyFeatureList = symptompropertyFeatureList;
-    }
-
-    public List<Feature> getDiagFeatureList() {
-        return diagFeatureList;
-    }
-
-    public void setDiagFeatureList(List<Feature> diagFeatureList) {
-        this.diagFeatureList = diagFeatureList;
-    }
-
-    public Map<String, Map<String, String>> getInputs() {
-        return inputs;
-    }
-
-    public void setInputs(Map<String, Map<String, String>> inputs) {
-        this.inputs = inputs;
-    }
-
-    public AlgorithmClassify[] getAlgorithmClassify() {
-        return algorithmClassify;
-    }
-
-    public void setAlgorithmClassify(AlgorithmClassify[] algorithmClassify) {
-        this.algorithmClassify = algorithmClassify;
-    }
-
-    public String getAlgorithmClassifyValue() {
-        return algorithmClassifyValue;
-    }
-
-    public void setAlgorithmClassifyValue(String algorithmClassifyValue) {
-        this.algorithmClassifyValue = algorithmClassifyValue;
-    }
-}
+}