|
@ -9,9 +9,12 @@ import com.yihu.ehr.framework.constrant.ErrorCode;
|
|
|
import com.yihu.ehr.framework.util.log.LogService;
|
|
|
import com.yihu.ehr.framework.util.operator.CollectionUtil;
|
|
|
import com.yihu.ehr.framework.util.operator.StringUtil;
|
|
|
import com.yihu.ehr.framework.util.springutil.SpringBeanUtil;
|
|
|
import com.yihu.ehr.standard.model.adapter.AdapterDatasetModel;
|
|
|
import com.yihu.ehr.standard.service.adapter.AdapterDatasetService;
|
|
|
import com.yihu.ehr.standard.service.bo.AdapterVersion;
|
|
|
import net.sf.json.JSONObject;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
@ -19,16 +22,8 @@ import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* 标准管理,负责版本的升级,解包及相关安全
|
|
|
*
|
|
|
* @created Created by Air on 2015/6/3.
|
|
|
*/
|
|
|
public class CrawlerManager {
|
|
|
|
|
|
@Resource(name = AdapterDatasetService.BEAN_ID)
|
|
|
private AdapterDatasetService adapterDatasetService;
|
|
|
|
|
|
private static volatile CrawlerManager instance;
|
|
|
private static DataCollectDispatcher dispatch;
|
|
|
private List<AdapterDataSet> adapterDataSetList;
|
|
@ -61,7 +56,6 @@ public class CrawlerManager {
|
|
|
public String dataCrawler() {
|
|
|
Integer count = 0;
|
|
|
Integer totalCount = 0;
|
|
|
getAdapterDataSetList();
|
|
|
Map<String, Object> condition = new HashMap<>();
|
|
|
condition.put("orgCode", SysConfig.getInstance().orgCode);
|
|
|
patientList = dispatch.getPatientList(condition, adapterDataSetList);
|
|
@ -80,6 +74,7 @@ public class CrawlerManager {
|
|
|
if (!dispatch.getToken()) {
|
|
|
return false;
|
|
|
}
|
|
|
getAdapterDataSetList();
|
|
|
patient.setReUploadFlg(StringUtil.toString(false));
|
|
|
LogService.getLogger().trace("采集->注册->打包上传,任务ID:,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
|
|
|
try {
|
|
@ -88,12 +83,13 @@ public class CrawlerManager {
|
|
|
//采集、注册
|
|
|
for (AdapterDataSet adapterDataSet : adapterDataSetList) {
|
|
|
String data = dispatch.fecthData(patient, adapterDataSet);
|
|
|
if (StringUtil.isEmpty(data)) {
|
|
|
continue;
|
|
|
}
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
JsonNode jsonObject = objectMapper.readTree(data);
|
|
|
if (!StringUtil.isEmpty(data)) {
|
|
|
dataSetMap.put(adapterDataSet.getAdapterDataSetT().getStdDatasetCode(), adapterDataSet);
|
|
|
dataList.add(jsonObject);
|
|
|
}
|
|
|
dataSetMap.put(adapterDataSet.getAdapterDataSetT().getStdDatasetCode(), adapterDataSet);
|
|
|
dataList.add(jsonObject);
|
|
|
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()))) {
|
|
@ -122,11 +118,18 @@ public class CrawlerManager {
|
|
|
}
|
|
|
|
|
|
public void getAdapterDataSetList() {
|
|
|
String version = "569f253c1cb3";
|
|
|
AdapterVersion adapterVersion = new AdapterVersion(version);
|
|
|
List<AdapterDatasetModel> adapterDataSetModelList = adapterDatasetService.getList(AdapterDatasetModel.class, adapterVersion.getDataSetTableName(), null, null, null, null, ErrorCode.GetDataSetFailed);
|
|
|
for (AdapterDatasetModel adapterDatasetModel : adapterDataSetModelList) {
|
|
|
adapterDataSetList.add(new AdapterDataSet(adapterDatasetModel, adapterVersion));
|
|
|
if (CollectionUtil.isEmpty(adapterDataSetList)) {
|
|
|
adapterDataSetList = new ArrayList<>();
|
|
|
String version = "569f253c1cb3";
|
|
|
AdapterVersion adapterVersion = new AdapterVersion(version);
|
|
|
AdapterDatasetService adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
|
|
|
Map<String, String> condition = new HashMap<>();
|
|
|
condition.put("column", "adapter_dataset_code");
|
|
|
JSONObject jsonpObject = JSONObject.fromObject(condition);
|
|
|
List<AdapterDatasetModel> adapterDataSetModelList = adapterDatasetService.getAdapterDatasetList(AdapterDatasetModel.class, adapterVersion.getDataSetTableName(), jsonpObject.toString(), ErrorCode.GetDataSetListFailed);
|
|
|
for (AdapterDatasetModel adapterDatasetModel : adapterDataSetModelList) {
|
|
|
adapterDataSetList.add(new AdapterDataSet(adapterDatasetModel, adapterVersion));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|