瀏覽代碼

1、治疗方案增加推荐护理
2、推荐护理关联静态知识

zhaops 4 年之前
父節點
當前提交
f5a685b17b

+ 26 - 0
src/main/java/com/diagbot/aggregate/AssemblePushAggregate.java

@@ -5,6 +5,7 @@ import com.diagbot.dto.PushDTO;
 import com.diagbot.facade.DiseaseConfigFacade;
 import com.diagbot.facade.DrugConfigFacade;
 import com.diagbot.facade.LisConfigFacade;
+import com.diagbot.facade.NurseConfigFacade;
 import com.diagbot.facade.OperationConfigFacade;
 import com.diagbot.facade.PacsConfigFacade;
 import com.diagbot.facade.ScaleConfigFacade;
@@ -43,6 +44,8 @@ public class AssemblePushAggregate {
     private OperationConfigFacade operationConfigFacade;
     @Autowired
     private ScaleConfigFacade scaleConfigFacade;
+    @Autowired
+    private NurseConfigFacade nurseConfigFacade;
 
     @DataProvider("assemblePushAll")
     public PushDTO assemblePushAll(
@@ -227,4 +230,27 @@ public class AssemblePushAggregate {
         }
         return retScale;
     }
+
+    @DataProvider("retNurse")
+    public List<PushBaseDTO> retNurse(@InvokeParameter("pushDTO") PushDTO data,
+                                      @InvokeParameter("hospitalId") Long hospitalId) {
+        //量表
+        List<PushBaseDTO> retNurse = new ArrayList<>();
+        if (ListUtil.isNotEmpty(data.getNurse())) {
+            retNurse = data.getNurse();
+            List<String> uniqueNameList = retNurse.stream()
+                    .map(i -> i.getName())
+                    .collect(Collectors.toList());
+            Map<String, Map<String, Long>> uniqueNameMap
+                    = nurseConfigFacade.getUniqueNameConfigMap(hospitalId, null, uniqueNameList);
+            if (uniqueNameMap != null && uniqueNameMap.size() > 0) {
+                retNurse.forEach(item -> {
+                    if (uniqueNameMap.get(item.getName()) != null) {
+                        item.setHisNameList(new ArrayList<>(uniqueNameMap.get(item.getName()).keySet()));
+                    }
+                });
+            }
+        }
+        return retNurse;
+    }
 }

+ 2 - 0
src/main/java/com/diagbot/dto/PushDTO.java

@@ -31,6 +31,8 @@ public class PushDTO {
     private List<PushBaseDTO> medicines = new ArrayList<>();
     // 并发症
     private List<PushBaseDTO> complications = new ArrayList<>();
+    // 护理
+    private List<PushBaseDTO> nurse = Lists.newArrayList();
     //诊断
     private Map<String, List<PushBaseDTO>> dis;
     //一般治疗

+ 10 - 0
src/main/java/com/diagbot/facade/PushFacade.java

@@ -155,6 +155,9 @@ public class PushFacade {
         if (ListUtil.isNotEmpty(pushDTO.getScale())) {
             conceptBaseList.addAll(pushDTO.getScale());
         }
+        if (ListUtil.isNotEmpty(pushDTO.getNurse())) {
+            conceptBaseList.addAll(pushDTO.getNurse());
+        }
         if (ListUtil.isNotEmpty(conceptBaseList)) {
             conceptNameList = conceptBaseList.stream()
                     .map(i -> i.getName())
@@ -214,6 +217,13 @@ public class PushFacade {
                     }
                 });
             }
+            if (ListUtil.isNotEmpty(pushDTO.getNurse())) {
+                pushDTO.getNurse().forEach(item -> {
+                    if (conceptDetailMap.containsKey(item.getName() + "_" + dicStaticTypeValNameMap.get("9"))) {
+                        item.setHasInfo(1);
+                    }
+                });
+            }
         }
         return pushDTO;
     }