Переглянути джерело

知情同意书、谈话告知书

zhoutg 5 роки тому
батько
коміт
a40250bfc2

+ 32 - 2
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -50,6 +50,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -257,8 +258,9 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         addData("疑难病例讨论记录", recMap, medrecVoList);
         addData("输血后效果评价", recMap, medrecVoList);
         addData("病理检验送检单", recMap, medrecVoList);
-        addData("知情同意书", recMap, medrecVoList);
-        addData("谈话告知书", recMap, medrecVoList);
+
+        addDataWithInnerKey("知情同意书", recMap, medrecVoList);
+        addDataWithInnerKey("谈话告知书", recMap, medrecVoList);
 
         // 会诊记录
         addDataWithKey("会诊", recMap, medrecVoList,
@@ -384,6 +386,34 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     }
 
 
+    /**
+     * 拼接数据(例如:知情同意书、谈话告知书)
+     *
+     * @param key
+     * @param recMap
+     * @param medrecVoList
+     */
+    public void addDataWithInnerKey(String key, Map<String, List<RecordContentDTO>> recMap, List<MedrecVo> medrecVoList) {
+        MedrecVo medrecVo = new MedrecVo();
+        medrecVo.setTitle(key);
+        Map<String, Object> content = new HashMap<>();
+        Map<String, List<String>> listMap = new HashMap<>();
+        List<RecordContentDTO> recordContentDTOList = recMap.get(key);
+        if (ListUtil.isNotEmpty(recordContentDTOList)) {
+            Map<String, List<RecordContentDTO>> keyMap =
+                    EntityUtil.makeEntityListMap(recordContentDTOList, "recTitle");
+            Set<String> keyList = keyMap.keySet();
+            for (String k : keyList) {
+                if (ListUtil.isNotEmpty(keyMap.get(k))) {
+                    listMap.put(k, keyMap.get(k).stream().map(r -> r.getContentText()).collect(Collectors.toList()));
+                }
+            }
+            content.put("content", listMap);
+            medrecVo.setContent(content);
+            medrecVoList.add(medrecVo);
+        }
+    }
+
     /**
      * 拼接数据(医嘱),从数据字典获取信息转换
      *