浏览代码

新推送逻辑

kongwz 4 年之前
父节点
当前提交
bcf1d59084

+ 1 - 0
src/main/java/com/diagbot/aggregate/PushDisAggregate.java

@@ -36,6 +36,7 @@ public class PushDisAggregate {
             disBySo.retainAll(disBySm);
             disByVital.retainAll(disBySm);
             disByLis.retainAll(disBySm);
+            allPushDis.addAll(disBySm);
             allPushDis.addAll(disBySo);
             allPushDis.addAll(disByVital);
             allPushDis.addAll(disByLis);

+ 8 - 0
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -31,6 +31,7 @@ import com.diagbot.vo.neoPushEntity.LisPushVo;
 import com.diagbot.vo.neoPushEntity.PacsPushVo;
 import com.diagbot.vo.neoPushEntity.PresentPushVo;
 import com.diagbot.vo.neoPushEntity.Symptom;
+import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -340,9 +341,12 @@ public class CommonFacade {
             List<String> collect = depts.stream().map(x -> x.getUniqueName()).collect(Collectors.toList());
             pushVO.setDept(collect);
         }
+        List<String> chiefSymptom = Lists.newArrayList();
+        List<String> presentSymptom = Lists.newArrayList();
         if (chiefLabel != null) {
             ChiefPushVo chiefPushVo = new ChiefPushVo();
             if (ListUtil.isNotEmpty(chiefLabel.getClinicals())) {
+                chiefSymptom = chiefLabel.getClinicals().stream().filter(x -> x.getNegative() == null).map(z -> z.getStandName()).collect(Collectors.toList());
                 List<Symptom> cjiefClinicals = chiefLabel.getClinicals().stream().filter(x -> x.getNegative() == null).map(z ->
                 {
                     String name_sy = z.getBodyPart() == null? z.getStandName() : z.getBodyPart().getName()+z.getStandName();
@@ -374,6 +378,7 @@ public class CommonFacade {
         if (presentLabel != null) {
             PresentPushVo presentPushVo = new PresentPushVo();
             if (ListUtil.isNotEmpty(presentLabel.getClinicals())) {
+                presentSymptom = presentLabel.getClinicals().stream().filter(x -> x.getNegative() == null).map(z -> z.getStandName()).collect(Collectors.toList());
                 List<Symptom> presentClinicals = presentLabel.getClinicals().stream()
                         .filter(x -> x.getNegative() == null).map(z ->
                         {
@@ -406,6 +411,9 @@ public class CommonFacade {
             }
             pushVO.setPresentPushVo(presentPushVo);
         }
+        presentSymptom.removeAll(chiefSymptom);
+        chiefSymptom.addAll(presentSymptom);
+        pushVO.setSymptoms(chiefSymptom);
         if (ListUtil.isNotEmpty(lis)) {
             LisPushVo lisPushVo = new LisPushVo();
             lisPushVo.setLises(lis);

+ 4 - 0
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -470,6 +470,10 @@ public class NeoFacade {
         if(ListUtil.isNotEmpty(symptoms)){
             String s_m = symptoms.get(0);
             disBySymptom_main = nodeRepository.getDisBySymptom_main(s_m);
+            if(ListUtil.isEmpty(disBySymptom_main) && ListUtil.isNotEmpty(pushVO.getSymptoms())){
+                String s_second = pushVO.getSymptoms().get(0);
+                disBySymptom_main = nodeRepository.getDisBySymptom_main(s_second);
+            }
         }
         return disBySymptom_main;
     }

+ 1 - 0
src/main/java/com/diagbot/vo/NeoPushVO.java

@@ -29,5 +29,6 @@ public class NeoPushVO {
     private PastPushVo pastPushVo;//既往史
     private LisPushVo lisPushVo;//化验
     private PacsPushVo pacsPushVo;//辅检
+    private List<String> symptoms;//不带部位的症状
 
 }