|
@ -2,9 +2,13 @@ package com.yihu.ehr.standard.service.adapter;
|
|
|
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.yihu.ehr.common.Services;
|
|
|
import com.yihu.ehr.crawler.dao.intf.ICrawlerDao;
|
|
|
import com.yihu.ehr.crawler.model.flow.CrawlerDataSetModel;
|
|
|
import com.yihu.ehr.crawler.model.flow.CrawlerFlowHeadModel;
|
|
|
import com.yihu.ehr.crawler.model.flow.CrawlerFlowModel;
|
|
|
import com.yihu.ehr.crawler.model.flow.DtoCrawlerDataSet;
|
|
|
import com.yihu.ehr.crawler.model.flow.resultModel.DtoSchemeVersionModel;
|
|
|
import com.yihu.ehr.framework.common.dao.SQLGeneralDAO;
|
|
|
import com.yihu.ehr.framework.constrant.Constants;
|
|
|
import com.yihu.ehr.framework.model.ActionResult;
|
|
@ -13,6 +17,7 @@ import com.yihu.ehr.framework.model.DetailModelResult;
|
|
|
import com.yihu.ehr.framework.model.Result;
|
|
|
import com.yihu.ehr.framework.util.operator.CollectionUtil;
|
|
|
import com.yihu.ehr.framework.util.operator.StringUtil;
|
|
|
import com.yihu.ehr.resource.service.IStdService;
|
|
|
import com.yihu.ehr.standard.model.adapter.AdapterDatasetModel;
|
|
|
import com.yihu.ehr.standard.model.adapter.AdapterSchemeModel;
|
|
|
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
|
|
@ -25,6 +30,7 @@ import org.hibernate.Query;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.IOException;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
@ -40,6 +46,13 @@ public class AdapterSchemeService extends SQLGeneralDAO {
|
|
|
|
|
|
public static final String BEAN_ID = "AdapterSchemeService";
|
|
|
|
|
|
@Resource(name = Services.StdService)
|
|
|
private IStdService stdManager;
|
|
|
|
|
|
@Resource(name = "CrawlerDao")
|
|
|
private ICrawlerDao crawlerDao;
|
|
|
|
|
|
|
|
|
public DetailModelResult getEntityList(String query, String order, Integer limit, Integer offset) {
|
|
|
try {
|
|
|
List list = getEntityList(AdapterSchemeModel.class, query, order, limit, offset);
|
|
@ -232,7 +245,7 @@ public class AdapterSchemeService extends SQLGeneralDAO {
|
|
|
resultDetailModel.setStdVersion(stdVersionMap.get(schemeModel.getStdVersion()).getVersion());
|
|
|
resultDetailModel.setStdVersionName(stdVersionMap.get(schemeModel.getStdVersion()).getName());
|
|
|
resultDetailModel.setPublisher(stdMap.get(schemeModel.getAdapterStdId()) == null ? "" : stdMap.get(schemeModel.getAdapterStdId()).getPublisher());
|
|
|
resultDetailModel.setAdapterName(stdMap.get(schemeModel.getAdapterStdId())==null?"":stdMap.get(schemeModel.getAdapterStdId()).getName());
|
|
|
resultDetailModel.setAdapterName(stdMap.get(schemeModel.getAdapterStdId()) == null ? "" : stdMap.get(schemeModel.getAdapterStdId()).getName());
|
|
|
if (stdVersionMap.get(schemeModel.getAdapterStdVersion()) != null) {
|
|
|
resultDetailModel.setAdapterVersionName(stdVersionMap.get(schemeModel.getAdapterStdVersion()).getName());
|
|
|
resultDetailModel.setAdapterStdVersion(stdVersionMap.get(schemeModel.getAdapterStdVersion()).getVersion());
|
|
@ -276,7 +289,7 @@ public class AdapterSchemeService extends SQLGeneralDAO {
|
|
|
}
|
|
|
|
|
|
public boolean existSchemeVersionValid(Integer schemeId) {
|
|
|
String hql="FROM AdapterSchemeVersionModel WHERE schemeId = :schemeId";
|
|
|
String hql = "FROM AdapterSchemeVersionModel WHERE schemeId = :schemeId";
|
|
|
Query query = getCurrentSession().createQuery(hql);
|
|
|
query.setParameter("schemeId", schemeId);
|
|
|
List<AdapterSchemeVersionModel> schemeVersionModelList = query.list();
|
|
@ -375,33 +388,112 @@ public class AdapterSchemeService extends SQLGeneralDAO {
|
|
|
query.setParameter("schemeId", schemeId);
|
|
|
query.setParameter("version", version);
|
|
|
AdapterSchemeVersionModel versionModel = (AdapterSchemeVersionModel) query.uniqueResult();
|
|
|
for (Object item : jsonList) {
|
|
|
JSONObject obj = JSONObject.fromObject(item);
|
|
|
String from = obj.getString("from");
|
|
|
String to = obj.getString("to");
|
|
|
String fromPort = obj.getString("fromPort");
|
|
|
String toPort = obj.getString("toPort");
|
|
|
//TODO 保存编排关系
|
|
|
CrawlerFlowModel crawlerFlow = new CrawlerFlowModel();
|
|
|
crawlerFlow.setDatasetCode(to);
|
|
|
crawlerFlow.setInputDatasetCode(from);
|
|
|
crawlerFlow.setMetadataCode(toPort);
|
|
|
crawlerFlow.setInputMetadataCode(fromPort);
|
|
|
crawlerFlow.setSchemeVersionId(versionModel.getId());
|
|
|
saveEntity(crawlerFlow);
|
|
|
}
|
|
|
if (jsonList!=null && jsonList.size()>0) {
|
|
|
// 删除旧关联关系
|
|
|
crawlerDao.deleteSchemeVersion(versionModel.getId());
|
|
|
for (Object item : jsonList) {
|
|
|
JSONObject obj = JSONObject.fromObject(item);
|
|
|
String from = obj.getString("from");
|
|
|
String to = obj.getString("to");
|
|
|
String fromPort = obj.getString("fromPort");
|
|
|
String toPort = obj.getString("toPort");
|
|
|
// 保存编排关系
|
|
|
CrawlerFlowModel crawlerFlow = new CrawlerFlowModel();
|
|
|
crawlerFlow.setDatasetCode(to);
|
|
|
crawlerFlow.setInputDatasetCode(from);
|
|
|
crawlerFlow.setMetadataCode(toPort);
|
|
|
crawlerFlow.setInputMetadataCode(fromPort);
|
|
|
crawlerFlow.setSchemeVersionId(versionModel.getId());
|
|
|
saveEntity(crawlerFlow);
|
|
|
}
|
|
|
// 删除编排头部信息
|
|
|
crawlerDao.deleteCrawlerHead(versionModel.getId());
|
|
|
|
|
|
for (Object item : entrances) {
|
|
|
JSONObject obj = JSONObject.fromObject(item);
|
|
|
String dataSet = obj.getString("dataSet");
|
|
|
String meta = obj.getString("meta");
|
|
|
//TODO 保存入口数据集
|
|
|
CrawlerFlowHeadModel headModel = new CrawlerFlowHeadModel();
|
|
|
headModel.setSchemeVersionId(versionModel.getId());
|
|
|
headModel.setDatasetCode(dataSet);
|
|
|
headModel.setMetadataCode(meta);
|
|
|
saveEntity(headModel);
|
|
|
for (Object item : entrances) {
|
|
|
JSONObject obj = JSONObject.fromObject(item);
|
|
|
String dataSet = obj.getString("dataSet");
|
|
|
String meta = obj.getString("meta");
|
|
|
// 保存入口数据集
|
|
|
CrawlerFlowHeadModel headModel = new CrawlerFlowHeadModel();
|
|
|
headModel.setSchemeVersionId(versionModel.getId());
|
|
|
headModel.setDatasetCode(dataSet);
|
|
|
headModel.setMetadataCode(meta);
|
|
|
saveEntity(headModel);
|
|
|
}
|
|
|
}
|
|
|
return new ActionResult(true, "保存成功!");
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 获取任务编排数据集列表
|
|
|
*
|
|
|
* @param schemeVersionId
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public DetailModelResult getSchemeDataset(Integer schemeVersionId) throws Exception {
|
|
|
String adapterVersionHql = "FROM AdapterSchemeVersionModel WHERE id = :id";
|
|
|
Query query = getCurrentSession().createQuery(adapterVersionHql);
|
|
|
query.setParameter("id", schemeVersionId);
|
|
|
AdapterSchemeVersionModel versionModel = (AdapterSchemeVersionModel) query.uniqueResult();
|
|
|
//获取适配数据集总和
|
|
|
List<AdapterDatasetModel> datasetString = stdManager.getDatasetByScheme(versionModel.getVersion());
|
|
|
JSONArray jsonArray = JSONArray.fromObject(datasetString);
|
|
|
//获取编排数据集
|
|
|
List<CrawlerDataSetModel> crawlerDataset = crawlerDao.getSchemeDataset(versionModel.getId());
|
|
|
DetailModelResult re = new DetailModelResult();
|
|
|
List<DtoCrawlerDataSet> list = new ArrayList<>();
|
|
|
for (Object item : jsonArray) {
|
|
|
JSONObject jsonItem = JSONObject.fromObject(item);
|
|
|
String datasetId = jsonItem.getString("adapterDatasetId");
|
|
|
//是否关联任务
|
|
|
if (crawlerDataset != null && crawlerDataset.size() > 0) {
|
|
|
DtoCrawlerDataSet obj = new DtoCrawlerDataSet();
|
|
|
for (CrawlerDataSetModel cDataSet : crawlerDataset) {
|
|
|
if (cDataSet.getDatasetId().equals(datasetId)) {
|
|
|
obj.setSchemeVersionId(cDataSet.getSchemeVersionId());
|
|
|
obj.setDatasetId(cDataSet.getDatasetId());
|
|
|
obj.setDatasetCode(cDataSet.getDatasetCode());
|
|
|
obj.setDatasetName(cDataSet.getDatasetName());
|
|
|
obj.setSchemeId(cDataSet.getSchemeId());
|
|
|
obj.setChecked("1");
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
list.add(obj);
|
|
|
}
|
|
|
}
|
|
|
re.setDetailModelList(list);
|
|
|
return re;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 获取任务编排 适配版本列表
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public DetailModelResult getSchemeVersionList() throws Exception {
|
|
|
List<DtoSchemeVersionModel> list=new ArrayList<>();
|
|
|
String adapterVersionHql = "FROM AdapterSchemeVersionModel ";
|
|
|
Query query = getCurrentSession().createQuery(adapterVersionHql);
|
|
|
List<AdapterSchemeVersionModel> modelList = query.list();
|
|
|
DetailModelResult re = new DetailModelResult();
|
|
|
if (modelList !=null && modelList.size()> 0){
|
|
|
for (AdapterSchemeVersionModel model:modelList){
|
|
|
List<CrawlerDataSetModel> crawlerDataset = crawlerDao.getSchemeDataset(model.getId());
|
|
|
DtoSchemeVersionModel dtoModel=new DtoSchemeVersionModel();
|
|
|
dtoModel.setSchemeId(model.getSchemeId());
|
|
|
dtoModel.setId(model.getId());
|
|
|
dtoModel.setVersion(model.getVersion());
|
|
|
dtoModel.setName(model.getName());
|
|
|
dtoModel.setDataSets(crawlerDataset);
|
|
|
list.add(dtoModel);
|
|
|
}
|
|
|
}
|
|
|
re.setDetailModelList(list);
|
|
|
return re;
|
|
|
}
|
|
|
|
|
|
}
|