소스 검색

Merge branch 'master' of http://192.168.1.220:10080/esb/esb

llh 9 년 전
부모
커밋
5ee99d8548

+ 15 - 2
Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerDao.java

@ -14,7 +14,20 @@ import java.util.List;
public class CrawlerDao extends SQLGeneralDAO implements ICrawlerDao {
    @Override
    public List<CrawlerDataSetModel> getSchemeDataset(String versionId) throws Exception {
        return null;
    public List<CrawlerDataSetModel> getSchemeDataset(Integer versionId) throws Exception {
        String sql = "select * from crawler_dataset where scheme_version_id='"+versionId+"'";
        return super.queryListBySql(sql, CrawlerDataSetModel.class);
    }
    @Override
    public void deleteSchemeVersion(Integer versionId) throws Exception {
        String sql = "delete from crawler_dataset where scheme_version_id='"+versionId+"'";
        super.execute(sql);
    }
    @Override
    public void deleteCrawlerHead(Integer versionId) throws Exception {
        String sql = "delete from crawler_flow_head where scheme_version_id='"+versionId+"'";
        super.execute(sql);
    }
}

+ 11 - 1
Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/intf/ICrawlerDao.java

@ -13,6 +13,16 @@ public interface ICrawlerDao extends XSQLGeneralDAO {
    /**
     * 通过适配版本获取相关数据集
     */
    public List<CrawlerDataSetModel> getSchemeDataset(String versionId) throws Exception;
    public List<CrawlerDataSetModel> getSchemeDataset(Integer versionId) throws Exception;
    /**
     * 删除编排适配版本
     * @param versionId
     * @return
     * @throws Exception
     */
    public void deleteSchemeVersion(Integer versionId) throws Exception;
    public void deleteCrawlerHead(Integer versionId) throws Exception;
}

+ 41 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/model/flow/resultModel/DtoAdapterScheme.java

@ -0,0 +1,41 @@
package com.yihu.ehr.crawler.model.flow.resultModel;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import java.util.List;
/**
 * 任务编排列表
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class DtoAdapterScheme {
    private Integer schemeId;
    private String name;
    List<AdapterSchemeVersionModel> versionList;
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public List<AdapterSchemeVersionModel> getVersionList() {
        return versionList;
    }
    public void setVersionList(List<AdapterSchemeVersionModel> versionList) {
        this.versionList = versionList;
    }
}

+ 21 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/model/flow/resultModel/DtoCrawlerDataSet.java

@ -0,0 +1,21 @@
package com.yihu.ehr.crawler.model.flow.resultModel;
import com.yihu.ehr.crawler.model.flow.CrawlerDataSetModel;
/**
 * 任务编排数据集关联
 */
public class DtoCrawlerDataSet extends CrawlerDataSetModel implements java.io.Serializable {
	private String checked;
	public String getChecked() {
		return checked;
	}
	public void setChecked(String checked) {
		this.checked = checked;
	}
}

+ 24 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/model/flow/resultModel/DtoSchemeVersionModel.java

@ -0,0 +1,24 @@
package com.yihu.ehr.crawler.model.flow.resultModel;
import com.yihu.ehr.crawler.model.flow.CrawlerDataSetModel;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import java.io.Serializable;
import java.util.List;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class DtoSchemeVersionModel extends AdapterSchemeVersionModel implements Serializable {
    private List<CrawlerDataSetModel> dataSets;
    public List<CrawlerDataSetModel> getDataSets() {
        return dataSets;
    }
    public void setDataSets(List<CrawlerDataSetModel> dataSets) {
        this.dataSets = dataSets;
    }
}

+ 30 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/model/flow/resultModel/FlowEntrance.java

@ -0,0 +1,30 @@
package com.yihu.ehr.crawler.model.flow.resultModel;
import java.io.Serializable;
/**
 *  编排入口
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class FlowEntrance implements Serializable {
    private String dataSet;
    private String meta;
    public String getDataSet() {
        return dataSet;
    }
    public void setDataSet(String dataSet) {
        this.dataSet = dataSet;
    }
    public String getMeta() {
        return meta;
    }
    public void setMeta(String meta) {
        this.meta = meta;
    }
}

+ 48 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/model/flow/resultModel/FlowLines.java

@ -0,0 +1,48 @@
package com.yihu.ehr.crawler.model.flow.resultModel;
import java.io.Serializable;
/**
 *  编排映射关系
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class FlowLines implements Serializable {
    private String from;
    private String to;
    private String fromPort;
    private String toPort;
    public String getFrom() {
        return from;
    }
    public void setFrom(String from) {
        this.from = from;
    }
    public String getTo() {
        return to;
    }
    public void setTo(String to) {
        this.to = to;
    }
    public String getFromPort() {
        return fromPort;
    }
    public void setFromPort(String fromPort) {
        this.fromPort = fromPort;
    }
    public String getToPort() {
        return toPort;
    }
    public void setToPort(String toPort) {
        this.toPort = toPort;
    }
}

+ 28 - 33
Hos-resource/src/main/java/com/yihu/ehr/datacollect/controller/DataCollectController.java

@ -7,10 +7,7 @@ import com.yihu.ehr.datacollect.model.RsJobLog;
import com.yihu.ehr.datacollect.service.intf.IDatacollectManager;
import com.yihu.ehr.datacollect.service.intf.IDatacollectService;
import com.yihu.ehr.framework.constrant.DateConvert;
import com.yihu.ehr.framework.model.ActionResult;
import com.yihu.ehr.framework.model.DictItem;
import com.yihu.ehr.framework.model.DictionaryResult;
import com.yihu.ehr.framework.model.Result;
import com.yihu.ehr.framework.model.*;
import com.yihu.ehr.framework.util.controller.BaseController;
import com.yihu.ehr.framework.util.operator.CollectionUtil;
import com.yihu.ehr.resource.service.IStdService;
@ -457,39 +454,33 @@ public class DataCollectController extends BaseController {
        return "partView";
    }
    @RequestMapping("getJobLayout")
    /**
     * 获取任务编排列表
     * @return
     */
    @RequestMapping("getLayout")
    @ResponseBody
    public List<SchemeResultDetailModel> getJobLayout() {
    public DetailModelResult getLayout() {
        try {
            List<SchemeResultDetailModel> schemeResultDetailModels = adapterSchemeService.getSchemeList2();
            DetailModelResult schemeResultDetailModels = adapterSchemeService.getSchemeList();
            ObjectMapper mapper = new ObjectMapper();
            String result = mapper.writeValueAsString(schemeResultDetailModels);
            return schemeResultDetailModels;
//            DictionaryResult dictionaryResult = new DictionaryResult();
//            List<DictItem> detailModelList = new ArrayList<DictItem>();
//            for(SchemeResultDetailModel schemeResultDetailModel : schemeResultDetailModels){
//                DictItem items = new DictItem();
//                String id = schemeResultDetailModel.getId();
//                items.setCode(id);
//                items.setValue(schemeResultDetailModel.getName());
//                detailModelList.add(items);
//            }
//            dictionaryResult.setDetailModelList(detailModelList);
//            return dictionaryResult;
        } catch (Exception ex) {
//            return Result.error(ex.getMessage());
            ex.printStackTrace();
            return null;
        }
    }
    /**
     * 保存或更新 任务编排信息
     *
     * @param list 适配方案 数据集关系
     * @return
     */
    @RequestMapping("updateSchemeList")
    @ResponseBody
    public Result saveOrUpdateSchemes( String list) {
    public Result saveOrUpdateSchemes(String list) {
        try {
            return adapterSchemeService.saveOrUpdateSchemeList(list);
        } catch (Exception ex) {
@ -500,45 +491,49 @@ public class DataCollectController extends BaseController {
    /**
     * 获取适配方案 数据集关系
     * @param schemeId 适配方案ID
     *
     * @param versionId 适配方案版本ID
     * @return
     */
    @RequestMapping("getSchemeDataSets")
    @ResponseBody
    public List getSchemeDataSets(
            @RequestParam(value = "schemeId", required = true) Integer schemeId,
            @RequestParam(value = "version", required = true) String version
            ) {
    public DetailModelResult getSchemeDataSets(
            @RequestParam(value = "versionId", required = true) Integer versionId
    ) {
        try {
            return adapterSchemeService.getAdapterDataSets(schemeId,version);
        } catch (Exception ex) {
            return new ArrayList<>();
            return adapterSchemeService.getSchemeDataset(versionId);
        } catch (Exception e) {
            e.printStackTrace();
            return new DetailModelResult();
        }
    }
    /**
     * 保存适配方案数据集关系 (暂定)
     *
     * @param schemeId
     * @param version
     * @param dataSetList
     * @param data     映射关系
     * @return
     */
    @RequestMapping("addSchemeRelation")
    @ResponseBody
    public List addSchemeRelation(
    public ActionResult addSchemeRelation(
            @RequestParam(value = "schemeId", required = true) Integer schemeId,
            @RequestParam(value = "version", required = true) String version,
            @RequestParam(value = "dataSetList", required = true) String dataSetList
            @RequestParam(value = "data", required = true) String data
    ) {
        try {
            return adapterSchemeService.getAdapterDataSets(schemeId,version);
            return adapterSchemeService.saveDataSetRelation(schemeId, version, data);
        } catch (Exception ex) {
            return new ArrayList<>();
            ex.printStackTrace();
            return new ActionResult();
        }
    }
    /**
     * 保存适配方案 数据映射关系
     *
     * @param schemeId
     * @param version
     * @param data

+ 128 - 59
Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterSchemeService.java

@ -2,17 +2,22 @@ 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.resultModel.DtoAdapterScheme;
import com.yihu.ehr.crawler.model.flow.resultModel.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;
import com.yihu.ehr.framework.model.DataGridResult;
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();
@ -286,27 +299,25 @@ public class AdapterSchemeService extends SQLGeneralDAO {
        return false;
    }
    public List<SchemeResultDetailModel> getSchemeList2() {
    public DetailModelResult getSchemeList() {
        String schemeHql = "FROM AdapterSchemeModel";
        Query query = getCurrentSession().createQuery(schemeHql);
        List<AdapterSchemeModel> adapterSchemeModelList = query.list();
        List<SchemeResultDetailModel> schemeList = new ArrayList<>();
        List<DtoAdapterScheme> schemeList = new ArrayList<>();
        DetailModelResult result=new DetailModelResult();
        for (AdapterSchemeModel schemeModel : adapterSchemeModelList) {
            String adapterVersionHql = "FROM AdapterSchemeVersionModel WHERE schemeId = :schemeId";
            String adapterVersionHql = "FROM AdapterSchemeVersionModel WHERE schemeId = :schemeId and publishStatus = 1";
            query = getCurrentSession().createQuery(adapterVersionHql);
            query.setParameter("schemeId", schemeModel.getId());
            List<AdapterSchemeVersionModel> versionModelList = query.list();
            String id = "" + schemeModel.getId();
            SchemeResultDetailModel resultDetailModel = new SchemeResultDetailModel();
            resultDetailModel.setId(id);
            resultDetailModel.setPid("");
            resultDetailModel.setType(0);
            DtoAdapterScheme resultDetailModel = new DtoAdapterScheme();
            resultDetailModel.setSchemeId(schemeModel.getId());
            resultDetailModel.setName(schemeModel.getName());
            resultDetailModel.setVersionList(versionModelList);
            schemeList.add(resultDetailModel);
        }
        return schemeList;
        result.setDetailModelList(schemeList);
        return result;
    }
    /**
@ -335,27 +346,6 @@ public class AdapterSchemeService extends SQLGeneralDAO {
    }
    /**
     * 根据适配版本 获取数据集列表
     *
     * @param schemeId
     * @param version
     * @return
     */
    public List<AdapterDatasetModel> getAdapterDataSets(Integer schemeId, String version) {
        List<AdapterDatasetModel> list = new ArrayList<>();
        String adapterVersionHql = "FROM AdapterSchemeVersionModel WHERE schemeId = :schemeId and version = :version";
        Query query = getCurrentSession().createQuery(adapterVersionHql);
        query.setParameter("schemeId", schemeId);
        query.setParameter("version", version);
        AdapterSchemeVersionModel versionModel = (AdapterSchemeVersionModel) query.uniqueResult();
        String tableName = "adapter_dataset_" + versionModel.getVersion();
        String adapterDataSetSql = "select * FROM " + tableName + " WHERE scheme_id = :schemeId";
        Query dataSetQuery = getCurrentSession().createSQLQuery(adapterDataSetSql).addEntity(AdapterDatasetModel.class);
        dataSetQuery.setParameter("schemeId", schemeId);
        List<AdapterDatasetModel> adapterDataSet = dataSetQuery.list();
        return adapterDataSet;
    }
    /**
     * 保存编排映射关系
@ -375,33 +365,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;
    }
}