Forráskód Böngészése

推理接口入参整理

zhaops 5 éve
szülő
commit
492e367a57
99 módosított fájl, 844 hozzáadás és 2267 törlés
  1. 3 3
      aipt-service/src/main/java/com/diagbot/aggregate/PushItemAggregate.java
  2. 69 69
      aipt-service/src/main/java/com/diagbot/aggregate/SearchItemAggregate.java
  3. 2 2
      aipt-service/src/main/java/com/diagbot/client/AIServiceClient.java
  4. 44 11
      aipt-service/src/main/java/com/diagbot/client/bean/ResponseData.java
  5. 9 58
      aipt-service/src/main/java/com/diagbot/client/bean/SearchData.java
  6. 2 2
      aipt-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java
  7. 4 0
      aipt-service/src/main/java/com/diagbot/dto/PushDTO.java
  8. 0 59
      aipt-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  9. 37 0
      aipt-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  10. 17 19
      aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java
  11. 5 5
      aipt-service/src/main/java/com/diagbot/facade/EvaluationFacade.java
  12. 26 34
      aipt-service/src/main/java/com/diagbot/facade/PushFacade.java
  13. 1 1
      aipt-service/src/main/java/com/diagbot/facade/TransferFacade.java
  14. 2 0
      aipt-service/src/main/java/com/diagbot/vo/SearchVo.java
  15. 6 16
      aipt-service/src/main/java/com/diagbot/web/ClinicalController.java
  16. 3 3
      aipt-service/src/main/java/com/diagbot/web/EvaluationController.java
  17. 3 43
      aipt-service/src/main/java/com/diagbot/web/PushController.java
  18. 0 18
      common/src/main/java/com/diagbot/biz/push/entity/FeatureRate.java
  19. 0 62
      common/src/main/java/com/diagbot/biz/push/entity/ResponseData.java
  20. 5 8
      common/src/main/java/com/diagbot/biz/push/entity/SearchData.java
  21. 18 0
      common/src/main/java/com/diagbot/biz/push/entity/SearchVO.java
  22. 1 0
      common/src/main/java/com/diagbot/biz/push/enums/FeatureTypeEnum.java
  23. 0 62
      common/src/main/java/com/diagbot/biz/push/facade/AssembleFacade.java
  24. 5 14
      data-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  25. 0 23
      data-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java
  26. 0 16
      data-service/src/main/java/com/diagbot/client/bean/AdverseReactionDetail.java
  27. 0 26
      data-service/src/main/java/com/diagbot/client/bean/LisResult.java
  28. 0 22
      data-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java
  29. 0 17
      data-service/src/main/java/com/diagbot/client/bean/MedicalIndicationDetail.java
  30. 0 28
      data-service/src/main/java/com/diagbot/client/bean/Medicition.java
  31. 0 27
      data-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java
  32. 0 18
      data-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java
  33. 0 45
      data-service/src/main/java/com/diagbot/client/bean/SearchData.java
  34. 0 26
      data-service/src/main/java/com/diagbot/client/bean/Treat.java
  35. 0 18
      data-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java
  36. 5 17
      data-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  37. 29 3
      data-service/src/main/java/com/diagbot/dto/PushDTO.java
  38. 0 58
      data-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  39. 8 47
      data-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  40. 18 32
      data-service/src/main/java/com/diagbot/facade/PushFacade.java
  41. 140 20
      data-service/src/main/java/com/diagbot/vo/PushJoinVO.java
  42. 3 17
      data-service/src/main/java/com/diagbot/vo/PushVO.java
  43. 0 36
      data-service/src/main/java/com/diagbot/web/PushController.java
  44. 26 7
      icss-service/src/main/java/com/diagbot/aggregate/PushItemAggregate.java
  45. 7 26
      icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  46. 0 23
      icss-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java
  47. 0 16
      icss-service/src/main/java/com/diagbot/client/bean/AdverseReactionDetail.java
  48. 0 22
      icss-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java
  49. 0 17
      icss-service/src/main/java/com/diagbot/client/bean/MedicalIndicationDetail.java
  50. 0 28
      icss-service/src/main/java/com/diagbot/client/bean/Medicition.java
  51. 0 25
      icss-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java
  52. 0 18
      icss-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java
  53. 0 26
      icss-service/src/main/java/com/diagbot/client/bean/Treat.java
  54. 0 18
      icss-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java
  55. 6 34
      icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  56. 7 2
      icss-service/src/main/java/com/diagbot/dto/PushDTO.java
  57. 0 59
      icss-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  58. 9 58
      icss-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  59. 11 52
      icss-service/src/main/java/com/diagbot/facade/PushFacade.java
  60. 2 3
      icss-service/src/main/java/com/diagbot/facade/TreatmentFacade.java
  61. 0 26
      icss-service/src/main/java/com/diagbot/vo/LisResult.java
  62. 0 32
      icss-service/src/main/java/com/diagbot/vo/PushBaseVO.java
  63. 0 25
      icss-service/src/main/java/com/diagbot/vo/PushKYJVO.java
  64. 2 2
      icss-service/src/main/java/com/diagbot/vo/PushVO.java
  65. 0 1
      icss-service/src/main/java/com/diagbot/web/PushController.java
  66. 5 15
      ltapi-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  67. 0 23
      ltapi-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java
  68. 0 16
      ltapi-service/src/main/java/com/diagbot/client/bean/AdverseReactionDetail.java
  69. 0 26
      ltapi-service/src/main/java/com/diagbot/client/bean/LisResult.java
  70. 0 22
      ltapi-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java
  71. 0 17
      ltapi-service/src/main/java/com/diagbot/client/bean/MedicalIndicationDetail.java
  72. 0 28
      ltapi-service/src/main/java/com/diagbot/client/bean/Medicition.java
  73. 0 27
      ltapi-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java
  74. 0 18
      ltapi-service/src/main/java/com/diagbot/client/bean/MeditionDetail.java
  75. 0 19
      ltapi-service/src/main/java/com/diagbot/client/bean/PacsResult.java
  76. 0 46
      ltapi-service/src/main/java/com/diagbot/client/bean/SearchData.java
  77. 0 26
      ltapi-service/src/main/java/com/diagbot/client/bean/Treat.java
  78. 0 18
      ltapi-service/src/main/java/com/diagbot/client/bean/TreatmentPlan.java
  79. 5 18
      ltapi-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  80. 28 2
      ltapi-service/src/main/java/com/diagbot/dto/PushDTO.java
  81. 0 58
      ltapi-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  82. 28 59
      ltapi-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  83. 18 31
      ltapi-service/src/main/java/com/diagbot/facade/PushFacade.java
  84. 0 1
      ltapi-service/src/main/java/com/diagbot/vo/PushBaseVO.java
  85. 2 22
      ltapi-service/src/main/java/com/diagbot/vo/PushVO.java
  86. 0 41
      ltapi-service/src/main/java/com/diagbot/web/PushController.java
  87. 3 3
      prec-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  88. 0 35
      prec-service/src/main/java/com/diagbot/client/bean/SearchData.java
  89. 3 4
      prec-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  90. 0 57
      prec-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  91. 10 25
      prec-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  92. 6 6
      prec-service/src/main/java/com/diagbot/facade/PushFacade.java
  93. 2 2
      prec-service/src/main/java/com/diagbot/web/PushController.java
  94. 140 20
      tran-service/src/main/java/com/diagbot/vo/PushJoinVO.java
  95. 2 2
      triage-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  96. 44 4
      triage-service/src/main/java/com/diagbot/client/bean/ResponseData.java
  97. 0 57
      triage-service/src/main/java/com/diagbot/client/bean/SearchData.java
  98. 2 2
      triage-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  99. 11 12
      triage-service/src/main/java/com/diagbot/facade/AIFacade.java

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

@@ -2,19 +2,19 @@ package com.diagbot.aggregate;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.diagbot.biz.push.entity.FeatureRate;
 import com.diagbot.biz.push.entity.MedicalIndication;
 import com.diagbot.biz.push.entity.MedicalIndicationDetail;
-import com.diagbot.biz.push.entity.ResponseData;
+import com.diagbot.biz.push.enums.FeatureTypeEnum;
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.client.bean.CalculateData;
+import com.diagbot.client.bean.FeatureRate;
 import com.diagbot.client.bean.HosCodeVO;
+import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.ConceptPushDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.Concept;
 import com.diagbot.enums.ConceptTypeEnum;
-import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.facade.ClinicalFacade;
 import com.diagbot.facade.ConceptFacade;

+ 69 - 69
aipt-service/src/main/java/com/diagbot/aggregate/SearchItemAggregate.java

@@ -3,7 +3,7 @@ package com.diagbot.aggregate;
 import com.diagbot.biz.push.entity.Item;
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.biz.push.entity.Pacs;
-import com.diagbot.biz.push.entity.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.facade.TransferFacade;
 import com.diagbot.util.ListUtil;
@@ -27,187 +27,187 @@ public class SearchItemAggregate {
     private TransferFacade transferFacade;
 
     @DataProvider("assembleSearchData")
-    public SearchData assembleSearchData(@InvokeParameter("searchData") SearchData searchData,
-                                         @InvokeParameter("isConnect") Boolean isConnect,
-                                         @DataConsumer("setLis") List<Lis> lis,
-                                         @DataConsumer("setPacs") List<Pacs> pacs,
-                                         @DataConsumer("setDiag") List<Item> diag,
-                                         @DataConsumer("setDrug") List<Item> drug,
-                                         @DataConsumer("setLisOrder") List<Lis> lisOrder,
-                                         @DataConsumer("setPacsOrder") List<Pacs> pacsOrder,
-                                         @DataConsumer("setDiagOrder") List<Item> diagOrder,
-                                         @DataConsumer("setDrugOrder") List<Item> drugOrder,
-                                         @DataConsumer("setOperationOrder") List<Item> operationOrder,
-                                         @DataConsumer("setOtherOrder") List<Item> otherOrder,
-                                         @DataConsumer("setDiseaseName") Item diseaseName
+    public SearchVO assembleSearchData(@InvokeParameter("searchVO") SearchVO searchVO,
+                                       @InvokeParameter("isConnect") Boolean isConnect,
+                                       @DataConsumer("setLis") List<Lis> lis,
+                                       @DataConsumer("setPacs") List<Pacs> pacs,
+                                       @DataConsumer("setDiag") List<Item> diag,
+                                       @DataConsumer("setDrug") List<Item> drug,
+                                       @DataConsumer("setLisOrder") List<Lis> lisOrder,
+                                       @DataConsumer("setPacsOrder") List<Pacs> pacsOrder,
+                                       @DataConsumer("setDiagOrder") List<Item> diagOrder,
+                                       @DataConsumer("setDrugOrder") List<Item> drugOrder,
+                                       @DataConsumer("setOperationOrder") List<Item> operationOrder,
+                                       @DataConsumer("setOtherOrder") List<Item> otherOrder,
+                                       @DataConsumer("setDiseaseName") Item diseaseName
     ) {
         if (isConnect) {
             //化验数据映射公表(化验公表项)
-            searchData.setLis(lis);
+            searchVO.setLis(lis);
             //辅检数据映射公表(辅检项目)
-            searchData.setPacs(pacs);
+            searchVO.setPacs(pacs);
             //诊断数据映射公表(诊断)
-            searchData.setDiag(diag);
+            searchVO.setDiag(diag);
             //药品数据映射公表(药品通用名)
-            searchData.setDrug(drug);
+            searchVO.setDrug(drug);
             //化验开单项映射
-            searchData.setLisOrder(lisOrder);
+            searchVO.setLisOrder(lisOrder);
             //辅检开单项映射
-            searchData.setPacsOrder(pacsOrder);
+            searchVO.setPacsOrder(pacsOrder);
             //诊断开单项映射
-            searchData.setDiagOrder(diagOrder);
+            searchVO.setDiagOrder(diagOrder);
             //药品开单项映射
-            searchData.setDrugOrder(drugOrder);
+            searchVO.setDrugOrder(drugOrder);
             //手术开单项映射
-            searchData.setOperationOrder(operationOrder);
+            searchVO.setOperationOrder(operationOrder);
             //其他开单项映射
-            searchData.setOtherOrder(otherOrder);
+            searchVO.setOtherOrder(otherOrder);
             //选中诊断映射
-            searchData.setDiseaseName(diseaseName);
+            searchVO.setDiseaseName(diseaseName);
         }
-        return searchData;
+        return searchVO;
     }
 
     /**
      * 化验增加公表项
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setLis")
-    public List<Lis> setLis(@InvokeParameter("searchData") SearchData searchData) {
-        List<Lis> lis = searchData.getLis();
-        lis = transferFacade.addLisUniqueName(lis, searchData.getHosCode());
+    public List<Lis> setLis(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Lis> lis = searchVO.getLis();
+        lis = transferFacade.addLisUniqueName(lis, searchVO.getHosCode());
         return lis;
     }
 
     /**
      * 辅检增加公表项
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setPacs")
-    public List<Pacs> setPacs(@InvokeParameter("searchData") SearchData searchData) {
-        List<Pacs> pacs = searchData.getPacs();
-        pacs = transferFacade.addPacsUniqueName(pacs, searchData.getHosCode());
+    public List<Pacs> setPacs(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Pacs> pacs = searchVO.getPacs();
+        pacs = transferFacade.addPacsUniqueName(pacs, searchVO.getHosCode());
         return pacs;
     }
 
     /**
      * 诊断增加公表项
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setDiag")
-    public List<Item> setDiag(@InvokeParameter("searchData") SearchData searchData) {
-        List<Item> diag = searchData.getDiag();
-        diag = transferFacade.addItemUniqueName(diag, ConceptTypeEnum.Disease.getKey(), searchData.getHosCode());
+    public List<Item> setDiag(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Item> diag = searchVO.getDiag();
+        diag = transferFacade.addItemUniqueName(diag, ConceptTypeEnum.Disease.getKey(), searchVO.getHosCode());
         return diag;
     }
 
     /**
      * 药品增加公表项
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setDrug")
-    public List<Item> setDrug(@InvokeParameter("searchData") SearchData searchData) {
-        List<Item> drug = searchData.getDrug();
-        drug = transferFacade.addItemUniqueName(drug, ConceptTypeEnum.Drug.getKey(), searchData.getHosCode());
+    public List<Item> setDrug(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Item> drug = searchVO.getDrug();
+        drug = transferFacade.addItemUniqueName(drug, ConceptTypeEnum.Drug.getKey(), searchVO.getHosCode());
         return drug;
     }
 
     /**
      * 化验开单项增加公表名称
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setLisOrder")
-    public List<Lis> setLisOrder(@InvokeParameter("searchData") SearchData searchData) {
-        List<Lis> lisOrder = searchData.getLisOrder();
-        lisOrder = transferFacade.addLisUniqueName(lisOrder, searchData.getHosCode());
+    public List<Lis> setLisOrder(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Lis> lisOrder = searchVO.getLisOrder();
+        lisOrder = transferFacade.addLisUniqueName(lisOrder, searchVO.getHosCode());
         return lisOrder;
     }
 
     /**
      * 辅检开单项增加公表项
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setPacsOrder")
-    public List<Pacs> setPacsOrder(@InvokeParameter("searchData") SearchData searchData) {
-        List<Pacs> pacsOrder = searchData.getPacsOrder();
-        pacsOrder = transferFacade.addPacsUniqueName(pacsOrder, searchData.getHosCode());
+    public List<Pacs> setPacsOrder(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Pacs> pacsOrder = searchVO.getPacsOrder();
+        pacsOrder = transferFacade.addPacsUniqueName(pacsOrder, searchVO.getHosCode());
         return pacsOrder;
     }
 
     /**
      * 诊断开单项增加公表项
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setDiagOrder")
-    public List<Item> setDiagOrder(@InvokeParameter("searchData") SearchData searchData) {
-        List<Item> diagOrder = searchData.getDiagOrder();
-        diagOrder = transferFacade.addItemUniqueName(diagOrder, ConceptTypeEnum.Disease.getKey(), searchData.getHosCode());
+    public List<Item> setDiagOrder(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Item> diagOrder = searchVO.getDiagOrder();
+        diagOrder = transferFacade.addItemUniqueName(diagOrder, ConceptTypeEnum.Disease.getKey(), searchVO.getHosCode());
         return diagOrder;
     }
 
     /**
      * 药品开单项增加公表项
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setDrugOrder")
-    public List<Item> setDrugOrder(@InvokeParameter("searchData") SearchData searchData) {
-        List<Item> drugOrder = searchData.getDrugOrder();
-        drugOrder = transferFacade.addItemUniqueName(drugOrder, ConceptTypeEnum.Drug.getKey(), searchData.getHosCode());
+    public List<Item> setDrugOrder(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Item> drugOrder = searchVO.getDrugOrder();
+        drugOrder = transferFacade.addItemUniqueName(drugOrder, ConceptTypeEnum.Drug.getKey(), searchVO.getHosCode());
         return drugOrder;
     }
 
     /**
      * 手术开单项增加公表项
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setOperationOrder")
-    public List<Item> setOperationOrder(@InvokeParameter("searchData") SearchData searchData) {
-        List<Item> operationOrder = searchData.getOperationOrder();
-        operationOrder = transferFacade.addItemUniqueName(operationOrder, ConceptTypeEnum.OPERATION.getKey(), searchData.getHosCode());
+    public List<Item> setOperationOrder(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Item> operationOrder = searchVO.getOperationOrder();
+        operationOrder = transferFacade.addItemUniqueName(operationOrder, ConceptTypeEnum.OPERATION.getKey(), searchVO.getHosCode());
         return operationOrder;
     }
 
     /**
      * 其他开单项增加公表项(暂未处理)
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setOtherOrder")
-    public List<Item> setOtherOrder(@InvokeParameter("searchData") SearchData searchData) {
-        List<Item> operationOrder = searchData.getOperationOrder();
+    public List<Item> setOtherOrder(@InvokeParameter("searchVO") SearchVO searchVO) {
+        List<Item> operationOrder = searchVO.getOperationOrder();
         return operationOrder;
     }
 
     /**
      * 诊断开单项增加公表项
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @DataProvider("setDiseaseName")
-    public Item setDiseaseName(@InvokeParameter("searchData") SearchData searchData) {
+    public Item setDiseaseName(@InvokeParameter("searchVO") SearchVO searchVO) {
         List<Item> diseaseItem = Lists.newLinkedList();
-        diseaseItem.add(searchData.getDiseaseName());
-        diseaseItem = transferFacade.addItemUniqueName(diseaseItem, ConceptTypeEnum.Disease.getKey(), searchData.getHosCode());
+        diseaseItem.add(searchVO.getDiseaseName());
+        diseaseItem = transferFacade.addItemUniqueName(diseaseItem, ConceptTypeEnum.Disease.getKey(), searchVO.getHosCode());
         if (ListUtil.isNotEmpty(diseaseItem)) {
             return diseaseItem.get(0);
         } else {

+ 2 - 2
aipt-service/src/main/java/com/diagbot/client/AIServiceClient.java

@@ -1,7 +1,7 @@
 package com.diagbot.client;
 
-import com.diagbot.biz.push.entity.ResponseData;
-import com.diagbot.biz.push.entity.SearchData;
+import com.diagbot.client.bean.ResponseData;
+import com.diagbot.client.bean.SearchData;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.hystrix.AIServiceHystrix;

+ 44 - 11
aipt-service/src/main/java/com/diagbot/client/bean/ResponseData.java

@@ -12,24 +12,57 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * Created by fyeman on 2018/2/2.
+ * @Description:大数据返回结构
+ * @Author:zhaops
+ * @time: 2019/12/9 13:21
  */
-/*
 @Getter
 @Setter
 public class ResponseData {
-    private String participleSymptom = "";
-
+    /**
+     * 症状
+     */
     private List<FeatureRate> symptom = new ArrayList<>(10);
+    /**
+     * 病史
+     */
+    private List<FeatureRate> history = new ArrayList<>(10);
+    /**
+     * 查体(体征)
+     */
     private List<FeatureRate> vitals = new ArrayList<>(10);
-    private List<FeatureRate> dis = new ArrayList<>(10);
+    /**
+     * 化验
+     */
     private List<FeatureRate> labs = new ArrayList<>(10);
+    /**
+     * 辅检
+     */
     private List<FeatureRate> pacs = new ArrayList<>(10);
-    private List<FeatureRate> history = new ArrayList<>(10);
-    private Treat treat;   //治疗方案
-    private Map<String, JSONObject> scale;   //量表内容
-    private Map<String, JSONObject> managementEvaluation;   //管理评估
-    private List<MedicalIndication> medicalIndications;     //量表和指标项推送
+    /**
+     * 诊断
+     */
+    private List<FeatureRate> dis = new ArrayList<>(10);
+    /**
+     * 治疗方案
+     */
+    private Treat treat;
+    /**
+     * 量表动态内容
+     */
+    private Map<String, JSONObject> scale;
+    /**
+     * 管理评估动态内容
+     */
+    private Map<String, JSONObject> managementEvaluation;
+    /**
+     * 病情提示(1:量表,2:计算公式,3:可能结果,4:危机值、开单合理项、异常值等规则推送内容)
+     */
+    private List<MedicalIndication> medicalIndications;
+    /**
+     * 有无病情提示标志(0:无,1:有)
+     */
+    private String hasIndications;
 
     private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.5f);
-}*/
+}

+ 9 - 58
aipt-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -1,68 +1,19 @@
 package com.diagbot.client.bean;
 
-import com.diagbot.dto.LisResult;
+import com.diagbot.biz.push.entity.SearchBaseData;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 /**
- * Created by fyeman on 2018/1/31.
+ * @Description:推理相关入参
+ * @Author:zhaops
+ * @time: 2019/12/6 10:02
  */
-/*
 @Getter
 @Setter
-public class SearchData {
-    private int length = 10;
-    private int age_start = 0;
-    private int age_end = 200;
-    private int age = 0;
+public class SearchData extends SearchBaseData {
+    /**
+     * 性别(M:男,F:女,A:通用)
+     */
     private String sex;
-    // 搜索结果的贝叶斯阈值
-    private String threshold = "0";
-
-    private String symptom = "";
-    private String vital = "";
-    private String lis = "";
-    private String pacs = "";
-    private String diag = "";
-    private String pasts = "";
-    private String other = "";
-    private List<LisResult> lisArr;
-    private Integer disType; //0-普通病(默认不填),1-慢病,2-急诊
-    private String scaleName;
-    private String indications;
-
-    private String lisString;  //化验纯文本
-    private String lisOrder;   //当前正在下单化验
-    private String pacsOrder;   //当前正在下单辅检
-    private String otherOrder; //其他
-
-    private String ruleType;   //规则类型
-
-    //特征类别
-    private String featureType;
-    //特征类别对","进行分割后数据
-    private String[] featureTypes;
-    //门诊 住院分类
-    private String resourceType;
-    //模型
-    private AlgorithmClassify algorithmClassify[];
-    //模型
-    private String algorithmClassifyValue;
-    //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
-    private String sysCode;
-
-    private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.8f);
-
-
-    private List<Feature> symptomFeatureList = new ArrayList<>();
-    private List<Feature> vitalFeatureList = new ArrayList<>();
-    private List<Feature> lisFeatureList = new ArrayList<>();
-    private List<Feature> pacsFeatureList = new ArrayList<>();
-    private List<Feature> diagFeatureList = new ArrayList<>();
-    private List<Feature> symptompropertyFeatureList = new ArrayList<>();
-}*/
+}

+ 2 - 2
aipt-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java

@@ -1,7 +1,7 @@
 package com.diagbot.client.hystrix;
 
-import com.diagbot.biz.push.entity.ResponseData;
-import com.diagbot.biz.push.entity.SearchData;
+import com.diagbot.client.bean.ResponseData;
+import com.diagbot.client.bean.SearchData;
 import com.diagbot.client.AIServiceClient;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.Response;

+ 4 - 0
aipt-service/src/main/java/com/diagbot/dto/PushDTO.java

@@ -26,4 +26,8 @@ public class PushDTO {
     private ConceptPushDTO dept;
     private List<MedicalIndication> medicalIndications;
     private Treat treat;
+    /**
+     * 有无病情提示标志(0:无,1:有)
+     */
+    private String hasIndications;
 }

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

@@ -1,59 +0,0 @@
-package com.diagbot.enums;
-
-import com.diagbot.core.KeyedNamed;
-import lombok.Setter;
-
-/**
- * @Description: 推送类型
- * @Author:zhaops
- * @time: 2019/3/14 11:28
- */
-public enum FeatureTypeEnum implements KeyedNamed {
-    Feature_Type_Symptom(1, "症状"),
-    Feature_Type_Past(1, "既往史"),
-    Feature_Type_Other(3, "其他史"),
-    Feature_Type_Vital_Result(4, "查体结果"),
-    Feature_Type_Vital_Index(42, "查体指标"),
-    Feature_Type_Lis(5, "化验"),
-    Feature_Type_Pacs(6, "辅检"),
-    Feature_Type_Disease(7, "诊断"),
-    Feature_Type_Treat(8, "治疗"),
-    Feature_Type_ManagementEvaluation(11, "管理评估"),
-    Feature_Type_Scale(21, "量表"),
-    Feature_Type_Indication(22, "指标");
-
-    @Setter
-    private int key;
-
-    @Setter
-    private String name;
-
-    FeatureTypeEnum(int key, String name) {
-        this.key = key;
-        this.name = name;
-    }
-
-    public static FeatureTypeEnum getEnum(int key) {
-        for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
-                return item;
-            }
-        }
-        return null;
-    }
-
-    public static String getName(int key) {
-        FeatureTypeEnum item = getEnum(key);
-        return item != null ? item.name : null;
-    }
-
-    @Override
-    public int getKey() {
-        return key;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-}

+ 37 - 0
aipt-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -0,0 +1,37 @@
+package com.diagbot.facade;
+
+import com.diagbot.biz.push.entity.SearchVO;
+import com.diagbot.client.bean.SearchData;
+import com.diagbot.util.BeanUtil;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:入参拼装
+ * @Author:zhaops
+ * @time: 2019/12/6 10:02
+ */
+@Component
+public class AssembleFacade {
+    /**
+     * 拼装数据
+     *
+     * @param searchVO
+     * @return
+     */
+    public SearchData assembleData(SearchVO searchVO) {
+        SearchData searchData = new SearchData();
+        BeanUtil.copyProperties(searchVO, searchData);
+        switch (searchVO.getSex()) {
+            case 1:
+                searchData.setSex("M");
+                break;
+            case 2:
+                searchData.setSex("F");
+                break;
+            default:
+                searchData.setSex("A");
+                break;
+        }
+        return searchData;
+    }
+}

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

@@ -1,8 +1,9 @@
 package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSON;
-import com.diagbot.biz.push.entity.ResponseData;
-import com.diagbot.biz.push.entity.SearchData;
+import com.diagbot.client.bean.ResponseData;
+import com.diagbot.client.bean.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.client.AIServiceClient;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.Response;
@@ -33,14 +34,17 @@ public class ClinicalFacade {
     private AIServiceClient aiServiceClient;
     @Autowired
     private ScaleContentService scaleContentService;
+    @Autowired
+    private AssembleFacade assembleFacade;
 
     /**
      * 处理临床数据
      *
-     * @param searchData
+     * @param searchVO
      * @return ResponseData
      */
-    public ResponseData processClinicalData(@RequestBody SearchData searchData) {
+    public ResponseData processClinicalData(@RequestBody SearchVO searchVO) {
+        SearchData searchData = assembleFacade.assembleData(searchVO);
         Response<ResponseData> res = aiServiceClient.bayesPageData(searchData);
         if (res == null || res.getData() == null) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "AI没有返回结果");
@@ -49,34 +53,28 @@ public class ClinicalFacade {
     }
 
     /**
-     * 获取量表动态内容
+     * 获取量表内容
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
-    public Map<String, Object> scale(SearchData searchData) {
+    public List<ScaleContent> getScale(SearchVO searchVO) {
+        SearchData searchData = assembleFacade.assembleData(searchVO);
         Map<String, Object> response = aiServiceClient.scale(searchData);
         if (null == response) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "量表没有返回结果");
         }
-        return response;
+        List<ScaleContent> list = getContent(searchData.getScaleName(), JSON.toJSONString(response));
+        return list;
     }
 
     /**
-     * 获取量表全文
+     * 获取量表内容
      *
-     * @param searchData
+     * @param scaleName
+     * @param pushContent
      * @return
      */
-    public List<ScaleContent> getScale(SearchData searchData) {
-        Map<String, Object> response = aiServiceClient.scale(searchData);
-        if (null == response) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "量表没有返回结果");
-        }
-        List<ScaleContent> list = getContent(searchData.getScaleName(), JSON.toJSONString(response));
-        return list;
-    }
-
     public List<ScaleContent> getContent(String scaleName, String pushContent) {
         List<ScaleContent> list = scaleContentService.getContentByName(scaleName);
         for (ScaleContent scaleContent : list) {

+ 5 - 5
aipt-service/src/main/java/com/diagbot/facade/EvaluationFacade.java

@@ -1,7 +1,7 @@
 package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSONObject;
-import com.diagbot.biz.push.entity.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.service.impl.EvaluationServiceImpl;
 import com.diagbot.util.BeanUtil;
@@ -21,16 +21,16 @@ public class EvaluationFacade extends EvaluationServiceImpl {
     /**
      * 获取管理与评估模板接口
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
-    public List<EvaluationDTO> getEvaluationModule(SearchData searchData) {
+    public List<EvaluationDTO> getEvaluationModule(SearchVO searchVO) {
 
         EvaluationDiseaseNameVO evaluationdiseaseNameVO = new EvaluationDiseaseNameVO();
-        BeanUtil.copyProperties(searchData, evaluationdiseaseNameVO);
+        BeanUtil.copyProperties(searchVO, evaluationdiseaseNameVO);
         List<EvaluationDTO> evaluationList = this.getEvaluationModule(evaluationdiseaseNameVO);
 
-        Map<String, JSONObject> jsonobject = pushFacade.getManagementEvaluationContent(searchData);
+        Map<String, JSONObject> jsonobject = pushFacade.getManagementEvaluationContent(searchVO);
         for (String key : jsonobject.keySet()) {
             for (EvaluationDTO evaluadata : evaluationList) {
                 if (key.equals(evaluadata.getRegionName())) {

+ 26 - 34
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -2,11 +2,11 @@ package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSONObject;
 import com.diagbot.biz.push.entity.Item;
-import com.diagbot.biz.push.entity.ResponseData;
-import com.diagbot.biz.push.entity.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.biz.push.entity.Treat;
+import com.diagbot.biz.push.enums.FeatureTypeEnum;
+import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.PushDTO;
-import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -40,18 +40,21 @@ public class PushFacade {
     /**
      * 推理接口
      *
-     * @param searchData
+     * @param searchVO
      * @return ResponseData
      */
-    public PushDTO pushInner(SearchData searchData) {
+    public PushDTO pushInner(SearchVO searchVO) {
         PushDTO pushDTO = new PushDTO();
         //是否对接
-        Boolean isConnect = transferFacade.isConnect(searchData.getHosCode(), searchData.getSysType());
+        Boolean isConnect = transferFacade.isConnect(searchVO.getHosCode(), searchVO.getSysType());
         //入参预处理
-        searchData = precSearchData(searchData, isConnect);
-        ResponseData data = clinicalFacade.processClinicalData(searchData);
+        searchVO = precSearchData(searchVO, isConnect);
+        ResponseData data = clinicalFacade.processClinicalData(searchVO);
 
-        String featureType = searchData.getFeatureType();
+        //是否有病情提示标志
+        pushDTO.setHasIndications(data.getHasIndications());
+
+        String featureType = searchVO.getFeatureType();
         String[] featureTypes = featureType.split(",|,");
         Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
 
@@ -60,7 +63,7 @@ public class PushFacade {
             invokeParams.put("featureTypeSet", featureTypeSet);
             invokeParams.put("data", data);
             invokeParams.put("isConnect", isConnect);
-            invokeParams.put("hosCode", searchData.getHosCode());
+            invokeParams.put("hosCode", searchVO.getHosCode());
             pushDTO
                     = dataBeanAggregateQueryFacade.get("setAll", invokeParams, PushDTO.class);
         } catch (Exception e) {
@@ -69,7 +72,7 @@ public class PushFacade {
 
         //治疗方案单独处理
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Treat.getKey()))) {
-            pushDTO.setTreat(getTreatment(data.getTreat(), searchData.getDiseaseName(), searchData.getDisType()));
+            pushDTO.setTreat(getTreatment(data.getTreat(), searchVO.getDiseaseName(), searchVO.getDisType()));
         }
         return pushDTO;
     }
@@ -91,13 +94,13 @@ public class PushFacade {
     /**
      * 获取管理评估动态推送内容(来源大数据)
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
-    public Map<String, JSONObject> getManagementEvaluationContent(SearchData searchData) {
-        ResponseData data = clinicalFacade.processClinicalData(searchData);
+    public Map<String, JSONObject> getManagementEvaluationContent(SearchVO searchVO) {
+        ResponseData data = clinicalFacade.processClinicalData(searchVO);
 
-        String featureType = searchData.getFeatureType();
+        String featureType = searchVO.getFeatureType();
         String[] featureTypes = featureType.split(",|,");
         Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_ManagementEvaluation.getKey()))) {
@@ -107,38 +110,27 @@ public class PushFacade {
         }
     }
 
-    /**
-     * 获取量表动态推理内容(来源大数据)
-     *
-     * @param searchData
-     * @return
-     */
-    public Map<String, Object> scale(SearchData searchData) {
-        Map<String, Object> data = clinicalFacade.scale(searchData);
-        return data;
-    }
-
     /**
      * searchData入参预处理
      *
-     * @param searchData
+     * @param searchVO
      * @param isConnect
      * @return
      */
-    public SearchData precSearchData(SearchData searchData, Boolean isConnect) {
+    public SearchVO precSearchData(SearchVO searchVO, Boolean isConnect) {
         //未对接或非数据引擎模式,不做映射
-        if (!isConnect || (!searchData.getSysType().equals(SysTypeEnum.LTAPI_SERVICE.getKey()))) {
-            return searchData;
+        if (!isConnect || (!searchVO.getSysType().equals(SysTypeEnum.LTAPI_SERVICE.getKey()))) {
+            return searchVO;
         }
         try {
             Map<String, Object> inputParams = new HashMap<>();
-            inputParams.put("searchData", searchData);
+            inputParams.put("searchVO", searchVO);
             inputParams.put("isConnect", isConnect);
-            searchData
-                    = dataBeanAggregateQueryFacade.get("assembleSearchData", inputParams, SearchData.class);
+            searchVO
+                    = dataBeanAggregateQueryFacade.get("assembleSearchData", inputParams, SearchVO.class);
         } catch (Exception e) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
         }
-        return searchData;
+        return searchVO;
     }
 }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/facade/TransferFacade.java

@@ -3,12 +3,12 @@ package com.diagbot.facade;
 import com.diagbot.biz.push.entity.Item;
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.biz.push.entity.Pacs;
+import com.diagbot.biz.push.enums.FeatureTypeEnum;
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.client.bean.HosCodeVO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.SysSetInfoDTO;
 import com.diagbot.enums.ConceptTypeEnum;
-import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.LisSourceEnum;
 import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.util.BeanUtil;

+ 2 - 0
aipt-service/src/main/java/com/diagbot/vo/SearchVo.java

@@ -13,6 +13,7 @@ import java.util.List;
  * @author: Weixuan Huang
  * @time: 2019/3/4 16:35
  */
+/*
 @Getter
 @Setter
 public class SearchVo {
@@ -50,3 +51,4 @@ public class SearchVo {
 
     private String ruleType;   //规则类型
 }
+*/

+ 6 - 16
aipt-service/src/main/java/com/diagbot/web/ClinicalController.java

@@ -2,9 +2,9 @@ package com.diagbot.web;
 
 
 import com.diagbot.annotation.SysLogger;
-import com.diagbot.biz.push.entity.SearchData;
-import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ResponseData;
+import com.diagbot.biz.push.entity.SearchVO;
+import com.diagbot.client.bean.CalculateData;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.ScaleContent;
 import com.diagbot.facade.ClinicalFacade;
@@ -15,7 +15,6 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -40,25 +39,16 @@ public class ClinicalController {
     @ApiOperation(value = "知识库标准化-临床数据处理(只是用大数据推理)", notes = "")
     @PostMapping("/processData")
     @SysLogger("processData")
-    public RespDTO<ResponseData> processData(@Valid @RequestBody SearchData searchData) {
-        ResponseData data = clinicalFacade.processClinicalData(searchData);
-        return RespDTO.onSuc(data);
-    }
-
-    @ApiOperation(value = "获取量表动态结构", notes = "")
-    @PostMapping("/scale")
-    @SysLogger("scale")
-    @ApiIgnore
-    public RespDTO<Map<String, Object>> scale(@RequestBody SearchData searchData) {
-        Map<String, Object> data = clinicalFacade.scale(searchData);
+    public RespDTO<ResponseData> processData(@Valid @RequestBody SearchVO searchVO) {
+        ResponseData data = clinicalFacade.processClinicalData(searchVO);
         return RespDTO.onSuc(data);
     }
 
     @ApiOperation(value = "知识库标准化-获取量表内容", notes = "")
     @PostMapping("/getScale")
     @SysLogger("getScale")
-    public RespDTO<List<ScaleContent>> getScale(@RequestBody SearchData searchData) {
-        List<ScaleContent> data = clinicalFacade.getScale(searchData);
+    public RespDTO<List<ScaleContent>> getScale(@RequestBody SearchVO searchVO) {
+        List<ScaleContent> data = clinicalFacade.getScale(searchVO);
         return RespDTO.onSuc(data);
     }
 

+ 3 - 3
aipt-service/src/main/java/com/diagbot/web/EvaluationController.java

@@ -1,7 +1,7 @@
 package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
-import com.diagbot.biz.push.entity.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.EvaluationFacade;
@@ -36,8 +36,8 @@ public class EvaluationController {
     @ApiOperation(value = "获取管理与评估模板[by:wangfeng]", notes = "获取管理与评估模板")
     @PostMapping("/getEvaluationModules")
     @SysLogger("getEvaluationModules")
-    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid @RequestBody SearchData searchData) {
-        List<EvaluationDTO> data = evaluationFacade.getEvaluationModule(searchData);
+    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid @RequestBody SearchVO searchVO) {
+        List<EvaluationDTO> data = evaluationFacade.getEvaluationModule(searchVO);
         return RespDTO.onSuc(data);
     }
 }

+ 3 - 43
aipt-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,10 +1,10 @@
 package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.PushFacade;
-import com.diagbot.vo.SearchVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,46 +28,6 @@ public class PushController {
     @Autowired
     private PushFacade pushFacade;
 
-    @ApiOperation(value = "知识库标准化-治疗方案[by:zhaops]",
-            notes = "age: 年龄(必填)<br>" +
-                    "sex:性别(必填),M:男,F:女<br>" +
-                    "symptom:症状,String<br>" +
-                    "pasts:既往史,String<br>" +
-                    "other:其它史,String<br>" +
-                    "vital:查体,String<br>" +
-                    "lis:化验,Array<br>" +
-                    "lis:name:套餐名称(必填),String<br>" +
-                    "lis:detailName:化验项名称(必填),String<br>" +
-                    "lis:uniqueName:公表名称,String<br>" +
-                    "lis:value:值,Double<br>" +
-                    "lis:maxValue:最大值,Double<br>" +
-                    "lis:minValue:最小值,Double<br>" +
-                    "lis:units:单位,String<br>" +
-                    "lis:otherValue:其他结果,包括阴性阳性,文字描述等,String<br>" +
-                    "lis:source:数据来源(必填),Integer<br>" +
-                    "pacs:辅检,String<br>" +
-                    "pacsArr:辅检结构化输入,Array<br>" +
-                    "pacsArr:name:辅检项目,String<br>" +
-                    "pacsArr:uniqueName:辅检项目(标准术语名),String<br>" +
-                    "pacsArr:result:辅检结果,String<br>" +
-                    "diag:诊断,String<br>" +
-                    "featureType:类型(必填),8:治疗方案,String<br>" +
-                    "diseaeName:取治疗方案的诊断,String<br>" +
-                    "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +
-                    "indications:指标结果,String<br>" +
-                    "adverseReactions:不良反应,String<br>" +
-                    "lisString:化验纯文本,String<br>" +
-                    "lisOrder:下单化验项,多项用分号隔开,String<br>" +
-                    "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
-                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐  6:异常值,多项用分号隔开,String<br>")
-    @PostMapping("/treatment")
-    @SysLogger("treatment")
-    public RespDTO<Treat> getTreatment(@Valid @RequestBody SearchVo searchVo) {
-        Treat data = pushFacade.getTreatment((searchVo));
-        return RespDTO.onSuc(data);
-    }
-
     @ApiOperation(value = "知识库标准化-推理接口[by:zhaops]",
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),M:男,F:女<br>" +
@@ -102,8 +62,8 @@ public class PushController {
                     "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐  6:异常值,多项用分号隔开,String<br>")
     @PostMapping("/pushInner")
     @SysLogger("pushInner")
-    public RespDTO<PushDTO> pushInner(@Valid @RequestBody SearchVo searchVo) {
-        PushDTO data = pushFacade.pushInner(searchVo);
+    public RespDTO<PushDTO> pushInner(@Valid @RequestBody SearchVO searchVO) {
+        PushDTO data = pushFacade.pushInner(searchVO);
         return RespDTO.onSuc(data);
     }
 }

+ 0 - 18
common/src/main/java/com/diagbot/biz/push/entity/FeatureRate.java

@@ -1,18 +0,0 @@
-package com.diagbot.biz.push.entity;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:大数据推送通用结构
- * @Author:zhaops
- * @time: 2019/12/9 13:24
- */
-@Getter
-@Setter
-public class FeatureRate {
-    private String featureName;
-    private String extraProperty;
-    private String desc;
-    private String rate;
-}

+ 0 - 62
common/src/main/java/com/diagbot/biz/push/entity/ResponseData.java

@@ -1,62 +0,0 @@
-package com.diagbot.biz.push.entity;
-
-import com.alibaba.fastjson.JSONObject;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @Description:大数据返回结构
- * @Author:zhaops
- * @time: 2019/12/9 13:21
- */
-@Getter
-@Setter
-public class ResponseData {
-    /**
-     * 症状
-     */
-    private List<FeatureRate> symptom = new ArrayList<>(10);
-    /**
-     * 病史
-     */
-    private List<FeatureRate> history = new ArrayList<>(10);
-    /**
-     * 查体(体征)
-     */
-    private List<FeatureRate> vitals = new ArrayList<>(10);
-    /**
-     * 化验
-     */
-    private List<FeatureRate> labs = new ArrayList<>(10);
-    /**
-     * 辅检
-     */
-    private List<FeatureRate> pacs = new ArrayList<>(10);
-    /**
-     * 诊断
-     */
-    private List<FeatureRate> dis = new ArrayList<>(10);
-    /**
-     * 治疗方案
-     */
-    private Treat treat;
-    /**
-     * 量表动态内容
-     */
-    private Map<String, JSONObject> scale;
-    /**
-     * 管理评估动态内容
-     */
-    private Map<String, JSONObject> managementEvaluation;
-    /**
-     * 病情提示(1:量表,2:计算公式,3:可能结果,4:危机值、开单合理项、异常值等规则推送内容)
-     */
-    private List<MedicalIndication> medicalIndications;
-
-    private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.5f);
-}

+ 5 - 8
common/src/main/java/com/diagbot/biz/push/entity/SearchData.java

@@ -6,13 +6,13 @@ import lombok.Setter;
 import java.util.List;
 
 /**
- * @Description:推理相关入参
+ * @Description:
  * @Author:zhaops
- * @time: 2019/12/6 10:02
+ * @time: 2019/12/11 14:16
  */
 @Getter
 @Setter
-public class SearchData {
+public class SearchBaseData {
     private int age_start = 0;
     private int age_end = 200;
     /**
@@ -43,10 +43,7 @@ public class SearchData {
      * 年龄
      */
     private Integer age;
-    /**
-     * 性别
-     */
-    private String sex;
+
     /**
      * 婚姻
      */
@@ -179,4 +176,4 @@ public class SearchData {
      * 系统类型
      */
     private Integer sysType;
-}
+}

+ 18 - 0
common/src/main/java/com/diagbot/biz/push/entity/SearchVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.biz.push.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/12/11 14:18
+ */
+@Getter
+@Setter
+public class SearchVO extends SearchBaseData {
+    /**
+     * 性别(1:男,2:女,3:通用)
+     */
+    private Integer sex;
+}

+ 1 - 0
common/src/main/java/com/diagbot/biz/push/enums/FeatureTypeEnum.java

@@ -13,6 +13,7 @@ public enum FeatureTypeEnum implements KeyedNamed {
     Feature_Type_Past(1, "既往史"),
     Feature_Type_Other(3, "其他史"),
     Feature_Type_Vital_Result(4, "查体结果"),
+    Feature_Type_Vital_Module(42, "查体模板"),
     Feature_Type_Vital_Index(42, "查体指标"),
     Feature_Type_Lis(5, "化验"),
     Feature_Type_Pacs(6, "辅检"),

+ 0 - 62
common/src/main/java/com/diagbot/biz/push/facade/AssembleFacade.java

@@ -1,62 +0,0 @@
-package com.diagbot.biz.push.facade;
-
-import com.diagbot.biz.push.entity.SearchData;
-import com.diagbot.biz.push.enums.FeatureTypeEnum;
-import com.diagbot.util.StringUtil;
-import org.springframework.stereotype.Component;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * @Description:
- * @Author:zhaops
- * @time: 2019/12/6 10:02
- */
-@Component
-public class AssembleFacade {
-    /**
-     * 拼装数据
-     *
-     * @param pushVO
-     * @return SearchData
-     */
-    public SearchData assembleData(SearchData searchData, Integer sysType) {
-        searchData.setSysCode("1");
-        searchData.setLength(10);
-        searchData.setSysType(sysType);
-
-        //规则过滤
-        String ruleType = searchData.getRuleType();
-        if (StringUtil.isBlank(ruleType)) {
-            String[] featureTypes = searchData.getFeatureType().split(",|,");
-            List<String> featureTypeList = Arrays.asList(featureTypes);
-            if (featureTypeList.contains(FeatureTypeEnum.Feature_Type_Indication.getKey())) {
-                ruleType += "1,2,6";
-            } else if (featureTypeList.contains(FeatureTypeEnum.Feature_Type_ManagementEvaluation.getKey())) {
-                if (StringUtil.isNotBlank(ruleType)) {
-                    ruleType += ",";
-                }
-                ruleType += "3";
-            } else if (featureTypeList.contains(FeatureTypeEnum.Feature_Type_Treat.getKey())) {
-                if (StringUtil.isNotBlank(ruleType)) {
-                    ruleType += ",";
-                }
-                ruleType += "4,5";
-            }
-            searchData.setRuleType(ruleType);
-        }
-
-        switch (searchData.getSex()) {
-            case "1":
-                searchData.setSex("M");
-                break;
-            case "2":
-                searchData.setSex("F");
-                break;
-            default:
-                searchData.setSex("A");
-                break;
-        }
-        return searchData;
-    }}

+ 5 - 14
data-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -1,9 +1,8 @@
 package com.diagbot.client;
 
+import com.diagbot.biz.push.entity.SearchVO;
 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.DictionaryInfoDTO;
@@ -36,20 +35,12 @@ public interface AiptServiceClient {
     /**
      * 推理
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @PostMapping("/push/pushInner")
-    RespDTO<PushDTO> pushInner(@RequestBody SearchData searchData);
+    RespDTO<PushDTO> pushInner(@RequestBody SearchVO searchVO);
 
-    /**
-     * 获取治疗方案
-     *
-     * @param searchData
-     * @return
-     */
-    @PostMapping("/push/treatment")
-    RespDTO<Treat> getTreatment(@RequestBody SearchData searchData);
 
     @PostMapping("/disclaimerInformation/getDisclaimerInformations")
     RespDTO<List<DisclaimerInformationDTO>> getDisclaimerInformations();
@@ -66,11 +57,11 @@ public interface AiptServiceClient {
     /**
      * 获取量表接口
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @PostMapping(value = "/clinicaldata/getScale")
-    RespDTO<List<ScaleContent>> getScale(@RequestBody SearchData searchData);
+    RespDTO<List<ScaleContent>> getScale(@RequestBody SearchVO searchVO);
 
     /**
      * 获取提示信息

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

@@ -1,23 +0,0 @@
-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;
-}

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

@@ -1,16 +0,0 @@
-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-选中
-}

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

@@ -1,26 +0,0 @@
-package com.diagbot.client.bean;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @Description:化验信息
- * @Author:zhaops
- * @time: 2018/12/19 14:03
- */
-@Getter
-@Setter
-public class LisResult {
-    private String name;//套餐名称
-    private String detailName;//化验项名称
-    private String uniqueName;//公表名称
-    private Double value;//值
-    private Double maxValue;//最大值
-    private Double minValue;//最小值
-    private String units;//单位
-    private String otherValue;//其他结果,包括阴性阳性,文字描述等
-    @NotNull(message = "请输入数据来源")
-    private Integer source;
-}

+ 0 - 22
data-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java

@@ -1,22 +0,0 @@
-package com.diagbot.client.bean;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-
-/**
- * @Description:推送指标
- * @Author:zhaops
- * @time: 2019/3/14 14:40
- */
-@Getter
-@Setter
-public class MedicalIndication {
-    private Long conceptId;
-    private Integer libType;
-    private Integer type;
-    private String name;
-    private List<MedicalIndicationDetail> details;
-}

+ 0 - 17
data-service/src/main/java/com/diagbot/client/bean/MedicalIndicationDetail.java

@@ -1,17 +0,0 @@
-package com.diagbot.client.bean;
-
-import com.alibaba.fastjson.JSONObject;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:推送指标明细
- * @Author:zhaops
- * @time: 2019/4/11 10:15
- */
-@Getter
-@Setter
-public class MedicalIndicationDetail {
-    private Integer type; //1-量表,2-公式,3-其他指标,4-危机值
-    private JSONObject content;  //type<>1 非量表,返回内容;type=1 量表,返回量表名称{"name":""} ,controlType:0-radio,1-checkbox,2-text,3-dropdownlist
-}

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

@@ -1,28 +0,0 @@
-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;
-}

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

@@ -1,27 +0,0 @@
-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;
-}

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

@@ -1,18 +0,0 @@
-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;
-}

+ 0 - 45
data-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -1,45 +0,0 @@
-package com.diagbot.client.bean;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-/**
- * Created by fyeman on 2018/1/31.
- */
-@Getter
-@Setter
-public class SearchData {
-    private int length;
-    private int age;
-    private String sex;
-    //特征类别
-    private String featureType;
-    //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
-    private String sysCode;
-    private String symptom;
-    private String pasts;
-    private String other;
-    private String vital;
-    private String lis;
-    private List<LisResult> lisArr;
-    private String pacs;
-    private String diag;
-    private String diseaseName; //指定诊断,例如取治疗方案
-    private String scaleName;   //量表名称
-    private String indications; //指标结果
-    private String adverseReactions; //不良反应
-    private Integer disType;    //诊断类型
-    private String adverseEvent;
-    private String hosCode;
-    @ApiModelProperty(hidden = true)
-    private Integer sysType;  //系统类型
-
-    private String lisOrder;   //当前正在下单化验
-    private String pacsOrder;   //当前正在下单辅检
-    private String otherOrder; //其他
-
-    private String ruleType;   //规则类型
-}

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

@@ -1,26 +0,0 @@
-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;
-}

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

@@ -1,18 +0,0 @@
-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;
-}

+ 5 - 17
data-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -1,10 +1,9 @@
 package com.diagbot.client.hystrix;
 
+import com.diagbot.biz.push.entity.SearchVO;
 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.DictionaryInfoDTO;
 import com.diagbot.dto.DisclaimerInformationDTO;
@@ -36,26 +35,15 @@ public class AiptServiceHystrix implements AiptServiceClient {
     /**
      * 推理
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @Override
-    public RespDTO<PushDTO> pushInner(@RequestBody SearchData searchData) {
+    public RespDTO<PushDTO> pushInner(@RequestBody SearchVO searchVO) {
         log.error("【hystrix】调用{}异常", "pushInner");
         return null;
     }
 
-    /**
-     * 获取治疗方案
-     *
-     * @param searchData
-     * @return
-     */
-    @Override
-    public RespDTO<Treat> getTreatment(@RequestBody SearchData searchData) {
-        log.error("【hystrix】调用{}异常", "getTreatment");
-        return null;
-    }
 
     @Override
     public RespDTO<List<DisclaimerInformationDTO>> getDisclaimerInformations() {
@@ -78,11 +66,11 @@ public class AiptServiceHystrix implements AiptServiceClient {
     /**
      * 获取量表接口
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @Override
-    public RespDTO<List<ScaleContent>> getScale(@RequestBody SearchData searchData) {
+    public RespDTO<List<ScaleContent>> getScale(@RequestBody SearchVO searchVO) {
         log.error("【hystrix】调用{}异常", "getScale");
         return null;
     }

+ 29 - 3
data-service/src/main/java/com/diagbot/dto/PushDTO.java

@@ -1,6 +1,7 @@
 package com.diagbot.dto;
 
-import com.diagbot.client.bean.MedicalIndication;
+import com.diagbot.biz.push.entity.MedicalIndication;
+import com.diagbot.biz.push.entity.Treat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -8,18 +9,43 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @Description: 推理出参
+ * @Description: 页面推送模式推理出参
  * @Author:zhaops
  * @time: 2018/11/20 13:44
  */
 @Getter
 @Setter
 public class PushDTO {
+    /**
+     * 症状
+     */
     private List<ConceptPushDTO> symptom;
-    private List<ConceptPushDTO> other;
+    /**
+     * 体征结果
+     */
     private List<ConceptPushDTO> vital;
+    /**
+     * 化验
+     */
     private List<ConceptPushDTO> lab;
+    /**
+     * 辅检
+     */
     private List<ConceptPushDTO> pacs;
+    /**
+     * 诊断
+     */
     private Map<String, List<ConceptPushDTO>> dis;
+    /**
+     * 病情提示
+     */
     private List<MedicalIndication> medicalIndications;
+    /**
+     * 治疗方案
+     */
+    private Treat treat;
+    /**
+     * 有无病情提示标志(0:无,1:有)
+     */
+    private String hasIndications;
 }

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

@@ -1,58 +0,0 @@
-package com.diagbot.enums;
-
-import com.diagbot.core.KeyedNamed;
-import lombok.Setter;
-
-/**
- * @Description: 推送类型
- * @Author:zhaops
- * @time: 2019/3/14 11:28
- */
-public enum FeatureTypeEnum implements KeyedNamed {
-    Symptom(1, "症状"),
-    Other(3, "其他史"),
-    VitalResult(4, "查体结果"),
-    VitalIndex(42, "查体指标"),
-    Lis(5, "化验"),
-    Pacs(6, "辅检"),
-    Disease(7, "诊断"),
-    Treat(8, "治疗"),
-    Scale(21, "量表内容"),
-    MedicalIndication(22, "指标"),
-    ManagementEvaluation(11, "管理评估");
-
-    @Setter
-    private int key;
-
-    @Setter
-    private String name;
-
-    FeatureTypeEnum(int key, String name) {
-        this.key = key;
-        this.name = name;
-    }
-
-    public static FeatureTypeEnum getEnum(int key) {
-        for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
-                return item;
-            }
-        }
-        return null;
-    }
-
-    public static String getName(int key) {
-        FeatureTypeEnum item = getEnum(key);
-        return item != null ? item.name : null;
-    }
-
-    @Override
-    public int getKey() {
-        return key;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-}

+ 8 - 47
data-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -1,15 +1,11 @@
 package com.diagbot.facade;
 
-import com.diagbot.client.bean.LisResult;
-import com.diagbot.client.bean.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.util.BeanUtil;
-import com.diagbot.util.ListUtil;
 import com.diagbot.vo.PushVO;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-
 /**
  * @Description:
  * @Author:zhaops
@@ -24,47 +20,12 @@ public class AssembleFacade {
      * @param pushVO
      * @return SearchData
      */
-    public SearchData assembleData(PushVO pushVO) {
-        SearchData searchData = new SearchData();
-        searchData.setAge(pushVO.getAge());
-        searchData.setSymptom(pushVO.getSymptom());
-        searchData.setVital(pushVO.getVital());
-        searchData.setLis(pushVO.getLisString());
-        searchData.setPacs(pushVO.getPacs());
-        searchData.setPasts(pushVO.getPasts());
-        searchData.setOther(pushVO.getOther());
-        searchData.setDiag(pushVO.getDiag());
-        searchData.setDisType(pushVO.getDisType());
-        searchData.setAdverseEvent(pushVO.getAdverseReactions());
-        searchData.setScaleName(pushVO.getScaleName());
-        searchData.setDiseaseName(pushVO.getDiseaseName());
-        searchData.setIndications(pushVO.getIndications());
-        searchData.setFeatureType(pushVO.getFeatureType());
-        searchData.setSysCode("1");
-        searchData.setLength(10);
-        searchData.setSysType(SysTypeEnum.DATA_SERVICE.getKey());
-        searchData.setHosCode(pushVO.getHosCode());
-
-        searchData.setLisOrder(pushVO.getLisOrder());
-        searchData.setPacsOrder(pushVO.getPacsOrder());
-        searchData.setOtherOrder(pushVO.getOtherOrder());
-        searchData.setRuleType(pushVO.getRuleType());
-
-        switch (pushVO.getSex()) {
-            case 1:
-                searchData.setSex("M");
-                break;
-            case 2:
-                searchData.setSex("F");
-                break;
-            default:
-                searchData.setSex("A");
-                break;
-        }
-        if (ListUtil.isNotEmpty(pushVO.getLis())) {
-            List<LisResult> lisResultList = BeanUtil.listCopyTo(pushVO.getLis(), LisResult.class);
-            searchData.setLisArr(lisResultList);
-        }
-        return searchData;
+    public SearchVO assembleData(PushVO pushVO) {
+        SearchVO searchVO = new SearchVO();
+        BeanUtil.copyProperties(pushVO, searchVO);
+        searchVO.setSysCode("1");
+        searchVO.setLength(10);
+        searchVO.setSysType(SysTypeEnum.DATA_SERVICE.getKey());
+        return searchVO;
     }
 }

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

@@ -1,13 +1,12 @@
 package com.diagbot.facade;
 
+import com.diagbot.biz.push.entity.SearchVO;
+import com.diagbot.biz.push.enums.FeatureTypeEnum;
 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;
-import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.PushVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,7 +15,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;
 
 /**
@@ -39,62 +37,50 @@ public class PushFacade {
      */
     public PushDTO push(PushVO pushVO) {
         PushDTO pushDTO = new PushDTO();
-        SearchData searchData = assembleFacade.assembleData(pushVO);
-        RespDTO<PushDTO> respDTO = aiptServiceClient.pushInner(searchData);
+        SearchVO searchVO = assembleFacade.assembleData(pushVO);
+        RespDTO<PushDTO> respDTO = aiptServiceClient.pushInner(searchVO);
         RespDTOUtil.respNGDeal(respDTO, "中间层没有返回结果");
         PushDTO data = respDTO.data;
 
-        String featureType = searchData.getFeatureType();
+        String featureType = searchVO.getFeatureType();
         String[] featureTypes = featureType.split(",|,");
         Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
 
         //症状
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Symptom.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Symptom.getKey()))) {
             List<ConceptPushDTO> symptom = data.getSymptom();
             pushDTO.setSymptom(symptom);
         }
-        //其他史
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Other.getKey()))) {
-        }
         //查体
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalResult.getKey())) ||
-                featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalIndex.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Result.getKey())) ||
+                featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Index.getKey()))) {
             List<ConceptPushDTO> vitals = data.getVital();
             pushDTO.setVital(vitals);
         }
         //化验
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Lis.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Lis.getKey()))) {
             List<ConceptPushDTO> labs = data.getLab();
             pushDTO.setLab(labs);
         }
         //辅检
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Pacs.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Pacs.getKey()))) {
             pushDTO.setPacs(data.getPacs());
         }
         //诊断
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Disease.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Disease.getKey()))) {
             pushDTO.setDis(data.getDis());
         }
         //推送指标
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.MedicalIndication.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Indication.getKey()))) {
             pushDTO.setMedicalIndications(data.getMedicalIndications());
         }
+        //治疗方案
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Treat.getKey()))) {
+            pushDTO.setTreat(data.getTreat());
+        }
         return pushDTO;
     }
 
-    /**
-     * 治疗方案推送-不包含慢病内容
-     *
-     * @param pushVO
-     * @return
-     */
-    public Treat pushTreatment(PushVO pushVO) {
-        SearchData searchData = assembleFacade.assembleData(pushVO);
-        RespDTO<Treat> res = aiptServiceClient.getTreatment(searchData);
-        RespDTOUtil.respNGDeal(res, "中间层没有返回治疗方案");
-        return res.data;
-    }
-
     /**
      * 治疗方案推送-不包含慢病内容
      *
@@ -102,8 +88,8 @@ public class PushFacade {
      * @return
      */
     public List<ScaleContent> pushScale(PushVO pushVO) {
-        SearchData searchData = assembleFacade.assembleData(pushVO);
-        RespDTO<List<ScaleContent>> res = aiptServiceClient.getScale(searchData);
+        SearchVO searchVO = assembleFacade.assembleData(pushVO);
+        RespDTO<List<ScaleContent>> res = aiptServiceClient.getScale(searchVO);
         RespDTOUtil.respNGDeal(res, "中间层没有返回量表");
         List<ScaleContent> data = res.data;
         return data;

+ 140 - 20
data-service/src/main/java/com/diagbot/vo/PushJoinVO.java

@@ -1,6 +1,8 @@
 package com.diagbot.vo;
 
-import com.diagbot.client.bean.LisResult;
+import com.diagbot.biz.push.entity.Item;
+import com.diagbot.biz.push.entity.Lis;
+import com.diagbot.biz.push.entity.Pacs;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -17,33 +19,151 @@ import java.util.List;
 @Getter
 @Setter
 public class PushJoinVO {
+    /**
+     * 医院编码
+     */
+    private String hosCode;
+
+    /**
+     * 年龄
+     */
     @NotNull(message = "请输入年龄")
     private Integer age;
+    /**
+     * 性别
+     */
     @NotNull(message = "请输入性别")
     private Integer sex;
+
+    /**
+     * 婚姻
+     */
+    private String marriage;
+    /**
+     * 主诉
+     */
+    private String chief;
+    /**
+     * 现病史
+     */
     private String symptom;
-    private String diag;
+    /**
+     * 查体
+     */
     private String vital;
-    private List<LisResult> lis;
-    private String pacs;
-    @ApiModelProperty(hidden = true)
-    private String past;
+    /**
+     * 既往史
+     */
+    private String pasts;
+    /**
+     * 传染病史
+     */
+    private String infectious;
+    /**
+     * 手术外伤史
+     */
+    private String operation;
+    /**
+     * 过敏史
+     */
+    private String allergy;
+    /**
+     * 接种史
+     */
+    private String vaccination;
+    /**
+     * 个人史
+     */
+    private String personal;
+    /**
+     * 婚育史
+     */
+    private String marital;
+    /**
+     * 家族史
+     */
+    private String family;
+    /**
+     * 月经史
+     */
+    private String menstrual;
+    /**
+     * 其他史
+     */
     private String other;
-    //不能分类文本
+    /**
+     * 化验文本数据
+     */
+    private String lisString;
+    /**
+     * 辅检文本数据
+     */
+    private String pacsString;
+    /**
+     * 诊断文本数据
+     */
+    private String diagString;
+    /**
+     * 药品文本数据
+     */
+    private String drugString;
+    /**
+     * 不能分类文本
+     */
     private String unknown;
-
-    private String diseaseName;
-    private String scaleName; //量表名称
+    /**
+     * 化验项目和结果
+     */
+    private List<Lis> lis;
+    /**
+     * 辅检项目和结果
+     */
+    private List<Pacs> pacs;
+    /**
+     * 诊断
+     */
+    private List<Item> diag;
+    /**
+     * 药品
+     */
+    private List<Item> drug;
+    /**
+     * 当前化验开单项
+     */
+    private List<Lis> lisOrder;
+    /**
+     * 当前辅检开单项
+     */
+    private List<Pacs> pacsOrder;
+    /**
+     * 当前诊断开单项
+     */
+    private List<Item> diagOrder;
+    /**
+     * 当前药品开单项
+     */
+    private List<Item> drugOrder;
+    /**
+     * 当前手术开单项
+     */
+    private List<Item> operationOrder;
+    /**
+     * 其他开单项
+     */
+    private List<Item> otherOrder;
+    /**
+     * 选中诊断
+     */
+    private Item diseaseName;
+    /**
+     * 诊断类型(0-普通病(默认不填),1-慢病,2-急诊)
+     */
     @ApiModelProperty(hidden = true)
-    private Integer disType;  //0-普通病(默认不填),1-慢病,2-急诊
-    private String adverseReactions; //不良反应
-    private String indications;   //推理指标
-    private String hosCode;   //医院编码
-
-    private String lisString;  //化验纯文本
-    private String lisOrder;   //当前正在下单化验
-    private String pacsOrder;   //当前正在下单辅检
-    private String otherOrder; //其他
+    private Integer disType;
+    /**
+     * 量表名称
+     */
+    private String scaleName;
 
     //创建时间
     @ApiModelProperty(hidden = true)
@@ -57,4 +177,4 @@ public class PushJoinVO {
     //过期时间字符串
     @ApiModelProperty(hidden = true)
     private String expireTimeStr;
-}
+}

+ 3 - 17
data-service/src/main/java/com/diagbot/vo/PushVO.java

@@ -1,29 +1,15 @@
 package com.diagbot.vo;
 
-import io.swagger.annotations.ApiModelProperty;
+import com.diagbot.biz.push.entity.SearchVO;
 import lombok.Getter;
 import lombok.Setter;
 
 /**
- * @Description:
+ * @Description:页面推送模式推理入参
  * @Author:zhaops
  * @time: 2018/11/20 13:38
  */
 @Getter
 @Setter
-public class PushVO  extends PushBaseVO {
-    private String diseaseName;
-    private String scaleName; //量表名称
-    @ApiModelProperty(hidden = true)
-    private Integer disType;  //0-普通病(默认不填),1-慢病,2-急诊
-    private String adverseReactions; //不良反应
-    private String indications;   //推理指标
-    private String hosCode;   //医院编码
-
-    private String lisString;  //化验纯文本
-    private String lisOrder;   //当前正在下单化验
-    private String pacsOrder;   //当前正在下单辅检
-    private String otherOrder; //其他
-
-    private String ruleType;   //规则类型
+public class PushVO  extends SearchVO {
 }

+ 0 - 36
data-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,7 +1,6 @@
 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;
@@ -66,41 +65,6 @@ public class PushController {
         return RespDTO.onSuc(pushFacade.push(pushVO));
     }
 
-    @ApiOperation(value = "数据服务模式-治疗方案[by:zhaops]",
-            notes = "age: 年龄(必填)<br>" +
-                    "sex:性别(必填),1:男,2:女<br>" +
-                    "symptom:症状,String<br>" +
-                    "pasts:既往史,String<br>" +
-                    "other:其它史,String<br>" +
-                    "vital:查体,String<br>" +
-                    "lis:化验,Array<br>" +
-                    "lis:name:套餐名称(必填),String<br>" +
-                    "lis:detailName:化验项名称(必填),String<br>" +
-                    "lis:uniqueName:公表名称,String<br>" +
-                    "lis:value:值,Double<br>" +
-                    "lis:maxValue:最大值,Double<br>" +
-                    "lis:minValue:最小值,Double<br>" +
-                    "lis:units:单位,String<br>" +
-                    "lis:otherValue:其他结果,包括阴性阳性,文字描述等,String<br>" +
-                    "lis:source:数据来源(必填),Integer<br>" +
-                    "pacs:辅检,String<br>" +
-                    "diag:诊断,String<br>" +
-                    "featureType:类型(必填),8:治疗方案,String<br>" +
-                    "diseaeName:取治疗方案的诊断,String<br>" +
-                    "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +
-                    "indications:指标结果,String<br>" +
-                    "adverseReactions:不良反应,String<br>" +
-                    "hosCode:医院编码,String<br>" +
-                    "lisString:化验纯文本,String<br>" +
-                    "lisOrder:下单化验项,多项用分号隔开,String<br>" +
-                    "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
-                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐  6:异常值,多项用分号隔开,String<br>")
-    @PostMapping("/pushTreatment")
-    @SysLogger("pushTreatment")
-    public RespDTO<Treat> pushTreatment(@RequestBody @Valid PushVO pushVO) {
-        return RespDTO.onSuc(pushFacade.pushTreatment(pushVO));
-    }
 
     @ApiOperation(value = "数据服务模式-量表[by:zhaops]",
             notes = "age: 年龄(必填)<br>" +

+ 26 - 7
icss-service/src/main/java/com/diagbot/aggregate/PushItemAggregate.java

@@ -1,6 +1,8 @@
 package com.diagbot.aggregate;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.biz.push.entity.Treat;
+import com.diagbot.biz.push.enums.FeatureTypeEnum;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.ConceptBaseVO;
 import com.diagbot.client.bean.ConceptExistVO;
@@ -13,7 +15,6 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.DeptVital;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.enums.ConceptTypeEnum;
-import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.QuestionTypeEnum;
 import com.diagbot.enums.TagTypeEnum;
@@ -21,6 +22,7 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.facade.DeptVitalFacade;
 import com.diagbot.facade.QuestionFacade;
+import com.diagbot.facade.TreatmentFacade;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
@@ -54,6 +56,8 @@ public class PushItemAggregate {
     private AiptServiceClient aiptServiceClient;
     @Autowired
     private DeptVitalFacade deptVitalFacade;
+    @Autowired
+    private TreatmentFacade treatmentFacade;
 
     @DataProvider("setICSSAll")
     public PushDTO setICSSAll(
@@ -61,7 +65,8 @@ public class PushItemAggregate {
             @DataConsumer("setICSSSymptom") List<ConceptPushDTO> symptom,
             @DataConsumer("setICSSVitalIndex") List<ConceptPushDTO> vital,
             @DataConsumer("setICSSVitalModule") List<QuestionPushDTO> vitalModule,
-            @DataConsumer("setICSSLab") List<QuestionPushDTO> lab) {
+            @DataConsumer("setICSSLab") List<QuestionPushDTO> lab,
+            @DataConsumer("setICSSTreat") Treat treat) {
 
         if (ListUtil.isNotEmpty(symptom)) {
             pushDTO.setSymptom(symptom);
@@ -81,6 +86,9 @@ public class PushItemAggregate {
         if (ListUtil.isNotEmpty(lab)) {
             pushDTO.setLab(lab);
         }
+        if (treat != null) {
+            pushDTO.setTreat(treat);
+        }
         return pushDTO;
     }
 
@@ -89,7 +97,7 @@ public class PushItemAggregate {
                                            @InvokeParameter("data") PushDTO data) {
         List<ConceptPushDTO> symptomRes = ListUtil.newArrayList();
         //症状 概念列表
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Symptom.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Symptom.getKey()))) {
             symptomRes = data.getSymptom();
             if (ListUtil.isNotEmpty(symptomRes)) {
                 symptomRes = addQuestionId(symptomRes, QuestionTypeEnum.Symptom.getKey());
@@ -102,7 +110,7 @@ public class PushItemAggregate {
     public List<ConceptPushDTO> setVitalIndex(@InvokeParameter("featureTypeSet") Set<String> featureTypeSet,
                                               @InvokeParameter("data") PushDTO data) {
         List<ConceptPushDTO> vitalRes = ListUtil.newArrayList();
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalIndex.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Index.getKey()))) {
             vitalRes = data.getVital();
             if (ListUtil.isNotEmpty(vitalRes)) {
                 vitalRes = addQuestionId(vitalRes, QuestionTypeEnum.Vital.getKey());
@@ -116,7 +124,7 @@ public class PushItemAggregate {
                                                 @InvokeParameter("data") PushDTO data,
                                                 @InvokeParameter("pushVO") PushVO pushVO) {
         List<QuestionPushDTO> moduleVitalDTO = Lists.newLinkedList();
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalModule.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Module.getKey()))) {
             ConceptPushDTO dept = data.getDept();
             moduleVitalDTO = getVitalModule(dept, pushVO);
         }
@@ -129,7 +137,7 @@ public class PushItemAggregate {
                                         @InvokeParameter("pushVO") PushVO pushVO) {
         List<QuestionPushDTO> labs = Lists.newLinkedList();
         List<QuestionPushDTO> lisDTO = Lists.newLinkedList();
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Lis.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Lis.getKey()))) {
             labs = data.getLab();
             if (ListUtil.isNotEmpty(labs)) {
                 Map<String, Long> lisMap = new LinkedHashMap<>();
@@ -159,6 +167,17 @@ public class PushItemAggregate {
         return lisDTO;
     }
 
+    @DataProvider("setICSSTreat")
+    public Treat setICSSTreat(@InvokeParameter("featureTypeSet") Set<String> featureTypeSet,
+                              @InvokeParameter("data") PushDTO data,
+                              @InvokeParameter("pushVO") PushVO pushVO) {
+        Treat treat = data.getTreat();
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Treat.getKey()))) {
+            treat = treatmentFacade.getTreatment(treat, pushVO.getPatientId());
+        }
+        return treat;
+    }
+
     /**
      * 概念关联标签,添加标签id ——症状
      *
@@ -301,4 +320,4 @@ public class PushItemAggregate {
         }
         return mapDTO;
     }
-}
+}

+ 7 - 26
icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -1,12 +1,10 @@
 package com.diagbot.client;
 
-import com.diagbot.biz.push.entity.ResponseData;
-import com.diagbot.biz.push.entity.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ConceptBaseVO;
 import com.diagbot.client.bean.ConceptExistVO;
 import com.diagbot.client.bean.DisTypeVO;
-import com.diagbot.client.bean.Treat;
 import com.diagbot.client.hystrix.AiptServiceHystrix;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptIntroduceDTO;
@@ -61,15 +59,6 @@ import java.util.Map;
  */
 @FeignClient(value = "aipt-service", fallback = AiptServiceHystrix.class)
 public interface AiptServiceClient {
-    /**
-     * 推理接口,大数据返回格式
-     *
-     * @param searchData
-     * @return
-     */
-    @PostMapping(value = "/clinicaldata/processData")
-    RespDTO<ResponseData> aiptData(@RequestBody SearchData searchData);
-
     /**
      * 计算接口(量表、计算公式)
      *
@@ -82,11 +71,11 @@ public interface AiptServiceClient {
     /**
      * 获取量表全文接口
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @PostMapping(value = "/clinicaldata/getScale")
-    RespDTO<List<ScaleContent>> getScale(@RequestBody SearchData searchData);
+    RespDTO<List<ScaleContent>> getScale(@RequestBody SearchVO searchVO);
 
     /**
      * 症状特征提取
@@ -97,23 +86,15 @@ public interface AiptServiceClient {
     @PostMapping(value = "/feature/symptomFeature")
     RespDTO<List<FeatureConceptDTO>> symptomFeature(@RequestParam("text") String text);
 
-    /**
-     * 获取治疗方案
-     *
-     * @param searchData
-     * @return
-     */
-    @PostMapping("/push/treatment")
-    RespDTO<Treat> getTreatment(@RequestBody SearchData searchData);
 
     /**
      * 推理
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @PostMapping("/push/pushInner")
-    RespDTO<PushDTO> pushInner(@RequestBody SearchData searchData);
+    RespDTO<PushDTO> pushInner(@RequestBody SearchVO searchVO);
 
 
     @PostMapping(value = "/scale/getList")
@@ -159,11 +140,11 @@ public interface AiptServiceClient {
     /**
      * 获取管理评估模板
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @PostMapping("/evaluation/getEvaluationModules")
-    RespDTO<List<EvaluationDTO>> getEvaluationModules(@RequestBody SearchData searchData);
+    RespDTO<List<EvaluationDTO>> getEvaluationModules(@RequestBody SearchVO searchVO);
 
     /**
      * 获取指标配置

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

@@ -1,23 +0,0 @@
-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;
-}

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

@@ -1,16 +0,0 @@
-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-选中
-}

+ 0 - 22
icss-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java

@@ -1,22 +0,0 @@
-package com.diagbot.client.bean;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-
-/**
- * @Description:推送指标
- * @Author:zhaops
- * @time: 2019/3/14 14:40
- */
-@Getter
-@Setter
-public class MedicalIndication {
-    private Long conceptId;
-    private Integer libType;
-    private Integer type;
-    private String name;
-    private List<MedicalIndicationDetail> details;
-}

+ 0 - 17
icss-service/src/main/java/com/diagbot/client/bean/MedicalIndicationDetail.java

@@ -1,17 +0,0 @@
-package com.diagbot.client.bean;
-
-import com.alibaba.fastjson.JSONObject;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:推送指标明细
- * @Author:zhaops
- * @time: 2019/4/11 10:15
- */
-@Getter
-@Setter
-public class MedicalIndicationDetail {
-    private Integer type; //1-量表,2-公式,3-其他指标,4-危机值
-    private JSONObject content;  //type<>1 非量表,返回内容;type=1 量表,返回量表名称{"name":""} ,controlType:0-radio,1-checkbox,2-text,3-dropdownlist
-}

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

@@ -1,28 +0,0 @@
-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;
-}

+ 0 - 25
icss-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java

@@ -1,25 +0,0 @@
-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 Long id;
-    /**
-     * 1-有提示信息,0-没有提示信息
-     */
-    private String showInfo = "0";
-    private String drugsForbidden;
-    private String bigdrugsName;//药类名
-    private String subdrugsName;//药类名-小类
-    private LinkedList<Medicition> medicitionsList;
-}

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

@@ -1,18 +0,0 @@
-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;
-}

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

@@ -1,26 +0,0 @@
-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;
-}

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

@@ -1,18 +0,0 @@
-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;
-}

+ 6 - 34
icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -1,13 +1,11 @@
 package com.diagbot.client.hystrix;
 
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ConceptBaseVO;
 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;
@@ -47,7 +45,6 @@ import com.diagbot.vo.ScaleIndexVO;
 import com.diagbot.vo.VersionVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -63,19 +60,6 @@ import java.util.Map;
 @Component
 @Slf4j
 public class AiptServiceHystrix implements AiptServiceClient {
-
-    /**
-     * 推理接口,大数据返回格式
-     *
-     * @param searchData
-     * @return
-     */
-    @Override
-    public RespDTO<ResponseData> aiptData(@RequestBody SearchData searchData) {
-        log.error("【hystrix】调用{}异常", "aiptData");
-        return null;
-    }
-
     /**
      * 计算接口(量表、计算公式)
      *
@@ -91,11 +75,11 @@ public class AiptServiceHystrix implements AiptServiceClient {
     /**
      * 获取量表全文接口
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @Override
-    public RespDTO<List<ScaleContent>> getScale(@RequestBody SearchData searchData) {
+    public RespDTO<List<ScaleContent>> getScale(@RequestBody SearchVO searchVO) {
         log.error("【hystrix】调用{}异常", "getScale");
         return null;
     }
@@ -112,26 +96,14 @@ public class AiptServiceHystrix implements AiptServiceClient {
         return null;
     }
 
-    /**
-     * 获取治疗方案
-     *
-     * @param searchData
-     * @return
-     */
-    @Override
-    public RespDTO<Treat> getTreatment(@RequestBody SearchData searchData) {
-        log.error("【hystrix】调用{}异常", "getTreatment");
-        return null;
-    }
-
     /**
      * 推理
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @Override
-    public RespDTO<PushDTO> pushInner(@RequestBody SearchData searchData) {
+    public RespDTO<PushDTO> pushInner(@RequestBody SearchVO searchVO) {
         log.error("【hystrix】调用{}异常", "pushInner");
         return null;
     }
@@ -200,7 +172,7 @@ public class AiptServiceHystrix implements AiptServiceClient {
     }
 
     @Override
-    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid SearchData searchData) {
+    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid SearchVO searchVO) {
         log.error("【hystrix】调用{}异常", "getEvaluationModules");
         return null;
     }

+ 7 - 2
icss-service/src/main/java/com/diagbot/dto/PushDTO.java

@@ -1,6 +1,7 @@
 package com.diagbot.dto;
 
-import com.diagbot.client.bean.MedicalIndication;
+import com.diagbot.biz.push.entity.MedicalIndication;
+import com.diagbot.biz.push.entity.Treat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -16,7 +17,6 @@ import java.util.Map;
 @Setter
 public class PushDTO {
     private List<ConceptPushDTO> symptom;
-    private List<ConceptPushDTO> other;
     private List<ConceptPushDTO> vital;
     private List<Long> vitalIds;
     private List<QuestionPushDTO> moduleVital;
@@ -25,4 +25,9 @@ public class PushDTO {
     private Map<String, List<ConceptPushDTO>> dis;
     private ConceptPushDTO dept;
     private List<MedicalIndication> medicalIndications;
+    private Treat treat;
+    /**
+     * 有无病情提示标志(0:无,1:有)
+     */
+    private String hasIndications;
 }

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

@@ -1,59 +0,0 @@
-package com.diagbot.enums;
-
-import com.diagbot.core.KeyedNamed;
-import lombok.Setter;
-
-/**
- * @Description: 推送类型
- * @Author:zhaops
- * @time: 2019/3/14 11:28
- */
-public enum FeatureTypeEnum implements KeyedNamed {
-    Symptom(1, "症状"),
-    Other(3, "其他史"),
-    VitalResult(4, "查体结果"),
-    VitalModule(41, "查体模板"),
-    VitalIndex(42, "查体指标"),
-    Lis(5, "化验"),
-    Pacs(6, "辅检"),
-    Disease(7, "诊断"),
-    Treat(8, "治疗"),
-    Scale(21, "量表内容"),
-    MedicalIndication(22, "指标"),
-    ManagementEvaluation(11, "管理评估");
-
-    @Setter
-    private int key;
-
-    @Setter
-    private String name;
-
-    FeatureTypeEnum(int key, String name) {
-        this.key = key;
-        this.name = name;
-    }
-
-    public static FeatureTypeEnum getEnum(int key) {
-        for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
-                return item;
-            }
-        }
-        return null;
-    }
-
-    public static String getName(int key) {
-        FeatureTypeEnum item = getEnum(key);
-        return item != null ? item.name : null;
-    }
-
-    @Override
-    public int getKey() {
-        return key;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-}

+ 9 - 58
icss-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -1,73 +1,24 @@
 package com.diagbot.facade;
 
-import com.diagbot.client.bean.SearchData;
-import com.diagbot.enums.LisSourceEnum;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.util.BeanUtil;
-import com.diagbot.util.ListUtil;
-import com.diagbot.util.StringUtil;
-import com.diagbot.vo.LisResult;
 import com.diagbot.vo.PushVO;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
 /**
- * @Description:
+ * @Description:数据拼接
  * @Author:zhaops
  * @time: 2019/5/9 15:40
  */
 @Component
 public class AssembleFacade {
-    /**
-     * 拼装数据
-     *
-     * @param pushVO
-     * @return SearchData
-     */
-    public SearchData assembleData(PushVO pushVO) {
-        SearchData searchData = new SearchData();
-        searchData.setAge(pushVO.getAge());
-        searchData.setSymptom(pushVO.getSymptom());
-        searchData.setVital(pushVO.getVital());
-        searchData.setPacs(pushVO.getPacs());
-        searchData.setPasts(pushVO.getPasts());
-        searchData.setOther(pushVO.getOther());
-        searchData.setDiag(pushVO.getDiag());
-        searchData.setDisType(pushVO.getDisType());
-        searchData.setAdverseEvent(pushVO.getAdverseReactions());
-        searchData.setScaleName(pushVO.getScaleName());
-        searchData.setDiseaseName(pushVO.getDiseaseName());
-        searchData.setIndications(pushVO.getIndications());
-        searchData.setFeatureType(pushVO.getFeatureType());
-        searchData.setHosCode(pushVO.getHosCode());
-        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:
-                searchData.setSex("M");
-                break;
-            case 2:
-                searchData.setSex("F");
-                break;
-            default:
-                searchData.setSex("A");
-                break;
-        }
-
-        //化验项映射,转公表
-        if (ListUtil.isNotEmpty(pushVO.getLis())) {
-            searchData.setLisArr(pushVO.getLis());
-        }
-        return searchData;
+    public SearchVO assembleData(PushVO pushVO) {
+        SearchVO searchVO = new SearchVO();
+        BeanUtil.copyProperties(pushVO, searchVO);
+        searchVO.setSysCode("1");
+        searchVO.setLength(10);
+        searchVO.setSysType(SysTypeEnum.ICSS_SERVICE.getKey());
+        return searchVO;
     }
 }

+ 11 - 52
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -1,16 +1,12 @@
 package com.diagbot.facade;
 
-import com.diagbot.biz.push.entity.SearchData;
-import com.diagbot.biz.push.facade.AssembleFacade;
+import com.diagbot.biz.push.entity.SearchVO;
+import com.diagbot.biz.push.enums.FeatureTypeEnum;
 import com.diagbot.client.AiptServiceClient;
-import com.diagbot.client.bean.Treat;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.enums.FeatureTypeEnum;
-import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
-import com.diagbot.util.BeanUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.PushVO;
 import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
@@ -33,36 +29,22 @@ public class PushFacade {
     @Autowired
     private DataBeanAggregateQueryFacade dataBeanAggregateQueryFacade;
     @Autowired
-    private TreatmentFacade treatmentFacade;
-    @Autowired
     private AiptServiceClient aiptServiceClient;
     @Autowired
     private AssembleFacade assembleFacade;
 
     /**
-     * 中间层推理-症状……诊断、核心指标
+     * 中间层推理-症状……诊断、病情提示、治疗方案
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
-    public PushDTO pushInnerAipt(SearchData searchData) {
-        RespDTO<PushDTO> res = aiptServiceClient.pushInner(searchData);
+    public PushDTO pushInnerAipt(SearchVO searchVO) {
+        RespDTO<PushDTO> res = aiptServiceClient.pushInner(searchVO);
         RespDTOUtil.respNGDeal(res, "中间层没有返回结果");
         return res.data;
     }
 
-    /**
-     * 中间层获取治疗方案
-     *
-     * @param searchData
-     * @return
-     */
-    public Treat getTreatment(SearchData searchData) {
-        RespDTO<Treat> res = aiptServiceClient.getTreatment(searchData);
-        RespDTOUtil.respNGDealCover(res, "中间层没有返回治疗方案");
-        return res.data;
-    }
-
     /**
      * 推理接口
      *
@@ -71,12 +53,8 @@ public class PushFacade {
      */
     public PushDTO pushInner(PushVO pushVO) {
         PushDTO pushDTO = new PushDTO();
-        SearchData searchData = new SearchData();
-        BeanUtil.copyProperties(pushVO, searchData);
-        searchData = assembleFacade.assembleData(searchData, SysTypeEnum.ICSS_SERVICE.getKey());
-        BeanUtil.copyProperties(searchData, pushVO);
-
-        PushDTO data = pushInnerAipt(searchData);
+        SearchVO searchVO = assembleFacade.assembleData(pushVO);
+        PushDTO data = pushInnerAipt(searchVO);
 
         String featureType = pushVO.getFeatureType();
         String[] featureTypes = featureType.split(",|,");
@@ -102,37 +80,18 @@ public class PushFacade {
             }
         }
 
-        //其他史 概念+标签id
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Other.getKey()))) {
-        }
         //辅检  标签列表
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Pacs.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Pacs.getKey()))) {
             pushDTO.setPacs(data.getPacs());
         }
         //诊断 返回分类+标签列表
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Disease.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Disease.getKey()))) {
             pushDTO.setDis(data.getDis());
         }
         //推送指标 featuretype=22
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.MedicalIndication.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Indication.getKey()))) {
             pushDTO.setMedicalIndications(data.getMedicalIndications());
         }
         return pushDTO;
     }
-
-    /**
-     * 治疗方案推送
-     *
-     * @param pushVO
-     * @return
-     */
-    public Treat pushTreatment(PushVO pushVO) {
-        SearchData searchData = new SearchData();
-        BeanUtil.copyProperties(pushVO, searchData);
-        searchData = assembleFacade.assembleData(searchData, SysTypeEnum.ICSS_SERVICE.getKey());
-        BeanUtil.copyProperties(searchData, pushVO);
-        Treat data = getTreatment(searchData);
-        data = treatmentFacade.getTreatment(data, pushVO.getPatientId());
-        return data;
-    }
 }

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

@@ -1,11 +1,10 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.biz.push.entity.Medicition;
+import com.diagbot.biz.push.entity.Treat;
 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;

+ 0 - 26
icss-service/src/main/java/com/diagbot/vo/LisResult.java

@@ -1,26 +0,0 @@
-package com.diagbot.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @Description:化验信息
- * @Author:zhaops
- * @time: 2018/12/19 14:03
- */
-@Getter
-@Setter
-public class LisResult {
-    private String name;//套餐名称
-    private String detailName;//化验项名称
-    private String uniqueName;//公表名称
-    private Double value;//值
-    private Double maxValue;//最大值
-    private Double minValue;//最小值
-    private String units;//单位
-    private String otherValue;//其他结果,包括阴性阳性,文字描述等
-    @NotNull(message = "请输入数据来源")
-    private Integer source; //0-内部来源,1-外部来源
-}

+ 0 - 32
icss-service/src/main/java/com/diagbot/vo/PushBaseVO.java

@@ -1,32 +0,0 @@
-package com.diagbot.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-/**
- * @Description: 推理参数
- * @Author:zhaops
- * @time: 2019/4/17 14:42
- */
-@Getter
-@Setter
-public class PushBaseVO {
-    @NotNull(message = "请输入年龄")
-    private Integer age;
-    @NotNull(message = "请输入性别")
-    private Integer sex;
-    @NotBlank(message = "请输入推送类型")
-    private String featureType;
-    private String symptom;
-    private String diag;
-    private String vital;
-    private List<LisResult> lis;
-    private String pacs;
-    private String pasts;
-    private String other;
-}

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

@@ -1,25 +0,0 @@
-package com.diagbot.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-/**
- * @Description:
- * @Author:zhaops
- * @time: 2018/11/26 17:05
- */
-@Getter
-@Setter
-public class PushKYJVO {
-    @NotNull(message = "请输入年龄")
-    private Integer age;
-    @NotNull(message = "请输入性别")
-    private Integer sex;
-    @NotBlank(message = "请输入推送类型")
-    private String featureType;
-    private List<LisResult> lisResultList;
-}

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

@@ -1,6 +1,6 @@
 package com.diagbot.vo;
 
-import com.diagbot.biz.push.entity.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -12,7 +12,7 @@ import lombok.Setter;
 
 @Getter
 @Setter
-public class PushVO extends SearchData {
+public class PushVO extends SearchVO {
     /**
      * 病人id
      */

+ 0 - 1
icss-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,7 +1,6 @@
 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.AssembleFacade;

+ 5 - 15
ltapi-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -1,9 +1,8 @@
 package com.diagbot.client;
 
+import com.diagbot.biz.push.entity.SearchVO;
 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;
@@ -28,20 +27,11 @@ public interface AiptServiceClient {
     /**
      * 推理
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @PostMapping("/push/pushInner")
-    RespDTO<PushDTO> pushInner(@RequestBody SearchData searchData);
-
-    /**
-     * 获取治疗方案
-     *
-     * @param searchData
-     * @return
-     */
-    @PostMapping("/push/treatment")
-    RespDTO<Treat> getTreatment(@RequestBody SearchData searchData);
+    RespDTO<PushDTO> pushInner(@RequestBody SearchVO searchVO);
 
     /**
      * 计算接口-量表/公式
@@ -55,11 +45,11 @@ public interface AiptServiceClient {
     /**
      * 获取量表接口
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @PostMapping(value = "/clinicaldata/getScale")
-    RespDTO<List<ScaleContent>> getScale(@RequestBody SearchData searchData);
+    RespDTO<List<ScaleContent>> getScale(@RequestBody SearchVO searchVO);
 
     /**
      * 获取提示信息

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

@@ -1,23 +0,0 @@
-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;
-}

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

@@ -1,16 +0,0 @@
-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-选中
-}

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

@@ -1,26 +0,0 @@
-package com.diagbot.client.bean;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @Description:化验信息
- * @Author:zhaops
- * @time: 2018/12/19 14:03
- */
-@Getter
-@Setter
-public class LisResult {
-    private String name;//套餐名称
-    private String detailName;//化验项名称
-    private String uniqueName;//公表名称
-    private Double value;//值
-    private Double maxValue;//最大值
-    private Double minValue;//最小值
-    private String units;//单位
-    private String otherValue;//其他结果,包括阴性阳性,文字描述等
-    @NotNull(message = "请输入数据来源")
-    private Integer source;
-}

+ 0 - 22
ltapi-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java

@@ -1,22 +0,0 @@
-package com.diagbot.client.bean;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-
-/**
- * @Description:推送指标
- * @Author:zhaops
- * @time: 2019/3/14 14:40
- */
-@Getter
-@Setter
-public class MedicalIndication {
-    private Long conceptId;
-    private Integer libType;
-    private Integer type;
-    private String name;
-    private List<MedicalIndicationDetail> details;
-}

+ 0 - 17
ltapi-service/src/main/java/com/diagbot/client/bean/MedicalIndicationDetail.java

@@ -1,17 +0,0 @@
-package com.diagbot.client.bean;
-
-import com.alibaba.fastjson.JSONObject;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:推送指标明细
- * @Author:zhaops
- * @time: 2019/4/11 10:15
- */
-@Getter
-@Setter
-public class MedicalIndicationDetail {
-    private Integer type; //1-量表,2-公式,3-其他指标,4-危机值
-    private JSONObject content;  //type<>1 非量表,返回内容;type=1 量表,返回量表名称{"name":""} ,controlType:0-radio,1-checkbox,2-text,3-dropdownlist
-}

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

@@ -1,28 +0,0 @@
-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;
-}

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

@@ -1,27 +0,0 @@
-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;
-}

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

@@ -1,18 +0,0 @@
-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;
-}

+ 0 - 19
ltapi-service/src/main/java/com/diagbot/client/bean/PacsResult.java

@@ -1,19 +0,0 @@
-package com.diagbot.client.bean;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:
- * @Author:zhaops
- * @time: 2019/11/7 15:02
- */
-@Getter
-@Setter
-public class PacsResult {
-    private String name;
-    @ApiModelProperty(hidden = true)
-    private String uniqueName;
-    private String result;
-}

+ 0 - 46
ltapi-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -1,46 +0,0 @@
-package com.diagbot.client.bean;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-/**
- * Created by fyeman on 2018/1/31.
- */
-@Getter
-@Setter
-public class SearchData {
-    private int length;
-    private int age;
-    private String sex;
-    //特征类别
-    private String featureType;
-    //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
-    private String sysCode;
-    private String symptom;
-    private String pasts;
-    private String other;
-    private String vital;
-    private String lis;
-    private List<LisResult> lisArr;
-    private String pacs;
-    private List<PacsResult> pacsArr;
-    private String diag;
-    private String diseaseName; //指定诊断,例如取治疗方案
-    private String scaleName;   //量表名称
-    private String indications; //指标结果
-    private String adverseReactions; //不良反应
-    private Integer disType;    //诊断类型
-    private String adverseEvent;
-    private String hosCode;
-    @ApiModelProperty(hidden = true)
-    private Integer sysType;  //系统类型
-
-    private String lisOrder;
-    private String pacsOrder;
-    private String otherOrder;
-
-    private String ruleType;   //规则类型
-}

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

@@ -1,26 +0,0 @@
-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;
-}

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

@@ -1,18 +0,0 @@
-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;
-}

+ 5 - 18
ltapi-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -1,10 +1,9 @@
 package com.diagbot.client.hystrix;
 
+import com.diagbot.biz.push.entity.SearchVO;
 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;
@@ -29,27 +28,15 @@ public class AiptServiceHystrix implements AiptServiceClient {
     /**
      * 推理
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @Override
-    public RespDTO<PushDTO> pushInner(@RequestBody SearchData searchData) {
+    public RespDTO<PushDTO> pushInner(@RequestBody SearchVO searchVO) {
         log.error("【hystrix】调用{}异常", "pushInner");
         return null;
     }
 
-    /**
-     * 获取治疗方案
-     *
-     * @param searchData
-     * @return
-     */
-    @Override
-    public RespDTO<Treat> getTreatment(@RequestBody SearchData searchData) {
-        log.error("【hystrix】调用{}异常", "getTreatment");
-        return null;
-    }
-
     /**
      * 计算接口-量表/公式
      *
@@ -65,11 +52,11 @@ public class AiptServiceHystrix implements AiptServiceClient {
     /**
      * 获取量表接口
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @Override
-    public RespDTO<List<ScaleContent>> getScale(@RequestBody SearchData searchData) {
+    public RespDTO<List<ScaleContent>> getScale(@RequestBody SearchVO searchVO) {
         log.error("【hystrix】调用{}异常", "getScale");
         return null;
     }

+ 28 - 2
ltapi-service/src/main/java/com/diagbot/dto/PushDTO.java

@@ -1,6 +1,7 @@
 package com.diagbot.dto;
 
-import com.diagbot.client.bean.MedicalIndication;
+import com.diagbot.biz.push.entity.MedicalIndication;
+import com.diagbot.biz.push.entity.Treat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -15,11 +16,36 @@ import java.util.Map;
 @Getter
 @Setter
 public class PushDTO {
+    /**
+     * 症状
+     */
     private List<ConceptPushDTO> symptom;
-    private List<ConceptPushDTO> other;
+    /**
+     * 体征结果
+     */
     private List<ConceptPushDTO> vital;
+    /**
+     * 化验
+     */
     private List<ConceptPushDTO> lab;
+    /**
+     * 辅检
+     */
     private List<ConceptPushDTO> pacs;
+    /**
+     * 诊断
+     */
     private Map<String, List<ConceptPushDTO>> dis;
+    /**
+     * 病情提示
+     */
     private List<MedicalIndication> medicalIndications;
+    /**
+     * 治疗方案
+     */
+    private Treat treat;
+    /**
+     * 有无病情提示标志(0:无,1:有)
+     */
+    private String hasIndications;
 }

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

@@ -1,58 +0,0 @@
-package com.diagbot.enums;
-
-import com.diagbot.core.KeyedNamed;
-import lombok.Setter;
-
-/**
- * @Description: 推送类型
- * @Author:zhaops
- * @time: 2019/3/14 11:28
- */
-public enum FeatureTypeEnum implements KeyedNamed {
-    Symptom(1, "症状"),
-    Other(3, "其他史"),
-    VitalResult(4, "查体结果"),
-    VitalIndex(42, "查体指标"),
-    Lis(5, "化验"),
-    Pacs(6, "辅检"),
-    Disease(7, "诊断"),
-    Treat(8, "治疗"),
-    Scale(21, "量表内容"),
-    MedicalIndication(22, "指标"),
-    ManagementEvaluation(11, "管理评估");
-
-    @Setter
-    private int key;
-
-    @Setter
-    private String name;
-
-    FeatureTypeEnum(int key, String name) {
-        this.key = key;
-        this.name = name;
-    }
-
-    public static FeatureTypeEnum getEnum(int key) {
-        for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
-                return item;
-            }
-        }
-        return null;
-    }
-
-    public static String getName(int key) {
-        FeatureTypeEnum item = getEnum(key);
-        return item != null ? item.name : null;
-    }
-
-    @Override
-    public int getKey() {
-        return key;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-}

+ 28 - 59
ltapi-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -1,11 +1,9 @@
 package com.diagbot.facade;
 
-import com.diagbot.client.bean.LisResult;
-import com.diagbot.client.bean.SearchData;
-import com.diagbot.enums.FeatureTypeEnum;
+import com.diagbot.biz.push.entity.SearchVO;
+import com.diagbot.biz.push.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;
@@ -27,62 +25,33 @@ public class AssembleFacade {
      * @param pushVO
      * @return SearchData
      */
-    public SearchData assembleData(PushVO pushVO) {
-        SearchData searchData = new SearchData();
-        searchData.setAge(pushVO.getAge());
-        searchData.setSymptom(pushVO.getSymptom());
-        searchData.setVital(pushVO.getVital());
-        searchData.setPacs(pushVO.getPacs());
-        searchData.setPacsArr(pushVO.getPacsArr());
-        searchData.setPasts(pushVO.getPasts());
-        searchData.setOther(pushVO.getOther());
-        searchData.setDiag(pushVO.getDiag());
-        searchData.setDisType(pushVO.getDisType());
-        searchData.setAdverseEvent(pushVO.getAdverseReactions());
-        searchData.setScaleName(pushVO.getScaleName());
-        searchData.setDiseaseName(pushVO.getDiseaseName());
-        searchData.setIndications(pushVO.getIndications());
-        searchData.setFeatureType(pushVO.getFeatureType());
-        searchData.setSysCode("1");
-        searchData.setLength(10);
-        searchData.setSysType(SysTypeEnum.LTAPI_SERVICE.getKey());
-        searchData.setHosCode(pushVO.getHosCode());
-        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,6";
-        } 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);
+    public SearchVO assembleData(PushVO pushVO) {
+        SearchVO searchVO = new SearchVO();
+        BeanUtil.copyProperties(pushVO, searchVO);
+        searchVO.setSysCode("1");
+        searchVO.setLength(10);
+        searchVO.setSysType(SysTypeEnum.LTAPI_SERVICE.getKey());
 
-        switch (pushVO.getSex()) {
-            case 1:
-                searchData.setSex("M");
-                break;
-            case 2:
-                searchData.setSex("F");
-                break;
-            default:
-                searchData.setSex("A");
-                break;
-        }
-        if (ListUtil.isNotEmpty(pushVO.getLis())) {
-            List<LisResult> lisResultList = BeanUtil.listCopyTo(pushVO.getLis(), LisResult.class);
-            searchData.setLisArr(lisResultList);
+        //规则过滤
+        String ruleType = searchVO.getRuleType();
+        if (StringUtil.isBlank(ruleType)) {
+            String[] featureTypes = searchVO.getFeatureType().split(",|,");
+            List<String> featureTypeList = Arrays.asList(featureTypes);
+            if (featureTypeList.contains(FeatureTypeEnum.Feature_Type_Indication.getKey())) {
+                ruleType += "1,2,6";
+            } else if (featureTypeList.contains(FeatureTypeEnum.Feature_Type_ManagementEvaluation.getKey())) {
+                if (StringUtil.isNotBlank(ruleType)) {
+                    ruleType += ",";
+                }
+                ruleType += "3";
+            } else if (featureTypeList.contains(FeatureTypeEnum.Feature_Type_Treat.getKey())) {
+                if (StringUtil.isNotBlank(ruleType)) {
+                    ruleType += ",";
+                }
+                ruleType += "4,5";
+            }
+            searchVO.setRuleType(ruleType);
         }
-        return searchData;
+        return searchVO;
     }
 }

+ 18 - 31
ltapi-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -1,13 +1,12 @@
 package com.diagbot.facade;
 
+import com.diagbot.biz.push.entity.SearchVO;
+import com.diagbot.biz.push.enums.FeatureTypeEnum;
 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;
-import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.PushVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,62 +37,50 @@ public class PushFacade {
      */
     public PushDTO push(PushVO pushVO) {
         PushDTO pushDTO = new PushDTO();
-        SearchData searchData = assembleFacade.assembleData(pushVO);
-        RespDTO<PushDTO> respDTO = aiptServiceClient.pushInner(searchData);
+        SearchVO searchVO = assembleFacade.assembleData(pushVO);
+        RespDTO<PushDTO> respDTO = aiptServiceClient.pushInner(searchVO);
         RespDTOUtil.respNGDeal(respDTO, "中间层没有返回结果");
         PushDTO data = respDTO.data;
 
-        String featureType = searchData.getFeatureType();
+        String featureType = searchVO.getFeatureType();
         String[] featureTypes = featureType.split(",|,");
         Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
 
         //症状
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Symptom.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Symptom.getKey()))) {
             List<ConceptPushDTO> symptom = data.getSymptom();
             pushDTO.setSymptom(symptom);
         }
-        //其他史
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Other.getKey()))) {
-        }
         //查体
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalResult.getKey())) ||
-                featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalIndex.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Result.getKey())) ||
+                featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Index.getKey()))) {
             List<ConceptPushDTO> vitals = data.getVital();
             pushDTO.setVital(vitals);
         }
         //化验
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Lis.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Lis.getKey()))) {
             List<ConceptPushDTO> labs = data.getLab();
             pushDTO.setLab(labs);
         }
         //辅检
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Pacs.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Pacs.getKey()))) {
             pushDTO.setPacs(data.getPacs());
         }
         //诊断
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Disease.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Disease.getKey()))) {
             pushDTO.setDis(data.getDis());
         }
         //推送指标
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.MedicalIndication.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Index.getKey()))) {
             pushDTO.setMedicalIndications(data.getMedicalIndications());
         }
+        //治疗方案
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Treat.getKey()))) {
+            pushDTO.setTreat(data.getTreat());
+        }
         return pushDTO;
     }
 
-    /**
-     * 治疗方案推送-不包含慢病内容
-     *
-     * @param pushVO
-     * @return
-     */
-    public Treat pushTreatment(PushVO pushVO) {
-        SearchData searchData = assembleFacade.assembleData(pushVO);
-        RespDTO<Treat> res = aiptServiceClient.getTreatment(searchData);
-        RespDTOUtil.respNGDeal(res, "中间层没有返回治疗方案");
-        return res.data;
-    }
-
     /**
      * 治疗方案推送-不包含慢病内容
      *
@@ -101,8 +88,8 @@ public class PushFacade {
      * @return
      */
     public List<ScaleContent> pushScale(PushVO pushVO) {
-        SearchData searchData = assembleFacade.assembleData(pushVO);
-        RespDTO<List<ScaleContent>> res = aiptServiceClient.getScale(searchData);
+        SearchVO searchVO = assembleFacade.assembleData(pushVO);
+        RespDTO<List<ScaleContent>> res = aiptServiceClient.getScale(searchVO);
         RespDTOUtil.respNGDeal(res, "中间层没有返回量表");
         List<ScaleContent> data = res.data;
         return data;

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

@@ -1,6 +1,5 @@
 package com.diagbot.vo;
 
-import com.diagbot.client.bean.LisResult;
 import lombok.Getter;
 import lombok.Setter;
 

+ 2 - 22
ltapi-service/src/main/java/com/diagbot/vo/PushVO.java

@@ -1,12 +1,9 @@
 package com.diagbot.vo;
 
-import com.diagbot.client.bean.PacsResult;
-import io.swagger.annotations.ApiModelProperty;
+import com.diagbot.biz.push.entity.SearchVO;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.util.List;
-
 /**
  * @Description:
  * @Author:zhaops
@@ -14,22 +11,5 @@ import java.util.List;
  */
 @Getter
 @Setter
-public class PushVO extends PushBaseVO {
-    private String diseaseName;
-    private String scaleName; //量表名称
-    @ApiModelProperty(hidden = true)
-    private Integer disType;  //0-普通病(默认不填),1-慢病,2-急诊
-    private String adverseReactions; //不良反应
-    private String indications;   //推理指标
-    private String hosCode;   //医院编码
-
-    private List<PacsResult> pacsArr;
-
-    private String lisString;  //化验纯文本
-    private String lisOrder;   //当前正在下单化验
-    private String pacsOrder;   //当前正在下单辅检
-    private String otherOrder; //其他
-
-    @ApiModelProperty(hidden = true)
-    private String ruleType;   //规则类型
+public class PushVO extends SearchVO {
 }

+ 0 - 41
ltapi-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,7 +1,6 @@
 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;
@@ -72,46 +71,6 @@ public class PushController {
         return RespDTO.onSuc(pushFacade.push(pushVO));
     }
 
-    @ApiOperation(value = "接口服务模式-治疗方案[by:zhaops]",
-            notes = "age: 年龄(必填)<br>" +
-                    "sex:性别(必填),1:男,2:女<br>" +
-                    "symptom:症状,String<br>" +
-                    "pasts:既往史,String<br>" +
-                    "other:其它史,String<br>" +
-                    "vital:查体,String<br>" +
-                    "lis:化验,Array<br>" +
-                    "lis:name:套餐名称(必填),String<br>" +
-                    "lis:detailName:化验项名称(必填),String<br>" +
-                    "lis:uniqueName:公表名称,String<br>" +
-                    "lis:value:值,Double<br>" +
-                    "lis:maxValue:最大值,Double<br>" +
-                    "lis:minValue:最小值,Double<br>" +
-                    "lis:units:单位,String<br>" +
-                    "lis:otherValue:其他结果,包括阴性阳性,文字描述等,String<br>" +
-                    "lis:source:数据来源(必填),Integer<br>" +
-                    "pacs:辅检,String<br>" +
-                    "pacsArr:辅检结构化输入,Array<br>" +
-                    "pacsArr:name:辅检项目,String<br>" +
-                    "pacsArr:uniqueName:辅检项目(标准术语名),String<br>" +
-                    "pacsArr:result:辅检结果,String<br>" +
-                    "diag:诊断,String<br>" +
-                    "featureType:类型(必填),8:治疗方案,String<br>" +
-                    "diseaeName:取治疗方案的诊断,String<br>" +
-                    "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +
-                    "indications:指标结果,String<br>" +
-                    "adverseReactions:不良反应,String<br>" +
-                    "hosCode:医院编码,String<br>" +
-                    "lisString:化验纯文本,String<br>" +
-                    "lisOrder:下单化验项,多项用分号隔开,String<br>" +
-                    "pacsOrder:下单辅检项,多项用分号隔开,String<br>" +
-                    "otherOrder:其他下单项,多项用分号隔开,String<br>" +
-                    "ruleType:规则类型,1:危急值提醒  2:开单合理性  3:管理评估  4:不良反应  5:药物推荐  6:异常值,多项用分号隔开,String<br>")
-    @PostMapping("/pushTreatment")
-    @SysLogger("pushTreatment")
-    public RespDTO<Treat> pushTreatment(@RequestBody @Valid PushVO pushVO) {
-        return RespDTO.onSuc(pushFacade.pushTreatment(pushVO));
-    }
-
     @ApiOperation(value = "接口服务模式-量表[by:zhaops]",
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别(必填),1:男,2:女<br>" +

+ 3 - 3
prec-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -1,6 +1,6 @@
 package com.diagbot.client;
 
-import com.diagbot.client.bean.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.client.hystrix.AiptServiceHystrix;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
@@ -33,11 +33,11 @@ public interface AiptServiceClient {
     /**
      * 推理
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @PostMapping("/push/pushInner")
-    RespDTO<PushDTO> pushInner(@RequestBody SearchData searchData);
+    RespDTO<PushDTO> pushInner(@RequestBody SearchVO searchVO);
     
     /**
      * 获取页面顶部病人医生科室信息

+ 0 - 35
prec-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -1,35 +0,0 @@
-package com.diagbot.client.bean;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * Created by fyeman on 2018/1/31.
- */
-@Getter
-@Setter
-public class SearchData {
-    private int length;
-    private int age;
-    private String sex;
-    //特征类别
-    private String featureType;
-    //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
-    private String sysCode;
-    private String symptom;
-    private String pasts;
-    private String other;
-    private String vital;
-    private String lis;
-    private String pacs;
-    private String diag;
-    private String diseaseName; //指定诊断,例如取治疗方案
-    private String scaleName;   //量表名称
-    private String indications; //指标结果
-    private String adverseReactions; //不良反应
-    private Integer disType;    //诊断类型
-    private String adverseEvent;
-    private String hosCode;
-    private Integer sysType;  //系统类型
-    private String ruleType;   //规则类型
-}

+ 3 - 4
prec-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -1,7 +1,7 @@
 package com.diagbot.client.hystrix;
 
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.client.AiptServiceClient;
-import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
 import com.diagbot.dto.GetTopPatientInfoDTO;
@@ -13,7 +13,6 @@ import com.diagbot.vo.ConceptSearchVO;
 import com.diagbot.vo.ConceptUsualVO;
 import com.diagbot.vo.GetTopPatientInfoDjVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
-
 import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.VersionVO;
 import lombok.extern.slf4j.Slf4j;
@@ -35,11 +34,11 @@ public class AiptServiceHystrix implements AiptServiceClient {
     /**
      * 推理
      *
-     * @param searchData
+     * @param searchVO
      * @return
      */
     @Override
-    public RespDTO<PushDTO> pushInner(@RequestBody SearchData searchData) {
+    public RespDTO<PushDTO> pushInner(@RequestBody SearchVO searchVO) {
         log.error("【hystrix】调用{}异常", "pushInner");
         return null;
     }

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

@@ -1,57 +0,0 @@
-package com.diagbot.enums;
-
-import com.diagbot.core.KeyedNamed;
-import lombok.Setter;
-
-/**
- * @Description: 推送类型
- * @Author:zhaops
- * @time: 2019/3/14 11:28
- */
-public enum FeatureTypeEnum implements KeyedNamed {
-    Symptom(1, "症状"),
-    Other(3, "其他史"),
-    Vital(4, "查体"),
-    Lis(5, "化验"),
-    Pacs(6, "辅检"),
-    Disease(7, "诊断"),
-    Treat(8, "治疗"),
-    Scale(21, "量表内容"),
-    MedicalIndication(22, "指标"),
-    ManagementEvaluation(11, "管理评估");
-
-    @Setter
-    private int key;
-
-    @Setter
-    private String name;
-
-    FeatureTypeEnum(int key, String name) {
-        this.key = key;
-        this.name = name;
-    }
-
-    public static FeatureTypeEnum getEnum(int key) {
-        for (FeatureTypeEnum item : FeatureTypeEnum.values()) {
-            if (item.key == key) {
-                return item;
-            }
-        }
-        return null;
-    }
-
-    public static String getName(int key) {
-        FeatureTypeEnum item = getEnum(key);
-        return item != null ? item.name : null;
-    }
-
-    @Override
-    public int getKey() {
-        return key;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-}

+ 10 - 25
prec-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -1,7 +1,8 @@
 package com.diagbot.facade;
 
-import com.diagbot.client.bean.SearchData;
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.enums.SysTypeEnum;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.vo.PushVO;
 import org.springframework.stereotype.Component;
 
@@ -16,30 +17,14 @@ public class AssembleFacade {
      * 拼装数据
      *
      * @param pushVO
-     * @return SearchData
+     * @return SearchVO
      */
-    public SearchData assembleData(PushVO pushVO) {
-        SearchData searchData = new SearchData();
-        searchData.setAge(pushVO.getAge());
-        searchData.setSymptom(pushVO.getSymptom());
-        searchData.setDiag("");
-        searchData.setFeatureType(pushVO.getFeatureType());
-        searchData.setSysCode("1");
-        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");
-                break;
-            case 2:
-                searchData.setSex("F");
-                break;
-            default:
-                searchData.setSex("A");
-                break;
-        }
-        return searchData;
+    public SearchVO assembleData(PushVO pushVO) {
+        SearchVO searchVO = new SearchVO();
+        BeanUtil.copyProperties(pushVO, searchVO);
+        searchVO.setSysCode("1");
+        searchVO.setLength(10);
+        searchVO.setSysType(SysTypeEnum.PREC_SERVICE.getKey());
+        return searchVO;
     }
 }

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

@@ -1,13 +1,13 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.biz.push.entity.SearchVO;
+import com.diagbot.biz.push.enums.FeatureTypeEnum;
 import com.diagbot.client.AiptServiceClient;
-import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.ConceptPushDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.QuestionInfo;
-import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
@@ -46,17 +46,17 @@ public class PushFacade {
      */
     public PushDTO push(PushVO pushVO) {
         PushDTO pushDTO = new PushDTO();
-        SearchData searchData = assembleFacade.assembleData(pushVO);
-        RespDTO<PushDTO> respDTO = aiptServiceClient.pushInner(searchData);
+        SearchVO searchVO = assembleFacade.assembleData(pushVO);
+        RespDTO<PushDTO> respDTO = aiptServiceClient.pushInner(searchVO);
         RespDTOUtil.respNGDeal(respDTO, "中间层没有返回结果");
         PushDTO data = respDTO.data;
 
-        String featureType = searchData.getFeatureType();
+        String featureType = searchVO.getFeatureType();
         String[] featureTypes = featureType.split(",|,");
         Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
 
         //症状
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Symptom.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Symptom.getKey()))) {
             List<ConceptPushDTO> symptom = data.getSymptom();
             if (ListUtil.isNotEmpty(symptom)) {
                 //推理名称=系统名称=术语名称

+ 2 - 2
prec-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,9 +1,9 @@
 package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.biz.push.enums.FeatureTypeEnum;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.facade.PushFacade;
 import com.diagbot.vo.PushVO;
 import io.swagger.annotations.Api;
@@ -37,7 +37,7 @@ public class PushController {
     @PostMapping("/pushInner")
     @SysLogger("pushInner")
     public RespDTO<PushDTO> pushSymptom(@RequestBody @Valid PushVO pushVO) {
-        pushVO.setFeatureType(String.valueOf(FeatureTypeEnum.Symptom.getKey()));
+        pushVO.setFeatureType(String.valueOf(FeatureTypeEnum.Feature_Type_Symptom.getKey()));
         return RespDTO.onSuc(pushFacade.push(pushVO));
     }
 }

+ 140 - 20
tran-service/src/main/java/com/diagbot/vo/PushJoinVO.java

@@ -1,6 +1,8 @@
 package com.diagbot.vo;
 
-import com.diagbot.dto.LisResult;
+import com.diagbot.biz.push.entity.Item;
+import com.diagbot.biz.push.entity.Lis;
+import com.diagbot.biz.push.entity.Pacs;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -17,33 +19,151 @@ import java.util.List;
 @Getter
 @Setter
 public class PushJoinVO {
+    /**
+     * 医院编码
+     */
+    private String hosCode;
+
+    /**
+     * 年龄
+     */
     @NotNull(message = "请输入年龄")
     private Integer age;
+    /**
+     * 性别
+     */
     @NotNull(message = "请输入性别")
     private Integer sex;
+
+    /**
+     * 婚姻
+     */
+    private String marriage;
+    /**
+     * 主诉
+     */
+    private String chief;
+    /**
+     * 现病史
+     */
     private String symptom;
-    private String diag;
+    /**
+     * 查体
+     */
     private String vital;
-    private List<LisResult> lis;
-    private String pacs;
-    @ApiModelProperty(hidden = true)
-    private String past;
+    /**
+     * 既往史
+     */
+    private String pasts;
+    /**
+     * 传染病史
+     */
+    private String infectious;
+    /**
+     * 手术外伤史
+     */
+    private String operation;
+    /**
+     * 过敏史
+     */
+    private String allergy;
+    /**
+     * 接种史
+     */
+    private String vaccination;
+    /**
+     * 个人史
+     */
+    private String personal;
+    /**
+     * 婚育史
+     */
+    private String marital;
+    /**
+     * 家族史
+     */
+    private String family;
+    /**
+     * 月经史
+     */
+    private String menstrual;
+    /**
+     * 其他史
+     */
     private String other;
-    //不能分类文本
+    /**
+     * 化验文本数据
+     */
+    private String lisString;
+    /**
+     * 辅检文本数据
+     */
+    private String pacsString;
+    /**
+     * 诊断文本数据
+     */
+    private String diagString;
+    /**
+     * 药品文本数据
+     */
+    private String drugString;
+    /**
+     * 不能分类文本
+     */
     private String unknown;
-
-    private String diseaseName;
-    private String scaleName; //量表名称
+    /**
+     * 化验项目和结果
+     */
+    private List<Lis> lis;
+    /**
+     * 辅检项目和结果
+     */
+    private List<Pacs> pacs;
+    /**
+     * 诊断
+     */
+    private List<Item> diag;
+    /**
+     * 药品
+     */
+    private List<Item> drug;
+    /**
+     * 当前化验开单项
+     */
+    private List<Lis> lisOrder;
+    /**
+     * 当前辅检开单项
+     */
+    private List<Pacs> pacsOrder;
+    /**
+     * 当前诊断开单项
+     */
+    private List<Item> diagOrder;
+    /**
+     * 当前药品开单项
+     */
+    private List<Item> drugOrder;
+    /**
+     * 当前手术开单项
+     */
+    private List<Item> operationOrder;
+    /**
+     * 其他开单项
+     */
+    private List<Item> otherOrder;
+    /**
+     * 选中诊断
+     */
+    private Item diseaseName;
+    /**
+     * 诊断类型(0-普通病(默认不填),1-慢病,2-急诊)
+     */
     @ApiModelProperty(hidden = true)
-    private Integer disType;  //0-普通病(默认不填),1-慢病,2-急诊
-    private String adverseReactions; //不良反应
-    private String indications;   //推理指标
-    private String hosCode;   //医院编码
-
-    private String lisString;  //化验纯文本
-    private String lisOrder;   //当前正在下单化验
-    private String pacsOrder;   //当前正在下单辅检
-    private String otherOrder; //其他
+    private Integer disType;
+    /**
+     * 量表名称
+     */
+    private String scaleName;
 
     //创建时间
     @ApiModelProperty(hidden = true)
@@ -57,4 +177,4 @@ public class PushJoinVO {
     //过期时间字符串
     @ApiModelProperty(hidden = true)
     private String expireTimeStr;
-}
+}

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

@@ -1,7 +1,7 @@
 package com.diagbot.client;
 
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.client.bean.ResponseData;
-import com.diagbot.client.bean.SearchData;
 import com.diagbot.client.hystrix.AiptServiceHystrix;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
@@ -49,7 +49,7 @@ public interface AiptServiceClient {
     RespDTO<List<ConceptRetrievalDTO>> retrivelConceptInfo(@RequestBody @Valid RetrievalVO retrievalVO);
 
     @PostMapping(value = "/clinicaldata/processData")
-    RespDTO<ResponseData> aiptData(@RequestBody SearchData searchData);
+    RespDTO<ResponseData> aiptData(@RequestBody SearchVO searchVO);
 
     /**
      * 获取版本信息

+ 44 - 4
triage-service/src/main/java/com/diagbot/client/bean/ResponseData.java

@@ -1,5 +1,8 @@
 package com.diagbot.client.bean;
 
+import com.alibaba.fastjson.JSONObject;
+import com.diagbot.biz.push.entity.MedicalIndication;
+import com.diagbot.biz.push.entity.Treat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -14,13 +17,50 @@ import java.util.Map;
 @Getter
 @Setter
 public class ResponseData {
-    private String participleSymptom = "";
-
+    /**
+     * 症状
+     */
     private List<FeatureRate> symptom = new ArrayList<>(10);
+    /**
+     * 病史
+     */
+    private List<FeatureRate> history = new ArrayList<>(10);
+    /**
+     * 查体(体征)
+     */
     private List<FeatureRate> vitals = new ArrayList<>(10);
-    private List<FeatureRate> dis = new ArrayList<>(10);
+    /**
+     * 化验
+     */
     private List<FeatureRate> labs = new ArrayList<>(10);
+    /**
+     * 辅检
+     */
     private List<FeatureRate> pacs = new ArrayList<>(10);
+    /**
+     * 诊断
+     */
+    private List<FeatureRate> dis = new ArrayList<>(10);
+    /**
+     * 治疗方案
+     */
+    private Treat treat;
+    /**
+     * 量表动态内容
+     */
+    private Map<String, JSONObject> scale;
+    /**
+     * 管理评估动态内容
+     */
+    private Map<String, JSONObject> managementEvaluation;
+    /**
+     * 病情提示(1:量表,2:计算公式,3:可能结果,4:危机值、开单合理项、异常值等规则推送内容)
+     */
+    private List<MedicalIndication> medicalIndications;
+    /**
+     * 有无病情提示标志(0:无,1:有)
+     */
+    private String hasIndications;
 
     private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.5f);
-}
+}

+ 0 - 57
triage-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -1,57 +0,0 @@
-package com.diagbot.client.bean;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-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;
-    private int age_end = 200;
-    private int age = 0;
-    private String sex;
-    // 搜索结果的贝叶斯阈值
-    private String threshold = "0";
-
-    private String symptom = "";
-    private String vital = "";
-    private String lis = "";
-    private String pacs = "";
-    private String diag = "";
-    private String pasts = "";
-    private String other = "";
-
-    //特征类别
-    private String featureType;
-    //特征类别对","进行分割后数据
-    private String[] featureTypes;
-    //门诊 住院分类
-    private String resourceType;
-    //模型
-    private AlgorithmClassify algorithmClassify[];
-    //模型
-    private String algorithmClassifyValue;
-    //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
-    private String sysCode;
-
-    private String ruleType;   //规则类型
-
-    private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.8f);
-
-
-    private List<Feature> symptomFeatureList = new ArrayList<>();
-    private List<Feature> vitalFeatureList = new ArrayList<>();
-    private List<Feature> lisFeatureList = new ArrayList<>();
-    private List<Feature> pacsFeatureList = new ArrayList<>();
-    private List<Feature> diagFeatureList = new ArrayList<>();
-    private List<Feature> symptompropertyFeatureList = new ArrayList<>();
-}

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

@@ -1,8 +1,8 @@
 package com.diagbot.client.hystrix;
 
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.ResponseData;
-import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
 import com.diagbot.dto.PartSymptomDTO;
@@ -45,7 +45,7 @@ public class AiptServiceHystrix implements AiptServiceClient {
     }
 
     @Override
-    public RespDTO<ResponseData> aiptData(SearchData searchData) {
+    public RespDTO<ResponseData> aiptData(SearchVO searchVO) {
         log.error("【hystrix】调用{}异常", "aiptData");
         return null;
     }

+ 11 - 12
triage-service/src/main/java/com/diagbot/facade/AIFacade.java

@@ -1,10 +1,10 @@
 package com.diagbot.facade;
 
+import com.diagbot.biz.push.entity.SearchVO;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.client.bean.FeatureRate;
 import com.diagbot.client.bean.ResponseData;
-import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.AIDTO;
 import com.diagbot.dto.HospitalDeptDTO;
 import com.diagbot.dto.RespDTO;
@@ -49,30 +49,29 @@ public class AIFacade {
      * @return AI接口返回结果
      */
     public AIDTO push(AIVO aivo, String type) {
-        SearchData searchData = new SearchData();
-        searchData.setAge(aivo.getAge());
-        searchData.setSymptom(aivo.getSymptom());
+        SearchVO searchVO = new SearchVO();
+
+        searchVO.setAge(aivo.getAge());
+        searchVO.setSymptom(aivo.getSymptom());
         switch (aivo.getSex()) {
             case 1:
-                searchData.setSex("M");
-                break;
             case 2:
-                searchData.setSex("F");
+                searchVO.setSex(aivo.getSex());
                 break;
             default:
                 throw new CommonException(CommonErrorCode.PARAM_ERROR, "不能输入男女以外的性别");
         }
-        searchData.setFeatureType(type);
-        searchData.setSysCode("1");
+        searchVO.setFeatureType(type);
+        searchVO.setSysCode("1");
         switch (type) {
             case "1":
-                searchData.setLength(10);
+                searchVO.setLength(10);
                 break;
             case "7":
-                searchData.setLength(10);
+                searchVO.setLength(10);
                 break;
         }
-        RespDTO<ResponseData> res = aiptServiceClient.aiptData(searchData);
+        RespDTO<ResponseData> res = aiptServiceClient.aiptData(searchVO);
         RespDTOUtil.respNGDealCover(res, "中间层没有结果返回");
         AIDTO aidto = new AIDTO();
         switch (type) {