소스 검색

厦门病重通知书显示调试

rengb 4 년 전
부모
커밋
8bf2537bc8

+ 7 - 0
trans/src/main/java/com/lantone/qc/trans/xiamen/XiamenDocTrans.java

@@ -64,6 +64,10 @@ public class XiamenDocTrans extends DocTrans {
                     XiamenCriticallyIllNoticeDocTrans criticallyIllNoticeDocTrans = new XiamenCriticallyIllNoticeDocTrans();
                     inputInfo.setCriticallyIllNoticeDocs(criticallyIllNoticeDocTrans.extract(i));
                 }
+                if (i.getTitle().equals("病重通知书")) {
+                    XiamenSeriouslyIllNoticeDocTrans seriouslyIllNoticeDocTrans = new XiamenSeriouslyIllNoticeDocTrans();
+                    inputInfo.setSeriouslyIllNoticeDocs(seriouslyIllNoticeDocTrans.extract(i));
+                }
                 if (i.getTitle().equals("死亡病例讨论记录")) {
                     XiamenDeathCaseDiscussDocTrans deathCaseDiscussDocTrans = new XiamenDeathCaseDiscussDocTrans();
                     inputInfo.setDeathCaseDiscussDoc(deathCaseDiscussDocTrans.extract(i));
@@ -166,6 +170,9 @@ public class XiamenDocTrans extends DocTrans {
         if (ListUtil.isNotEmpty(inputInfo.getCriticallyIllNoticeDocs())) {
             inputInfo.getPageData().put("病危通知书", inputInfo.getCriticallyIllNoticeDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
         }
+        if (ListUtil.isNotEmpty(inputInfo.getCriticallyIllNoticeDocs())) {
+            inputInfo.getPageData().put("病重通知书", inputInfo.getSeriouslyIllNoticeDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
+        }
         if (ListUtil.isNotEmpty(inputInfo.getDifficultCaseDiscussDocs())) {
             inputInfo.getPageData().put("疑难病例讨论记录", inputInfo.getDifficultCaseDiscussDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
         }

+ 61 - 0
trans/src/main/java/com/lantone/qc/trans/xiamen/XiamenSeriouslyIllNoticeDocTrans.java

@@ -0,0 +1,61 @@
+package com.lantone.qc.trans.xiamen;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.SeriouslyIllNoticeDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
+import com.lantone.qc.trans.ModelDocTrans;
+import com.lantone.qc.trans.comsis.CommonAnalysisUtil;
+import com.lantone.qc.trans.comsis.ModelDocGenerate;
+import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 病重通知书文档生成
+ * @author: rengb
+ * @time: 2020/3/19 19:41
+ */
+@Slf4j
+public class XiamenSeriouslyIllNoticeDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<SeriouslyIllNoticeDoc> extract(MedrecVo medrecVo) {
+        List<SeriouslyIllNoticeDoc> retList = Lists.newArrayList();
+        List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
+        contentMaps.forEach(contentMap -> {
+            try {
+                SeriouslyIllNoticeDoc seriouslyIllNoticeDoc = getSeriouslyIllNoticeDoc(contentMap);
+                if (seriouslyIllNoticeDoc != null) {
+                    retList.add(seriouslyIllNoticeDoc);
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
+        });
+        return retList;
+    }
+
+    private SeriouslyIllNoticeDoc getSeriouslyIllNoticeDoc(Map<String, Object> contentMap) {
+        String content = contentMap.get("xmlText").toString();
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+            structureMap = OrdinaryAssistant.mapKeyContrast(structureMap, keyContrasts, "29");
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            SeriouslyIllNoticeDoc seriouslyIllNoticeDoc = ModelDocGenerate.seriouslyIllNoticeDocGen(structureMap);
+            seriouslyIllNoticeDoc.setText(CommonAnalysisUtil.html2String(content));
+            seriouslyIllNoticeDoc.setPageData((Map) structureMap);
+            return seriouslyIllNoticeDoc;
+        } else {
+            return null;
+        }
+    }
+
+    private List<String> keyContrasts = Lists.newArrayList();
+
+}