Browse Source

宁波镇海bug解决

wangsy 3 years ago
parent
commit
df6d897654

+ 30 - 29
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR03114.java

@@ -42,8 +42,8 @@ public class THR03114 extends QCCatalogue {
                             //取医嘱项目名称
                             String daItemName = doctorAdviceDocStructureMap.get(Content.medicalOrderName);
                             String nameSs = doctorAdviceDocStructureMap.get("医嘱处方类型");
-                            if (StringUtil.isNotEmpty(daItemName)&&StringUtil.isNotEmpty(nameSs)) {
-                                if (dateStr(daItemName)&&(nameSs.equals("检查")||nameSs.equals("RAD")|| nameSs.equals("放射医嘱"))) {
+                            if (StringUtil.isNotEmpty(daItemName) && StringUtil.isNotEmpty(nameSs)) {
+                                if (dateStr(daItemName) && (nameSs.equals("检查") || nameSs.equals("RAD") || nameSs.equals("放射医嘱"))) {
                                     flag = true;
                                     status.set("-1");
                                 }
@@ -53,7 +53,7 @@ public class THR03114 extends QCCatalogue {
                 }
             }
         }
-        if(flag) {
+        if (flag) {
             List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
             if (ListUtil.isNotEmpty(pacsDocs)) {
                 for (PacsDoc pacsDoc : pacsDocs) {
@@ -63,46 +63,46 @@ public class THR03114 extends QCCatalogue {
                     String str2 = structureMap.get("报告名称");
                     String str3 = structureMap.get("观察记录");
                     String str4 = structureMap.get("检查结果诊断");
-                    if (dateStrBg(str) || dateStrBg(str1) || dateStrBg(str2) || dateStrBg(str3) || dateStrBg(str4)) {
-                        status.set("0");
+                    String str5 = structureMap.get("检查部位");
+                    if (dateStrBg(str) || dateStrBg(str1) || dateStrBg(str2) || dateStrBg(str3) || dateStrBg(str4) || dateStrBg(str5)) {
                         return;
                     }
                 }
+            } else {//未找到辅检信息不提示
+                return;
             }
         }
     }
 
-    private boolean dateStr(String string){
-        if(StringUtil.isEmpty(string)){
+    private boolean dateStr(String string) {
+        if (StringUtil.isEmpty(string)) {
             return false;
         }
         String str = Str(string);
-        String rex="[\\s\\S]*(?=线断层)[^,;,;。]{0,8}(?=扫)[\\s\\S]*";
-        String rex1="[\\s\\S]*(?=计算机)[^,;,;。]{0,8}(?=断层)[^,;,;。]{0,7}(?=扫)[\\s\\S]*";
-        if (str.contains("CT") || str.matches(rex)||str.matches(rex1)) {
+        String rex = "[\\s\\S]*(?=线断层)[^,;,;。]{0,8}(?=扫)[\\s\\S]*";
+        String rex1 = "[\\s\\S]*(?=计算机)[^,;,;。]{0,8}(?=断层)[^,;,;。]{0,7}(?=扫)[\\s\\S]*";
+        if (str.contains("CT") || str.matches(rex) || str.matches(rex1)) {
             List<String> notCTList = Content.notCTList;
-            for (String list : notCTList) {
-                if(!str.contains(list)){
-                    return true;
-                }
+            if (!notCTList.contains(str)) {
+                return true;
             }
         }
         return false;
     }
 
-    private boolean dateStrBg(String string){
-        if(StringUtil.isEmpty(string)){
+    private boolean dateStrBg(String string) {
+        if (StringUtil.isEmpty(string)) {
             return false;
         }
-        boolean ctCf=false;
-        boolean jsj=false;
+        boolean ctCf = false;
+        boolean jsj = false;
         ArrayList<String> cfStrings = new ArrayList<>();
         String str = Str(string);
-        String rex="[\\s\\S]*(?=线断层)[^,;,;。]{0,8}(?=扫)[\\s\\S]*";
-        String rex1="[\\s\\S]*(?=计算机)[^,;,;。]{0,8}(?=断层)[^,;,;。]{0,7}(?=扫)[\\s\\S]*";
-        String rex2="[\\s\\S]{0,5}(?=CT)[\\s\\S]{1,10}";
+        String rex = "[\\s\\S]*(?=线断层)[^,;,;。]{0,8}(?=扫)[\\s\\S]*";
+        String rex1 = "[\\s\\S]*(?=计算机)[^,;,;。]{0,8}(?=断层)[^,;,;。]{0,7}(?=扫)[\\s\\S]*";
+        String rex2 = "[\\s\\S]{0,5}(?=CT)[\\s\\S]{1,10}";
         //需要判断同时存在mr和IMRT等情况的发生
-        if(str.contains("CT")) {
+        if (str.contains("CT")) {
             Matcher matcher = Pattern.compile(rex2).matcher(str);
             while (matcher.find()) {
                 String group = matcher.group();
@@ -113,27 +113,28 @@ public class THR03114 extends QCCatalogue {
                 for (String notCT : notCTList) {
                     for (int i = 0; i < cfStrings.size(); i++) {
                         String cfStr = cfStrings.get(i);
-                        if(cfStr.contains(notCT)){
+                        if (cfStr.contains(notCT)) {
                             cfStrings.remove(i);
                             continue;
                         }
                     }
                 }
-                if(cfStrings.size()>0){
-                    ctCf=true;
+                if (cfStrings.size() > 0) {
+                    ctCf = true;
                 }
             }
 
         }
-        if ( str.matches(rex)||str.matches(rex1)) {
-            jsj= true;
+        if (str.matches(rex) || str.matches(rex1)) {
+            jsj = true;
         }
-        if(jsj||ctCf){
+        if (jsj || ctCf) {
             return true;
         }
         return false;
     }
-    private String Str(String str){
+
+    private String Str(String str) {
         str = str.replaceAll("\\*", "\\\\*");
         str = str.replaceAll("\\)", "\\\\)");
         str = str.replaceAll("\\.", "\\\\.");

+ 3 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR03115.java

@@ -44,7 +44,7 @@ public class THR03115 extends QCCatalogue {
                             String daItemName = doctorAdviceDocStructureMap.get(Content.medicalOrderName);
                             String nameSs = doctorAdviceDocStructureMap.get("医嘱处方类型");
                             if (StringUtil.isNotEmpty(daItemName) && StringUtil.isNotEmpty(nameSs)) {
-                                if (dateStr(daItemName) && (nameSs.equals("检查") || nameSs.equals("RAD")|| nameSs.equals("放射医嘱"))) {
+                                if (dateStr(daItemName) && (nameSs.equals("检查") || nameSs.equals("RAD") || nameSs.equals("放射医嘱"))) {
                                     flag = true;
                                     status.set("-1");
                                 }
@@ -84,10 +84,8 @@ public class THR03115 extends QCCatalogue {
         if (str.contains("CT") || str.matches(rex) || str.matches(rex1)) {
             if (str.contains("CT")) {
                 List<String> notCTList = Content.notCTList;
-                for (String list : notCTList) {
-                    if (str.contains(list)) {
-                        return false;
-                    }
+                if (notCTList.contains(str)) {
+                    return false;
                 }
             }
             return true;