|
@ -64,7 +64,10 @@ public class CrawlerManager {
|
|
|
if (!CollectionUtil.isEmpty(patientList)) {
|
|
|
totalCount = patientList.size();
|
|
|
for (Patient patient : patientList) {
|
|
|
collectProcess(patient);
|
|
|
Boolean result = collectProcess(patient);
|
|
|
if (result) {
|
|
|
count++;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
message = "本次采集病人共" + totalCount + "条,成功采集信息"+ count + "条";
|
|
@ -73,28 +76,24 @@ public class CrawlerManager {
|
|
|
}
|
|
|
|
|
|
//单个病人采集上传
|
|
|
public String collectProcess(Patient patient) {
|
|
|
String message;
|
|
|
public Boolean collectProcess(Patient patient) {
|
|
|
if (!getDataForPrepare()) {
|
|
|
message = "适配数据尚未准备";
|
|
|
logger.error(message);
|
|
|
return message;
|
|
|
logger.error("适配数据尚未准备");
|
|
|
return false;
|
|
|
}
|
|
|
patient.setReUploadFlg(StringUtil.toString(false));
|
|
|
logger.trace("采集->注册->打包上传,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
|
|
|
try {
|
|
|
//getToken
|
|
|
if (!dispatch.getToken()) {
|
|
|
message = "token获取失败";
|
|
|
logger.error(message);
|
|
|
return message;
|
|
|
logger.error("token获取失败");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
//getRemoteVersion
|
|
|
if (!dispatch.getRemoteVersion(patient.getOrgCode())) {
|
|
|
message = "远程版本获取失败";
|
|
|
logger.error(message);
|
|
|
return message;
|
|
|
logger.error("远程版本获取失败");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
Map<String, AdapterDataSet> dataSetMap = new HashMap<>();
|
|
@ -103,6 +102,7 @@ public class CrawlerManager {
|
|
|
/**
|
|
|
* 获取数据
|
|
|
*/
|
|
|
logger.info("获取病人档案数据");
|
|
|
AdapterDataSet adapterDataSet = adapterDataSetMap.get(key);
|
|
|
String data = dispatch.fecthData(patient, adapterDataSet);
|
|
|
if (StringUtil.isEmpty(data)) {
|
|
@ -118,6 +118,7 @@ public class CrawlerManager {
|
|
|
if (SysConfig.getInstance().getRegisterDataSet().equals(adapterDataSet.getAdapterDataSetT().getStdDatasetCode())) {
|
|
|
if (!StringUtil.isEmpty(jsonObject.get("data")) && !StringUtil.isEmpty(jsonObject.get("data").get(0))) {
|
|
|
if (!StringUtil.isEmpty(jsonObject.get("data").get(0).get(SysConfig.getInstance().getRegisterIdCardNo()))) {
|
|
|
logger.info("注册病人");
|
|
|
dispatch.register(patient, data);
|
|
|
}
|
|
|
}
|
|
@ -125,28 +126,27 @@ public class CrawlerManager {
|
|
|
}
|
|
|
logger.info("采集病人成功,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
|
|
|
//上传档案
|
|
|
logger.info("上传病人档案");
|
|
|
try {
|
|
|
if (!CollectionUtil.isEmpty(dataMap.keySet())) {
|
|
|
if (!dispatch.upload(dataMap, patient, dataSetMap)) {
|
|
|
message = "上传档案失败";
|
|
|
logger.error(message);
|
|
|
return message;
|
|
|
logger.error("上传档案失败");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
message = "上传档案失败";
|
|
|
logger.error("档案上传失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
|
|
|
return message;
|
|
|
return false;
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
message = "采集病人失败";
|
|
|
logger.error("采集病人失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo(), e);
|
|
|
return message;
|
|
|
return false;
|
|
|
}
|
|
|
return Constants.EMPTY;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
public Boolean getDataForPrepare() {
|
|
|
logger.info("适配基本相关数据准备");
|
|
|
if (adapterFlg) {
|
|
|
return true;
|
|
|
}
|