소스 검색

义务中心医院:病危页面显示修改

rengb 4 년 전
부모
커밋
5f49ff8509

+ 34 - 10
public/src/main/java/com/lantone/qc/pub/util/StringUtil.java

@@ -65,7 +65,7 @@ public class StringUtil {
      */
     public static String remove_ctl(String str) {
         String trim = "";
-        if(StringUtils.isNotEmpty(str)){
+        if (StringUtils.isNotEmpty(str)) {
             trim = str.replaceAll("\r|\n|\r\n|/r/n", "").trim();
         }
         return trim;
@@ -81,7 +81,7 @@ public class StringUtil {
         if (isBlank(str)) {
             return str;
         }
-        return str.replaceAll("[\\s\\p{Zs}]", "").replaceAll(" ","");
+        return str.replaceAll("[\\s\\p{Zs}]", "").replaceAll(" ", "");
     }
 
     /**
@@ -195,11 +195,11 @@ public class StringUtil {
      * @param target
      * @return
      */
-//    public static boolean isSameContent(List<String> source, List<String> target) {
-//        Set<String> sourceSet = Sets.newHashSet(source);
-//        Set<String> targetSet = Sets.newHashSet(target);
-//        return Sets.difference(sourceSet, targetSet).isEmpty() && Sets.difference(targetSet, sourceSet).isEmpty();
-//    }
+    //    public static boolean isSameContent(List<String> source, List<String> target) {
+    //        Set<String> sourceSet = Sets.newHashSet(source);
+    //        Set<String> targetSet = Sets.newHashSet(target);
+    //        return Sets.difference(sourceSet, targetSet).isEmpty() && Sets.difference(targetSet, sourceSet).isEmpty();
+    //    }
 
     /**
      * 解析时间
@@ -231,7 +231,7 @@ public class StringUtil {
      * @param datetime
      * @return
      */
-    public static Date parseDateTime(String datetime,String[] dateFormats) {
+    public static Date parseDateTime(String datetime, String[] dateFormats) {
         Date date = null;
         try {
             datetime = remove_ctl(datetime);
@@ -266,14 +266,38 @@ public class StringUtil {
 
     /**
      * 去除字符串两边空白 包含一些特殊空格
+     *
      * @param msg
      * @return
      */
-    public static String trim(String msg){
-        if (isNotBlank(msg)){
+    public static String trim(String msg) {
+        if (isNotBlank(msg)) {
             return org.springframework.util.StringUtils.trimWhitespace(msg).trim();
         }
         return msg;
     }
 
+    /**
+     * 去掉尾部几位符合字符
+     *
+     * @param value
+     * @param regex
+     * @param len
+     * @return
+     */
+    public static String removeWN(String value, String regex, int len) {
+        String ret = null;
+        if (StringUtil.isNotBlank(value) && value.length() >= len) {
+            String endStr = null;
+            for (int i = len; i > 0; i--) {
+                endStr = value.substring(value.length() - len);
+                if (endStr.replaceAll(regex, "").length() == 0) {
+                    ret = value.substring(0, value.length() - len);
+                    break;
+                }
+            }
+        }
+        return ret;
+    }
+
 }

+ 7 - 4
trans/src/main/java/com/lantone/qc/trans/ywzxyy/util/YwzxyyCriticallyIllNoticeXmlAnalysis.java

@@ -38,6 +38,9 @@ public class YwzxyyCriticallyIllNoticeXmlAnalysis implements YwzxyyXmlAnalysis {
                             "代理人签名", "与患者的关系", "与患者关系", "代理人签名时间", "代理人意见", "代理人提醒"),
                     level1Text
             );
+            level1StructureMap.forEach((key, value) -> {
+                level1StructureMap.put(key, StringUtil.removeWN(value, "[0-9][、.]", 2));
+            });
             CommonAnalysisUtil.cutByTitles(level1Text, level1Titles, 0, level1StructureMap);
             if (StringUtil.isBlank(level1StructureMap.get("患者或代理人签名"))
                     && (StringUtil.isBlank(level1StructureMap.get("患者或代理人签名时间"))
@@ -45,13 +48,13 @@ public class YwzxyyCriticallyIllNoticeXmlAnalysis implements YwzxyyXmlAnalysis {
                 if (StringUtil.isNotBlank(level1StructureMap.get("患者签名"))
                         || (StringUtil.isNotBlank(level1StructureMap.get("患者签名时间"))
                         && !StringUtil.removeBlank(level1StructureMap.get("患者签名时间")).equals("年月日时分"))) {
-                    level1StructureMap.put("患者或代理人签名", level1StructureMap.get("患者签名"));
-                    level1StructureMap.put("患者或代理人签名时间", level1StructureMap.get("患者签名时间"));
+                    MapUtil.keyAssig(level1StructureMap, "患者或代理人签名", "患者签名");
+                    MapUtil.keyAssig(level1StructureMap, "患者或代理人签名时间", "患者签名时间");
                 } else if (StringUtil.isNotBlank(level1StructureMap.get("代理人签名"))
                         || (StringUtil.isNotBlank(level1StructureMap.get("代理人签名时间"))
                         && !StringUtil.removeBlank(level1StructureMap.get("代理人签名时间")).equals("年月日时分"))) {
-                    level1StructureMap.put("患者或代理人签名", level1StructureMap.get("代理人签名"));
-                    level1StructureMap.put("患者或代理人签名时间", level1StructureMap.get("代理人签名时间"));
+                    MapUtil.keyAssig(level1StructureMap, "患者或代理人签名", "代理人签名");
+                    MapUtil.keyAssig(level1StructureMap, "患者或代理人签名时间", "代理人签名时间");
                 }
             }
             MapUtil.keyAssig(level1StructureMap, "抢救措施", "防范措施");

+ 1 - 10
trans/src/main/java/com/lantone/qc/trans/ywzxyy/util/YwzxyyFirstCourseRecordXmlAnalysis.java

@@ -34,7 +34,7 @@ public class YwzxyyFirstCourseRecordXmlAnalysis implements YwzxyyXmlAnalysis {
             CommonAnalysisUtil.cutByTitles(level2Text, level2Titles, 0, level2StructureMap);
             level2StructureMap.put("病例摘要", level2Text.substring(0, level2Text.indexOf("一、病例特点")));
             level2StructureMap.keySet().forEach(key -> {
-                level2StructureMap.put(key, removeWN(level2StructureMap.get(key)));
+                level2StructureMap.put(key, StringUtil.removeWN(level2StructureMap.get(key), "[一二三四五六七八九][、]", 2));
             });
             level1StructureMap.putAll(level2StructureMap);
             level1StructureMap.put("记录医生", level1StructureMap.get("记录医师"));
@@ -44,13 +44,4 @@ public class YwzxyyFirstCourseRecordXmlAnalysis implements YwzxyyXmlAnalysis {
         return level1StructureMap;
     }
 
-    private String removeWN(String value) {
-        if (StringUtil.isNotBlank(value)
-                && value.length() >= 2
-                && value.substring(value.length() - 2).replaceAll("[一二三四五六七八九][、]", "").length() == 0) {
-            return value.substring(0, value.length() - 2);
-        }
-        return value;
-    }
-
 }