|
@@ -0,0 +1,64 @@
|
|
|
+package com.lantone.qc.trans.beilun.util.ez;
|
|
|
+
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
|
|
|
+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.beilun.util.BeiLunDeathCaseDiscussHtmlAnalysis;
|
|
|
+import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
|
|
|
+import com.lantone.qc.trans.beilun.util.ez.util.EzXmlUtil;
|
|
|
+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: HUJING
|
|
|
+ * @time: 2021/1/4 17:25
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+public class EzDeathCaseDiscussDocTrans extends ModelDocTrans {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public DeathCaseDiscussDoc extract(MedrecVo medrecVo) {
|
|
|
+ DeathCaseDiscussDoc deathCaseDiscussDoc = null;
|
|
|
+ try {
|
|
|
+ Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
|
|
|
+ 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);
|
|
|
+ } else {
|
|
|
+ String recTitle = contentMap.get("recTitle").toString();
|
|
|
+ String recTypeId = contentMap.get("recTypeId").toString();
|
|
|
+ Map<String, String> sourceMap = EzXmlUtil.analysis(content);
|
|
|
+ if (MapUtils.isNotEmpty(sourceMap)) {
|
|
|
+ structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
|
|
|
+ structureMap.put("记录编号", contentMap.get("recId").toString());
|
|
|
+ structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (MapUtils.isNotEmpty(structureMap)) {
|
|
|
+ deathCaseDiscussDoc = ModelDocGenerate.deathCaseDiscussDocGen(structureMap);
|
|
|
+ deathCaseDiscussDoc.setPageData((Map) structureMap);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
+ }
|
|
|
+ return deathCaseDiscussDoc;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<String> keyContrasts = Lists.newArrayList(
|
|
|
+ "医生签名时间=记录时间",
|
|
|
+ "主持人小结意见=主持人小结",
|
|
|
+ "具体讨论意见=讨论内容",
|
|
|
+ "记录者签名=记录医生",
|
|
|
+ "主持人(签名)=主持人签名"
|
|
|
+ );
|
|
|
+
|
|
|
+}
|