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