|
@@ -5,6 +5,7 @@ import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
|
|
|
import com.lantone.qc.pub.model.keys.ModelStandardKeys;
|
|
|
import com.lantone.qc.pub.model.vo.MedrecVo;
|
|
|
import com.lantone.qc.pub.util.ListUtil;
|
|
|
+import com.lantone.qc.pub.util.MapUtil;
|
|
|
import com.lantone.qc.trans.ModelDocTrans;
|
|
|
import com.lantone.qc.trans.comsis.ModelDocGenerate;
|
|
|
import com.lantone.qc.trans.comsis.Preproc;
|
|
@@ -23,19 +24,41 @@ public class ChangxThreeLevelWardDocTrans extends ModelDocTrans {
|
|
|
public List<ThreeLevelWardDoc> extract(MedrecVo medrecVo) {
|
|
|
List<ThreeLevelWardDoc> retList = Lists.newArrayList();
|
|
|
List<String> contents = (List) medrecVo.getContent().get("content");
|
|
|
+ List<String> sourceTitles = ListUtil.isEmpty(medrecVo.getLabel()) ? ModelStandardKeys.threeLevelWard : medrecVo.getLabel();
|
|
|
contents.forEach(content -> {
|
|
|
- Map<String, String> structureMap =
|
|
|
- Preproc.extract_doc_pub(
|
|
|
- false,
|
|
|
- ListUtil.isEmpty(medrecVo.getLabel()) ? ModelStandardKeys.threeLevelWard : medrecVo.getLabel(),
|
|
|
- content
|
|
|
- );
|
|
|
-
|
|
|
- ThreeLevelWardDoc threeLevelWardDoc = ModelDocGenerate.threeLevelWardDocGen(structureMap);
|
|
|
- threeLevelWardDoc.setText(content);
|
|
|
- retList.add(threeLevelWardDoc);
|
|
|
+ retList.add(getThreeLevelWardDoc(content, sourceTitles));
|
|
|
});
|
|
|
return retList;
|
|
|
}
|
|
|
|
|
|
+ private ThreeLevelWardDoc getThreeLevelWardDoc(String content, List<String> sourceTitles) {
|
|
|
+ List<String> targetTitles = Lists.newArrayList();
|
|
|
+ sourceTitles.forEach(sourceTitle -> {
|
|
|
+ String targetTitle = "";
|
|
|
+ for (int index = 0; index < sourceTitle.length(); index++) {
|
|
|
+ if (index == sourceTitle.length() - 1) {
|
|
|
+ targetTitle += sourceTitle.substring(index, index + 1);
|
|
|
+ } else {
|
|
|
+ targetTitle += sourceTitle.substring(index, index + 1) + "[\\s\\p{Zs}]*";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ targetTitles.add(targetTitle);
|
|
|
+ });
|
|
|
+
|
|
|
+ Map<String, String> sourceMap = Preproc.extract_doc_pub(false, targetTitles, content);
|
|
|
+ Map<String, String> targetMap = MapUtil.copyMap((Map) sourceMap);
|
|
|
+ targetMap.put("记录时间", targetMap.get("病程记录时间"));
|
|
|
+ targetMap.remove("病程记录时间");
|
|
|
+ targetMap.put("查房标题", targetMap.get("病程记录名称"));
|
|
|
+ targetMap.remove("病程记录名称");
|
|
|
+ targetMap.put("病情记录", targetMap.get("病程记录内容"));
|
|
|
+ targetMap.remove("病程记录内容");
|
|
|
+
|
|
|
+ ThreeLevelWardDoc threeLevelWardDoc = ModelDocGenerate.threeLevelWardDocGen(targetMap);
|
|
|
+ threeLevelWardDoc.setText(content);
|
|
|
+ threeLevelWardDoc.setPageData((Map) sourceMap);
|
|
|
+
|
|
|
+ return threeLevelWardDoc;
|
|
|
+ }
|
|
|
+
|
|
|
}
|