|
@@ -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;
|