| 
					
				 | 
			
			
				@ -1,5 +1,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.ehr.crawler.service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.node.ObjectNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.ehr.crawler.dao.CrawlerDatasetDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.ehr.crawler.dao.CrawlerFlowDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.ehr.crawler.dao.CrawlerFlowHeadDao; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -20,10 +22,12 @@ import com.yihu.ehr.standard.service.adapter.AdapterSchemeVersionService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.ehr.standard.service.bo.AdapterVersion; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import net.sf.json.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import net.sf.json.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.annotation.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Transactional 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -44,7 +48,11 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private CrawlerFlowHeadDao crawlerFlowHeadDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Resource(name = AdapterMetadataService.BEAN_ID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private AdapterMetadataService adapterMetadataService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static Map<Integer,List<FlowLines>> lineCache= new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static Map<Integer, List<FlowLines>> getLineCache() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return lineCache; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 保存编排映射关系 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -57,10 +65,10 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject root = JSONObject.fromObject(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray jsonList = root.getJSONArray("lines"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray entrances = root.getJSONArray("entrances"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdapterSchemeVersionModel versionModel = adapterSchemeVersionService.getByVersion(version); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdapterSchemeVersionModel versionModel = (AdapterSchemeVersionModel) adapterSchemeVersionService.get(Integer.valueOf(version)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (jsonList != null && jsonList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 删除旧关联关系 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            crawlerDatasetDao.deleteCrawlerDatasetList(versionModel.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            crawlerFlowDao.deleteCrawlerFlowList(versionModel.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Object item : jsonList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONObject obj = JSONObject.fromObject(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String from = obj.getString("from"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -106,29 +114,38 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdapterSchemeVersionModel versionModel = (AdapterSchemeVersionModel) adapterSchemeVersionService.get(schemeVersionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取适配数据集总和 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> map = new HashMap<String,Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        map.put("name", datasetName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<AdapterDatasetModel> adapterDatasetModelList = adapterDatasetService.getDatasetList(AdapterDatasetModel.class, versionModel.getVersion(), net.sf.json.JSONObject.fromObject(map).toString(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String condition=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (datasetName!=null && !"".equals(datasetName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("name", datasetName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            condition=net.sf.json.JSONObject.fromObject(map).toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<AdapterDatasetModel> adapterDatasetModelList = adapterDatasetService.getDatasetList(AdapterDatasetModel.class, versionModel.getVersion(), condition, null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取编排数据集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<CrawlerDataSetModel> crawlerDataset = crawlerDatasetDao.getCrawlerDatasetList(versionModel.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        DetailModelResult re = new DetailModelResult(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<CrawlerDatasetResultDetailModel> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (AdapterDatasetModel datasetModel : adapterDatasetModelList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            CrawlerDatasetResultDetailModel obj = new CrawlerDatasetResultDetailModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            obj.setSchemeVersionId(schemeVersionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            obj.setDatasetId(datasetModel.getStdDatasetId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            obj.setDatasetCode(datasetModel.getStdDatasetCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            obj.setDatasetName(datasetModel.getStdDatasetName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            obj.setSchemeId(datasetModel.getSchemeId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (crawlerDataset != null && crawlerDataset.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (CrawlerDataSetModel cDataSet : crawlerDataset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (cDataSet.getDatasetId().equals(datasetModel.getAdapterDatasetId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        obj.setSchemeVersionId(cDataSet.getSchemeVersionId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        obj.setChecked("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (!StringUtil.isStrEmpty(datasetModel.getAdapterDatasetCode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<AdapterMetadataModel> metadatas = adapterMetadataService.getAdapterMetadataByDataset(versionModel.getVersion(), datasetModel.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (metadatas != null && metadatas.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                CrawlerDatasetResultDetailModel obj = new CrawlerDatasetResultDetailModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                obj.setSchemeVersionId(schemeVersionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                obj.setDatasetId(datasetModel.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                obj.setDatasetCode(datasetModel.getStdDatasetCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                obj.setDatasetName(datasetModel.getStdDatasetName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                obj.setSchemeId(datasetModel.getSchemeId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (crawlerDataset != null && crawlerDataset.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (CrawlerDataSetModel cDataSet : crawlerDataset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (cDataSet.getDatasetId().equals(datasetModel.getId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            obj.setSchemeVersionId(cDataSet.getSchemeVersionId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            obj.setChecked("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                list.add(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            list.add(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        re.setDetailModelList(list); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -149,32 +166,46 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Object item : jsonList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject obj = JSONObject.fromObject(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String schemeId = obj.getString("schemeId"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String version = obj.getString("version"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            AdapterSchemeVersionModel versionModel = adapterSchemeVersionService.getByVersion(version); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String versionId = obj.getString("versionId"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            AdapterSchemeVersionModel versionModel = (AdapterSchemeVersionModel) adapterSchemeVersionService.get(Integer.valueOf(versionId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            AdapterVersion adapterVersion = new AdapterVersion(versionModel.getVersion()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //删除已存在的数据集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            crawlerDatasetDao.deleteCrawlerDatasetList(versionModel.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray dataSets = obj.getJSONArray("dataSets"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //重新存入数据集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Object o : dataSets) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONObject dataSet = JSONObject.fromObject(o); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String datasetId = dataSet.getString("datasetId"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String datasetCode = dataSet.getString("datasetCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String datasetName = dataSet.getString("datasetName"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                CrawlerDataSetModel dataSetModel = new CrawlerDataSetModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                dataSetModel.setSchemeVersionId(versionModel.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                dataSetModel.setSchemeId(Integer.valueOf(schemeId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                dataSetModel.setDatasetId(Integer.valueOf(datasetId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                dataSetModel.setDatasetCode(datasetCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                dataSetModel.setDatasetName(datasetName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                crawlerDatasetDao.saveEntity(dataSetModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<AdapterDatasetModel> adapterDatasetModelList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //根据id字符串获取编排数据集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (obj.containsKey("dataSets")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<Integer> newDatasetIdList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String dataSetStr = obj.getString("dataSets"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isNotBlank(dataSetStr)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String[] IdList =  dataSetStr.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (String aIdList : IdList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (!Objects.equals(aIdList, "")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            Integer DaSetId = Integer.valueOf(aIdList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            newDatasetIdList.add(DaSetId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                adapterDatasetModelList = adapterDatasetService.getListByAdapterDatasetIdList(adapterVersion, newDatasetIdList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (AdapterDatasetModel model : adapterDatasetModelList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    CrawlerDataSetModel dataSetModel = new CrawlerDataSetModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    dataSetModel.setSchemeId(Integer.valueOf(schemeId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    dataSetModel.setSchemeVersionId(versionModel.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    dataSetModel.setDatasetId(model.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    dataSetModel.setDatasetCode(model.getStdDatasetCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    dataSetModel.setDatasetName(model.getStdDatasetName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    crawlerDatasetDao.saveEntity(dataSetModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //如果存在编排映射关系,进行保存操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //如果保存传入编排映射关系,进行保存操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (obj.containsKey("relation") && !Objects.equals(obj.getString("relation"), "")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 saveDataSetRelation(version,json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                saveDataSetRelation(versionId,obj.getString("relation")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<FlowEntrance> getFlowEntrances(Integer schemeVersionId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<FlowEntrance> entrances = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<CrawlerFlowHeadModel> modelList = crawlerFlowHeadDao.getCrawlerFlowHeadList(schemeVersionId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -202,13 +233,14 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 删除编排数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String  deleteJobData(String version) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdapterSchemeVersionModel versionModel =  adapterSchemeVersionService.getByVersion(version); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdapterSchemeVersionModel versionModel = (AdapterSchemeVersionModel) adapterSchemeVersionService.get(Integer.valueOf(version)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (versionModel == null || versionModel.getId() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return "删除失败"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -234,9 +266,9 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public DetailModelResult getDataSetResult(Integer limit, Integer offset){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            StringBuffer stringBuffer = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sql = "SELECT a.scheme_id, a.scheme_version_id, GROUP_CONCAT(a.dataset_id SEPARATOR ';') AS datasetId, GROUP_CONCAT(a.dataset_name SEPARATOR ';') AS datasetName" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM ( SELECT scheme_id, scheme_version_id, CONCAT(dataset_id) AS dataset_id, CONCAT( dataset_code, ',', dataset_name ) AS dataset_name FROM crawler_dataset ) a" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY a.scheme_id, a.scheme_version_id"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sql = "SELECT 1 as status, a.scheme_id, a.scheme_version_id, GROUP_CONCAT(a.dataset_id SEPARATOR ',') AS datasetId, GROUP_CONCAT(a.dataset_name SEPARATOR ',') AS datasetName" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM crawler_dataset a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY a.scheme_id, a.scheme_version_id "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            stringBuffer.append(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (limit != null && offset != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (limit > 0 && offset > 0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -245,9 +277,12 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            stringBuffer.append(" ;"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Integer total = crawlerDatasetDao.getTotalRows(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List list = crawlerDatasetDao.queryListBySql(stringBuffer.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DetailModelResult detailModelResult = DetailModelResult.success("获取数据集成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            detailModelResult.setDetailModelList(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            detailModelResult.setTotalCount(total); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return detailModelResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -255,6 +290,8 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取编排已选择的适配数据集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -285,20 +322,20 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<CrawlerDataSetModel> crawlerDataset = crawlerDatasetDao.getCrawlerDatasetList(versionModel.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MappingDataset> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (AdapterDatasetModel datasetModel : adapterDatasetModelList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            MappingDataset obj = new MappingDataset(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (crawlerDataset != null && crawlerDataset.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (CrawlerDataSetModel cDataSet : crawlerDataset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (cDataSet.getDatasetId().equals(datasetModel.getAdapterDatasetId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            if (crawlerDataset != null && crawlerDataset.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                MappingDataset obj = new MappingDataset(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                for (CrawlerDataSetModel cDataSet : crawlerDataset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if ( !StringUtil.isStrEmpty(datasetModel.getAdapterDatasetCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        List<MappingMetadata> metadatas = getMappingMetaDatasByDataset(versionModel.getVersion(), datasetModel.getAdapterDatasetId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        obj.setId(datasetModel.getStdDatasetId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        obj.setCode(datasetModel.getStdDatasetCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        obj.setName(datasetModel.getStdDatasetName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        obj.setData(metadatas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            list.add(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                list.add(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -312,14 +349,17 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<MappingMetadata> getMappingMetaDatasByDataset(String adapterVersion, Integer dataSetId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<AdapterMetadataModel> adapterMetadataModels = adapterMetadataService.getAdapterMetadataByDataset(adapterVersion, dataSetId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdapterDatasetModel  adapterDatasetModel= adapterMetadataService.getAdapterMetadata(adapterVersion, dataSetId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MappingMetadata> resultList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (adapterMetadataModels != null && adapterMetadataModels.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (AdapterMetadataModel metadataModel : adapterMetadataModels) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                MappingMetadata metadata = new MappingMetadata(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                metadata.setId(metadataModel.getAdapterMetadataId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                metadata.setCode(metadataModel.getAdapterMetadataCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                metadata.setName(metadataModel.getAdapterMetadataName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                resultList.add(metadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(!StringUtil.isStrEmpty( metadataModel.getAdapterMetadataCode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    MappingMetadata metadata = new MappingMetadata(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    metadata.setId(metadataModel.getAdapterMetadataId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    metadata.setCode(adapterDatasetModel.getAdapterDatasetCode()+"-"+metadataModel.getAdapterMetadataCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    metadata.setName(metadataModel.getAdapterMetadataName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultList.add(metadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return resultList; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -332,11 +372,16 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param datasetIdStr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getRelations(Integer schemeVersionId, String datasetIdStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getRelations(Integer schemeVersionId, String datasetIdStr,String lineStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MappingDataset> datasets = getSchemeDatasetByChecked(schemeVersionId, datasetIdStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<FlowLines> lines = getFlowLines(schemeVersionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtil.isEmpty(lineStr)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                lines = getFlowLines(schemeVersionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                lines=lineCache.get(schemeVersionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("tables", datasets); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("rels", lines); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -345,4 +390,14 @@ public class CrawlerService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jsonObject.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void setLinesCache(Integer schemeVersionId,String lines) throws IOException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ObjectMapper objectMapper=new ObjectMapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ObjectNode rootNode=objectMapper.readValue(lines,ObjectNode.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String lineJson=rootNode.get("lines").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<FlowLines> line=objectMapper.readValue(lineJson,List.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        lineCache.put(schemeVersionId,line); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |