Bläddra i källkod

字段标准化修改-台州邵逸夫入北仑

rengb 4 år sedan
förälder
incheckning
4b2a3fd838

+ 9 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/QCCatalogue.java

@@ -21,6 +21,7 @@ public class QCCatalogue {
 
     protected ThreadLocal<String> status = new ThreadLocal<String>();
     protected ThreadLocal<String> info = new ThreadLocal<String>();
+    protected ThreadLocal<Map<Object, Object>> extData = new ThreadLocal<Map<Object, Object>>();
 
     public void execute(InputInfo inputInfo, OutputInfo outputInfo) {
 //        long t1 = System.currentTimeMillis();
@@ -29,14 +30,14 @@ public class QCCatalogue {
         }
         if (!precondExecute(inputInfo, outputInfo)) {
             variablePreset("-2", "");
-            return;
+            //return;
         }
         try {
             variablePreset("-1", "");
             start(inputInfo, outputInfo);
         } catch (Exception e) {
             variablePreset("-1", "");
-            log.error("【出错原因】" + e.getMessage() + "......类名:" + this.className);
+            log.error(e.getMessage() + "......类名:" + this.className);
         }
 //        long t2 = System.currentTimeMillis();
 //        log.error(inputInfo.getMedicalRecordInfoDoc().getStructureMap().get("behospitalCode") + "-----" + className + "(规则)  耗时:" + (t2 - t1));
@@ -44,12 +45,14 @@ public class QCCatalogue {
     }
 
     private void insertOpt(OutputInfo outputInfo) {
-        Map<String, String> resultDetail = Maps.newHashMap();
+        Map<String, Object> resultDetail = Maps.newHashMap();
         resultDetail.put("info", info.get());
         resultDetail.put("status", status.get());
+        resultDetail.put("extData", extData.get());
         outputInfo.getResult().put(className, resultDetail);
         status.remove();
         info.remove();
+        extData.remove();
     }
 
     private void variablePreset(String arg0, String arg1) {
@@ -76,6 +79,9 @@ public class QCCatalogue {
             }
         }
         for (String code : codes) {
+            if (outputInfo.getResult().get(code) == null) {
+                continue;
+            }
             if (!outputInfo.getResult().get(code).get("status").equals("0")) {
                 flag = false;
                 break;