|
@@ -1,5 +1,6 @@
|
|
|
package com.lantone.qc.trans.changx;
|
|
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
|
|
|
import com.lantone.qc.pub.model.keys.ModelStandardKeys;
|
|
|
import com.lantone.qc.pub.model.vo.MedrecVo;
|
|
@@ -21,16 +22,26 @@ public class ChangxLeaveHospitalDocTrans extends ModelDocTrans {
|
|
|
@Override
|
|
|
public LeaveHospitalDoc extract(MedrecVo medrecVo) {
|
|
|
String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
|
|
|
- Map<String, String> structureMap =
|
|
|
- Preproc.extract_doc_pub(
|
|
|
- false,
|
|
|
- ListUtil.isEmpty(medrecVo.getLabel()) ? ModelStandardKeys.leaveHospital : medrecVo.getLabel(),
|
|
|
- content
|
|
|
- );
|
|
|
-
|
|
|
- LeaveHospitalDoc leaveHospitalDoc = ModelDocGenerate.leaveHospitalDocGen(structureMap);
|
|
|
+
|
|
|
+ List<String> targetTitles = Lists.newArrayList();
|
|
|
+ List<String> sourceTitles = ListUtil.isEmpty(medrecVo.getLabel()) ? ModelStandardKeys.leaveHospital : medrecVo.getLabel();
|
|
|
+ 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);
|
|
|
+
|
|
|
+ LeaveHospitalDoc leaveHospitalDoc = ModelDocGenerate.leaveHospitalDocGen(sourceMap);
|
|
|
leaveHospitalDoc.setText(content);
|
|
|
- leaveHospitalDoc.setPageData((Map) structureMap);
|
|
|
+ leaveHospitalDoc.setPageData((Map) sourceMap);
|
|
|
|
|
|
return leaveHospitalDoc;
|
|
|
}
|