|
@ -20,6 +20,7 @@ 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;
|
|
|
|
|
@ -57,10 +58,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 +107,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 +159,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 +226,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 +259,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 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 +270,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 +283,8 @@ public class CrawlerService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 获取编排已选择的适配数据集
|
|
|
*
|
|
@ -285,20 +315,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 +342,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;
|