|
@@ -1,7 +1,6 @@
|
|
package com.lantone.qc.trans.changx.util;
|
|
package com.lantone.qc.trans.changx.util;
|
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
import com.google.common.collect.Maps;
|
|
-import com.lantone.qc.pub.util.FileUtil;
|
|
|
|
import com.lantone.qc.pub.util.StringUtil;
|
|
import com.lantone.qc.pub.util.StringUtil;
|
|
import org.dom4j.Document;
|
|
import org.dom4j.Document;
|
|
import org.dom4j.DocumentHelper;
|
|
import org.dom4j.DocumentHelper;
|
|
@@ -17,111 +16,37 @@ import java.util.Map;
|
|
*/
|
|
*/
|
|
public class CxXmlUtil {
|
|
public class CxXmlUtil {
|
|
|
|
|
|
- public static String cutXml(String xml) {
|
|
|
|
- try {
|
|
|
|
- Document doc = DocumentHelper.parseText(xml);
|
|
|
|
- return doc.getRootElement().element("DocObjContent").asXML();
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- e.printStackTrace();
|
|
|
|
- }
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public static Map<String, String> beHospitalizedXmlToMap(String xml) {
|
|
|
|
|
|
+ public static Map<String, String> firstLevelNodeValue(String nodePath, String content) {
|
|
Map<String, String> retMap = Maps.newLinkedHashMap();
|
|
Map<String, String> retMap = Maps.newLinkedHashMap();
|
|
try {
|
|
try {
|
|
- String helpTip, contentText;
|
|
|
|
|
|
+ String helpTip, controlName, contentText, key;
|
|
Element contentTextElement;
|
|
Element contentTextElement;
|
|
- Document doc = DocumentHelper.parseText(xml);
|
|
|
|
- Element rootElement = doc.getRootElement();
|
|
|
|
-
|
|
|
|
- List<Element> sectionElements = rootElement.elements("Section");
|
|
|
|
- Map<String, String> sectionMap = Maps.newHashMap();
|
|
|
|
- for (Element sectionElement : sectionElements) {
|
|
|
|
- helpTip = sectionElement.attributeValue("HelpTip");
|
|
|
|
- if (StringUtil.isBlank(helpTip)) {
|
|
|
|
|
|
+ Document doc = DocumentHelper.parseText(content);
|
|
|
|
+ Element rootElement = (Element) doc.selectNodes(nodePath).get(0);
|
|
|
|
+ List<Element> sonElements = rootElement.elements();
|
|
|
|
+ for (Element sonElement : sonElements) {
|
|
|
|
+ helpTip = sonElement.attributeValue("HelpTip");
|
|
|
|
+ controlName = sonElement.attributeValue("ControlName");
|
|
|
|
+ if (StringUtil.isBlank(helpTip) && StringUtil.isBlank(controlName)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- contentTextElement = sectionElement.element("Content_Text");
|
|
|
|
- if (contentTextElement == null) {
|
|
|
|
- contentText = sectionElement.getStringValue().trim();
|
|
|
|
|
|
+ if (StringUtil.equals(helpTip, controlName)) {
|
|
|
|
+ key = helpTip;
|
|
} else {
|
|
} else {
|
|
- contentText = contentTextElement.getTextTrim();
|
|
|
|
|
|
+ key = (StringUtil.isBlank(helpTip) ? "" : helpTip) + "++++" + (StringUtil.isBlank(controlName) ? "" : controlName);
|
|
}
|
|
}
|
|
- sectionMap.put(helpTip, contentText);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- List<Element> newCtrlElements = rootElement.elements("NewCtrl");
|
|
|
|
- Map<String, String> newCtrlMap = Maps.newHashMap();
|
|
|
|
- for (Element newCtrlElement : newCtrlElements) {
|
|
|
|
- helpTip = newCtrlElement.attributeValue("HelpTip");
|
|
|
|
- if (StringUtil.isBlank(helpTip)) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
- contentTextElement = newCtrlElement.element("Content_Text");
|
|
|
|
|
|
+ contentTextElement = sonElement.element("Content_Text");
|
|
if (contentTextElement == null) {
|
|
if (contentTextElement == null) {
|
|
- contentText = newCtrlElement.getStringValue().trim();
|
|
|
|
|
|
+ contentText = sonElement.getStringValue().trim();
|
|
} else {
|
|
} else {
|
|
contentText = contentTextElement.getTextTrim();
|
|
contentText = contentTextElement.getTextTrim();
|
|
}
|
|
}
|
|
- newCtrlMap.put(helpTip, contentText);
|
|
|
|
|
|
+ retMap.put(StringUtil.removeBlank(key), contentText);
|
|
}
|
|
}
|
|
-
|
|
|
|
- retMap.put("姓名", newCtrlMap.get("姓名"));
|
|
|
|
- retMap.put("性别", newCtrlMap.get("性别"));
|
|
|
|
- retMap.put("年龄", newCtrlMap.get("年龄"));
|
|
|
|
- retMap.put("民族", newCtrlMap.get("民族"));
|
|
|
|
- retMap.put("职业", newCtrlMap.get("职业"));
|
|
|
|
- retMap.put("出生地", newCtrlMap.get("出生地"));
|
|
|
|
- retMap.put("婚姻", newCtrlMap.get("婚姻状况"));
|
|
|
|
- retMap.put("联系地址", "");
|
|
|
|
- retMap.put("病史陈述者", newCtrlMap.get("供史者"));
|
|
|
|
- retMap.put("出生日期", newCtrlMap.get("出生日期"));
|
|
|
|
- retMap.put("户口地址", newCtrlMap.get("户口地址"));
|
|
|
|
- retMap.put("电话", newCtrlMap.get("联系电话"));
|
|
|
|
- retMap.put("入院日期", newCtrlMap.get("入院日期"));
|
|
|
|
- retMap.put("记录日期", newCtrlMap.get("记录日期"));
|
|
|
|
- retMap.put("辅助检查", newCtrlMap.get("辅助检查"));
|
|
|
|
- retMap.put("初步诊断", newCtrlMap.get("初步诊断"));
|
|
|
|
- retMap.put("修正诊断", newCtrlMap.get("修正诊断"));
|
|
|
|
- retMap.put("补充诊断", newCtrlMap.get("补充诊断"));
|
|
|
|
- retMap.put("主诉", newCtrlMap.get("主诉"));
|
|
|
|
- retMap.put("现病史", newCtrlMap.get("现病史"));
|
|
|
|
-
|
|
|
|
- retMap.put("既往史", sectionMap.get("既往史"));
|
|
|
|
- retMap.put("个人史", sectionMap.get("个人史"));
|
|
|
|
- retMap.put("婚育史", sectionMap.get("婚育史:"));
|
|
|
|
- retMap.put("月经史", sectionMap.get("月经史"));
|
|
|
|
- retMap.put("家族史", sectionMap.get("家族史"));
|
|
|
|
- retMap.put("专科体格检查", sectionMap.get("体格检查"));
|
|
|
|
-
|
|
|
|
- String tgjc = sectionMap.get("一般情况") + "。"
|
|
|
|
- + sectionMap.get("皮肤情况") + "。"
|
|
|
|
- + newCtrlMap.get("淋巴") + "。"
|
|
|
|
- + sectionMap.get("头部检查") + "。"
|
|
|
|
- + sectionMap.get("颈部") + "。"
|
|
|
|
- + sectionMap.get("胸部检查") + "。"
|
|
|
|
- + sectionMap.get("肺部检查") + "。"
|
|
|
|
- + sectionMap.get("心脏检查") + "。"
|
|
|
|
- + newCtrlMap.get("血管") + "。"
|
|
|
|
- + sectionMap.get("腹部检查") + "。"
|
|
|
|
- + newCtrlMap.get("外生殖器") + "。"
|
|
|
|
- + newCtrlMap.get("直肠肛门") + "。"
|
|
|
|
- + sectionMap.get("四肢脊柱检查") + "。"
|
|
|
|
- + sectionMap.get("神经系统检查") + "。"
|
|
|
|
- + newCtrlMap.get("其他说明") + "。";
|
|
|
|
- retMap.put("体格检查", tgjc);
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
}
|
|
}
|
|
return retMap;
|
|
return retMap;
|
|
}
|
|
}
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
|
- String msg = FileUtil.fileRead("C:\\Users\\RGB\\Desktop\\调试\\入院记录.txt");
|
|
|
|
- Map<String, String> map = beHospitalizedXmlToMap(msg);
|
|
|
|
- map.keySet().forEach(key -> {
|
|
|
|
- System.out.println(key + "---" + map.get(key));
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
}
|
|
}
|