Sfoglia il codice sorgente

任务编排代码规范

lingfeng 9 anni fa
parent
commit
814c3227b3
19 ha cambiato i file con 255 aggiunte e 464 eliminazioni
  1. 3 3
      Hos-resource/src/main/java/com/yihu/ehr/crawler/controller/CrawlerController.java
  2. 0 47
      Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerDao.java
  3. 26 0
      Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerDatasetDao.java
  4. 13 0
      Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerFlowDao.java
  5. 16 0
      Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerFlowHeadDao.java
  6. 0 28
      Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/intf/ICrawlerDao.java
  7. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/crawler/model/flow/resultModel/DtoCrawlerDataSet.java
  8. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/crawler/model/flow/resultModel/DtoSchemeVersionModel.java
  9. 168 0
      Hos-resource/src/main/java/com/yihu/ehr/crawler/service/CrawlerService.java
  10. 0 64
      Hos-resource/src/main/java/com/yihu/ehr/crawler/service/JobArrangeManager.java
  11. 0 120
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/controller/DataCollectController.java
  12. 2 2
      Hos-resource/src/main/java/com/yihu/ehr/resource/service/IStdService.java
  13. 2 2
      Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/StdService.java
  14. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/standard/model/adapter/resultModel/SchemeResultDetailModel.java
  15. 2 2
      Hos-resource/src/main/java/com/yihu/ehr/crawler/model/flow/resultModel/DtoAdapterScheme.java
  16. 2 2
      Hos-resource/src/main/java/com/yihu/ehr/standard/model/adapter/resultModel/SchemeVersionResultDetailModel.java
  17. 11 185
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterSchemeService.java
  18. 4 4
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterSchemeVersionService.java
  19. 3 2
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StandardService.java

+ 3 - 3
Hos-resource/src/main/java/com/yihu/ehr/crawler/controller/CrawlerController.java

@ -2,7 +2,7 @@ package com.yihu.ehr.crawler.controller;
import com.yihu.ehr.crawler.model.patient.Patient;
import com.yihu.ehr.crawler.service.CrawlerManager;
import com.yihu.ehr.crawler.service.JobArrangeManager;
import com.yihu.ehr.crawler.service.CrawlerService;
import com.yihu.ehr.framework.model.Result;
import com.yihu.ehr.framework.util.operator.StringUtil;
import io.swagger.annotations.Api;
@ -27,7 +27,7 @@ import javax.annotation.Resource;
public class CrawlerController {
    @Resource
    JobArrangeManager jobArrangeManager;
    CrawlerService crawlerService;
    @RequestMapping(value = "patient", method = RequestMethod.POST)
    @ApiOperation(value = "采集病人健康档案", produces = "application/json", notes = "采集病人健康档案")
@ -57,7 +57,7 @@ public class CrawlerController {
            @ApiParam(name = "job", value = "任务编排信息", required = true)
            @RequestParam(value = "job", required = true) String jobInfo) {
        try {
            jobArrangeManager.saveJobData(jobInfo);
            crawlerService.saveJobData(jobInfo);
        } catch (Exception e) {
            e.printStackTrace();
            return Result.error("保存失败");

+ 0 - 47
Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerDao.java

@ -1,47 +0,0 @@
package com.yihu.ehr.crawler.dao;
import com.yihu.ehr.crawler.dao.intf.ICrawlerDao;
import com.yihu.ehr.crawler.model.flow.CrawlerDataSetModel;
import com.yihu.ehr.framework.common.dao.SQLGeneralDAO;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
 * Created by HZY on 2016/4/27.
 */
@Repository("CrawlerDao")
public class CrawlerDao extends SQLGeneralDAO implements ICrawlerDao {
    @Override
    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);
    }
    /**
     * 通过适配方案和版本号获取适配ID
     * @param schemeId
     * @param version
     * @return
     */
    public AdapterSchemeVersionModel getIdBySchemeAndVersion(String schemeId, String version) throws Exception {
        String sql = " select * from adapter_scheme_version o where 1=1 and o.scheme_id = '" + schemeId + "' and o.version = '"
                + version + "'";
        return super.queryObjBySql(sql, AdapterSchemeVersionModel.class);
    }
}

+ 26 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerDatasetDao.java

@ -0,0 +1,26 @@
package com.yihu.ehr.crawler.dao;
import com.yihu.ehr.crawler.model.flow.CrawlerDataSetModel;
import com.yihu.ehr.framework.common.dao.SQLGeneralDAO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
 * Created by HZY on 2016/4/27.
 */
@Repository("CrawlerDatasetDao")
public class CrawlerDatasetDao extends SQLGeneralDAO {
    public static final String BEAN_ID = "CrawlerDatasetDao";
    public List<CrawlerDataSetModel> getCrawlerDatasetList(Integer versionId) throws Exception {
        String sql = "select * from crawler_dataset where scheme_version_id='"+versionId+"'";
        return super.queryListBySql(sql, CrawlerDataSetModel.class);
    }
    public void deleteCrawlerDatasetList(Integer versionId) throws Exception {
        String sql = "delete from crawler_dataset where scheme_version_id='"+versionId+"'";
        super.execute(sql);
    }
}

+ 13 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerFlowDao.java

@ -0,0 +1,13 @@
package com.yihu.ehr.crawler.dao;
import com.yihu.ehr.framework.common.dao.SQLGeneralDAO;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import org.springframework.stereotype.Repository;
/**
 * Created by HZY on 2016/4/27.
 */
@Repository("CrawlerFlowDao")
public class CrawlerFlowDao extends SQLGeneralDAO {
    public static final String BEAN_ID = "CrawlerFlowDao";
}

+ 16 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerFlowHeadDao.java

@ -0,0 +1,16 @@
package com.yihu.ehr.crawler.dao;
import com.yihu.ehr.framework.common.dao.SQLGeneralDAO;
import org.springframework.stereotype.Repository;
/**
 * Created by HZY on 2016/4/27.
 */
@Repository("CrawlerFlowHeadDao")
public class CrawlerFlowHeadDao extends SQLGeneralDAO {
    public static final String BEAN_ID = "CrawlerFlowHeadDao";
    public void deleteCrawlerFlowHeadList(Integer versionId) throws Exception {
        String sql = "delete from crawler_flow_head where scheme_version_id='"+versionId+"'";
        super.execute(sql);
    }
}

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

@ -1,28 +0,0 @@
package com.yihu.ehr.crawler.dao.intf;
import com.yihu.ehr.crawler.model.flow.CrawlerDataSetModel;
import com.yihu.ehr.framework.common.dao.XSQLGeneralDAO;
import java.util.List;
/**
 * Created by HZY on 2016/4/27.
 */
public interface ICrawlerDao extends XSQLGeneralDAO {
    /**
     * 通过适配版本获取相关数据集
     */
    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;
}

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

@ -7,7 +7,7 @@ import com.yihu.ehr.crawler.model.flow.CrawlerDataSetModel;
 * 任务编排数据集关联
 */
public class DtoCrawlerDataSet extends CrawlerDataSetModel implements java.io.Serializable {
public class CrawlerDatasetResultDetailModel extends CrawlerDataSetModel implements java.io.Serializable {
	private String checked;

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

@ -11,7 +11,7 @@ import java.util.List;
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class DtoSchemeVersionModel extends AdapterSchemeVersionModel implements Serializable {
public class CrawlerDatasetResultModel extends AdapterSchemeVersionModel implements Serializable {
    private List<CrawlerDataSetModel> dataSets;
    public List<CrawlerDataSetModel> getDataSets() {

+ 168 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/CrawlerService.java

@ -0,0 +1,168 @@
package com.yihu.ehr.crawler.service;
import com.yihu.ehr.crawler.dao.CrawlerDatasetDao;
import com.yihu.ehr.crawler.dao.CrawlerFlowDao;
import com.yihu.ehr.crawler.dao.CrawlerFlowHeadDao;
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.CrawlerDatasetResultDetailModel;
import com.yihu.ehr.framework.model.ActionResult;
import com.yihu.ehr.framework.model.DetailModelResult;
import com.yihu.ehr.standard.model.adapter.AdapterDatasetModel;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import com.yihu.ehr.standard.service.adapter.AdapterDatasetService;
import com.yihu.ehr.standard.service.adapter.AdapterSchemeVersionService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Transactional
@Service("CrawlerService")
public class CrawlerService {
    public static final String BEAN_ID = "CrawlerService";
    @Resource(name = AdapterSchemeVersionService.BEAN_ID)
    private AdapterSchemeVersionService adapterSchemeVersionService;
    @Resource(name = AdapterDatasetService.BEAN_ID)
    private AdapterDatasetService adapterDatasetService;
    @Resource(name = CrawlerDatasetDao.BEAN_ID)
    private CrawlerDatasetDao crawlerDatasetDao;
    @Resource(name = CrawlerFlowDao.BEAN_ID)
    private CrawlerFlowDao crawlerFlowDao;
    @Resource(name = CrawlerFlowHeadDao.BEAN_ID)
    private CrawlerFlowHeadDao crawlerFlowHeadDao;
    /**
     * 保存编排映射关系
     *
     * @param version  适配方案版本
     * @param json     映射数据
     * @return
     * @throws Exception
     */
    public ActionResult saveDataSetRelation(String version, String json) throws Exception {
        JSONObject root = JSONObject.fromObject(json);
        JSONArray jsonList = root.getJSONArray("lines");
        JSONArray entrances = root.getJSONArray("entrances");
        AdapterSchemeVersionModel versionModel = adapterSchemeVersionService.getByVersion(version);
        if (jsonList!=null && jsonList.size()>0) {
            // 删除旧关联关系
            crawlerDatasetDao.deleteCrawlerDatasetList(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());
                crawlerFlowDao.saveEntity(crawlerFlow);
            }
            // 删除编排头部信息
            crawlerFlowHeadDao.deleteCrawlerFlowHeadList(versionModel.getId());
            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);
                crawlerFlowHeadDao.saveEntity(headModel);
            }
        }
        return new ActionResult(true, "保存成功!");
    }
    /**
     * 获取任务编排数据集列表
     *
     * @param schemeVersionId
     * @return
     * @throws Exception
     */
    public DetailModelResult getSchemeDataset(Integer schemeVersionId) throws Exception {
        AdapterSchemeVersionModel versionModel = (AdapterSchemeVersionModel) adapterSchemeVersionService.get(schemeVersionId);
        //获取适配数据集总和
        List<AdapterDatasetModel> adapterDatasetModelList = adapterDatasetService.getDatasetList(AdapterDatasetModel.class, versionModel.getVersion(), null, null, null, null);
        //获取编排数据集
        List<CrawlerDataSetModel> crawlerDataset = crawlerDatasetDao.getCrawlerDatasetList(versionModel.getId());
        DetailModelResult re = new DetailModelResult();
        List<CrawlerDatasetResultDetailModel> list = new ArrayList<>();
        for (AdapterDatasetModel adapterDatasetModel : adapterDatasetModelList) {
            Integer datasetId = adapterDatasetModel.getAdapterDatasetId();
            //是否关联任务
            if (crawlerDataset != null && crawlerDataset.size() > 0) {
                CrawlerDatasetResultDetailModel obj = new CrawlerDatasetResultDetailModel();
                for (CrawlerDataSetModel cDataSet : crawlerDataset) {
                    if (cDataSet.getDatasetId() == 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;
    }
    /**
     * 保存任务编排数据
     * @param json
     * @return
     * @throws Exception
     */
    public void saveJobData(String json) throws Exception {
        JSONArray jsonList = JSONArray.fromObject(json);
        for(Object item : jsonList)
        {
            JSONObject obj = JSONObject.fromObject(item);
            String schemeId = obj.getString("schemeId");
            String version = obj.getString("version");
            AdapterSchemeVersionModel versionModel = adapterSchemeVersionService.getByVersion(version);
            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.saveOrUpdateEntity(dataSetModel);
            }
            if (obj.containsKey("lines") && obj.containsKey("entrances")) {
                // TODO: 2016/4/27  保存编排关系
//                 saveDataSetRelation(schemeId, version, json);
            }
        }
    }
}

+ 0 - 64
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/JobArrangeManager.java

@ -1,64 +0,0 @@
package com.yihu.ehr.crawler.service;
import com.yihu.ehr.crawler.dao.CrawlerDao;
import com.yihu.ehr.crawler.model.flow.CrawlerDataSetModel;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
 * @author Yingjie Chen
 * @version $$Revision$$
 * @date 2016/4/27
 */
@Service
public class JobArrangeManager {
    @Resource
    CrawlerDao crawlerDao;
    /**
     * 保存任务编排数据
     * @param json
     * @return
     * @throws Exception
     */
    @Transactional
    public void saveJobData(String json) throws Exception {
        JSONArray jsonList = JSONArray.fromObject(json);
        for(Object item : jsonList)
        {
            JSONObject obj = JSONObject.fromObject(item);
            String schemeId = obj.getString("schemeId");
            String version = obj.getString("version");
            AdapterSchemeVersionModel versionModel = crawlerDao.getIdBySchemeAndVersion(schemeId, version);
            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);
                crawlerDao.saveOrUpdateEntity(dataSetModel);
            }
            if (obj.containsKey("lines") && obj.containsKey("entrances")) {
                // TODO: 2016/4/27  保存编排关系
//                 saveDataSetRelation(schemeId, version, json);
            }
        }
    }
}  

+ 0 - 120
Hos-resource/src/main/java/com/yihu/ehr/datacollect/controller/DataCollectController.java

@ -3,7 +3,6 @@ package com.yihu.ehr.datacollect.controller;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.ehr.common.Services;
import com.yihu.ehr.datacollect.model.RsJobConfig;
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;
@ -11,14 +10,10 @@ 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;
import com.yihu.ehr.standard.model.adapter.resultModel.SchemeResultDetailModel;
import com.yihu.ehr.standard.model.standard.StandardModel;
import com.yihu.ehr.standard.service.adapter.AdapterSchemeService;
import com.yihu.ehr.system.service.intf.IDatasourceManager;
import net.sf.json.JSONArray;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@ -453,119 +448,4 @@ public class DataCollectController extends BaseController {
        model.addAttribute("contentPage", "/datacollect/jobLayout");
        return "partView";
    }
    /**
     * 获取任务编排列表
     * @return
     */
    @RequestMapping("getLayout")
    @ResponseBody
    public DetailModelResult getLayout() {
        try {
            DetailModelResult schemeResultDetailModels = adapterSchemeService.getSchemeList();
            ObjectMapper mapper = new ObjectMapper();
            String result = mapper.writeValueAsString(schemeResultDetailModels);
            return schemeResultDetailModels;
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }
    /**
     * 保存或更新 任务编排信息
     *
     * @param list 适配方案 数据集关系
     * @return
     */
    @RequestMapping("updateSchemeList")
    @ResponseBody
    public Result saveOrUpdateSchemes(String list) {
        try {
            return adapterSchemeService.saveOrUpdateSchemeList(list);
        } catch (Exception ex) {
            return Result.error(ex.getMessage());
        }
    }
    /**
     * 获取适配方案 数据集关系
     *
     * @param versionId 适配方案版本ID
     * @return
     */
    @RequestMapping("getSchemeDataSets")
    @ResponseBody
    public DetailModelResult getSchemeDataSets(
            @RequestParam(value = "versionId", required = true) Integer versionId
    ) {
        try {
            return adapterSchemeService.getSchemeDataset(versionId);
        } catch (Exception e) {
            e.printStackTrace();
            return new DetailModelResult();
        }
    }
    /**
     * 保存适配方案数据集关系 (暂定)
     *
     * @param schemeId
     * @param version
     * @param data     映射关系
     * @return
     */
    @RequestMapping("addSchemeRelation")
    @ResponseBody
    public ActionResult addSchemeRelation(
            @RequestParam(value = "schemeId", required = true) Integer schemeId,
            @RequestParam(value = "version", required = true) String version,
            @RequestParam(value = "data", required = true) String data
    ) {
        try {
            return adapterSchemeService.saveDataSetRelation(schemeId, version, data);
        } catch (Exception ex) {
            ex.printStackTrace();
            return new ActionResult();
        }
    }
    /**
     * 保存适配方案 数据映射关系
     *
     * @param schemeId
     * @param version
     * @param data
     * @return
     */
    @RequestMapping("saveCrawlerFlow")
    @ResponseBody
    public Result saveCrawlerFlowRelation(
            @RequestParam(value = "schemeId", required = true) Integer schemeId,
            @RequestParam(value = "version", required = true) String version,
            @RequestParam(value = "data", required = true) String data
    ) {
        try {
            return adapterSchemeService.saveDataSetRelation(schemeId, version, data);
        } catch (Exception ex) {
            return Result.error(ex.getMessage());
        }
    }
    /*
   任务编排数据映射
    */
    @RequestMapping("jobDataMapping")
    public String jobDataMapping(Model model, String jobId) {
        try {
            model.addAttribute("contentPage", "/datacollect/dataMapping");
            return "pageView";
        } catch (Exception ex) {
            model.addAttribute("contentPage", "/datacollect/dataMapping");
            return "pageView";
        }
    }
}

+ 2 - 2
Hos-resource/src/main/java/com/yihu/ehr/resource/service/IStdService.java

@ -5,7 +5,7 @@ import com.yihu.ehr.framework.model.DictionaryResult;
import com.yihu.ehr.standard.model.adapter.AdapterDatasetModel;
import com.yihu.ehr.standard.model.adapter.AdapterDictEntryModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterMetadataResultDetailModel;
import com.yihu.ehr.standard.model.adapter.resultModel.SchemeVersionResultDetailModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterSchemeVersionResultDetailModel;
import com.yihu.ehr.standard.model.standard.StdDataSetModel;
import com.yihu.ehr.standard.model.standard.StdMetaDataModel;
@ -27,7 +27,7 @@ public interface IStdService {
    /**
     * 获取适配方案列表
     */
    public List<SchemeVersionResultDetailModel> getSchemeVersion() throws Exception;
    public List<AdapterSchemeVersionResultDetailModel> getSchemeVersion() throws Exception;
    /**
     * 通过适配方案获取数据集列表

+ 2 - 2
Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/StdService.java

@ -8,7 +8,7 @@ import com.yihu.ehr.resource.service.IStdService;
import com.yihu.ehr.standard.model.adapter.AdapterDatasetModel;
import com.yihu.ehr.standard.model.adapter.AdapterDictEntryModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterMetadataResultDetailModel;
import com.yihu.ehr.standard.model.adapter.resultModel.SchemeVersionResultDetailModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterSchemeVersionResultDetailModel;
import com.yihu.ehr.standard.model.standard.StdDataSetModel;
import com.yihu.ehr.standard.model.standard.StdMetaDataModel;
import com.yihu.ehr.standard.service.adapter.AdapterDatasetService;
@ -51,7 +51,7 @@ public class StdService implements IStdService {
    /**
     * 获取适配方案列表
     */
    public List<SchemeVersionResultDetailModel> getSchemeVersion() {
    public List<AdapterSchemeVersionResultDetailModel> getSchemeVersion() {
        return adapterSchemeVersion.getPublishedList();
    }

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/standard/model/adapter/resultModel/SchemeResultDetailModel.java

@ -5,7 +5,7 @@ import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import java.io.Serializable;
import java.util.List;
public class SchemeResultDetailModel implements Serializable {
public class AdapterSchemeResultDetailModel implements Serializable {
    String id;
    String pid;
    String name;

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

@ -1,4 +1,4 @@
package com.yihu.ehr.crawler.model.flow.resultModel;
package com.yihu.ehr.standard.model.adapter.resultModel;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
@ -10,7 +10,7 @@ import java.util.List;
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class DtoAdapterScheme {
public class AdapterSchemeResultModel {
    private Integer schemeId;
    private String name;
    List<AdapterSchemeVersionModel> versionList;

+ 2 - 2
Hos-resource/src/main/java/com/yihu/ehr/standard/model/adapter/resultModel/SchemeVersionResultDetailModel.java

@ -7,7 +7,7 @@ import java.util.Date;
 *
 * @created lingfeng 2015/12/23.
 */
public class SchemeVersionResultDetailModel {
public class AdapterSchemeVersionResultDetailModel {
    private Integer id;
    private Integer schemeId;
    private String name;
@ -19,7 +19,7 @@ public class SchemeVersionResultDetailModel {
    private Integer publishStatus;
    private String path;
    public SchemeVersionResultDetailModel(){
    public AdapterSchemeVersionResultDetailModel(){
    }

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

@ -2,35 +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.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;
import com.yihu.ehr.standard.model.adapter.resultModel.SchemeResultDetailModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterSchemeResultDetailModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterSchemeResultModel;
import com.yihu.ehr.standard.model.standard.StandardModel;
import com.yihu.ehr.standard.model.standard.StandardVersionModel;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
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;
@ -46,13 +33,6 @@ 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);
@ -229,14 +209,14 @@ public class AdapterSchemeService extends SQLGeneralDAO {
                stdVersionMap.put(model.getVersion(), model);
            }
            List<SchemeResultDetailModel> resultDetailModelList = new ArrayList<>();
            Map<String, SchemeResultDetailModel> resultDetailModelMap = new HashMap<>();
            Map<String, SchemeResultDetailModel> resultDetailModelCheckMap = new HashMap<>();
            Map<String, SchemeResultDetailModel> resultDetailModelAddMap = new HashMap<>();
            List<AdapterSchemeResultDetailModel> resultDetailModelList = new ArrayList<>();
            Map<String, AdapterSchemeResultDetailModel> resultDetailModelMap = new HashMap<>();
            Map<String, AdapterSchemeResultDetailModel> resultDetailModelCheckMap = new HashMap<>();
            Map<String, AdapterSchemeResultDetailModel> resultDetailModelAddMap = new HashMap<>();
            for (AdapterSchemeModel schemeModel : adapterSchemeModelList) {
                String id = "scheme" + schemeModel.getId();
                SchemeResultDetailModel resultDetailModel = new SchemeResultDetailModel();
                AdapterSchemeResultDetailModel resultDetailModel = new AdapterSchemeResultDetailModel();
                resultDetailModel.setId(id);
                resultDetailModel.setPid("");
                resultDetailModel.setType(0);
@ -261,7 +241,7 @@ public class AdapterSchemeService extends SQLGeneralDAO {
            for (AdapterSchemeVersionModel versionModel : versionModelList) {
                String pid = "scheme" + versionModel.getSchemeId();
                String id = "version" + versionModel.getId();
                SchemeResultDetailModel resultDetailModel = new SchemeResultDetailModel();
                AdapterSchemeResultDetailModel resultDetailModel = new AdapterSchemeResultDetailModel();
                resultDetailModel.setId(id);
                resultDetailModel.setPid(pid);
                resultDetailModel.setName(versionModel.getName());
@ -299,18 +279,18 @@ public class AdapterSchemeService extends SQLGeneralDAO {
        return false;
    }
    public DetailModelResult getSchemeList() {
    public DetailModelResult getAdapterSchemeResultModelList() {
        String schemeHql = "FROM AdapterSchemeModel";
        Query query = getCurrentSession().createQuery(schemeHql);
        List<AdapterSchemeModel> adapterSchemeModelList = query.list();
        List<DtoAdapterScheme> schemeList = new ArrayList<>();
        List<AdapterSchemeResultModel> schemeList = new ArrayList<>();
        DetailModelResult result=new DetailModelResult();
        for (AdapterSchemeModel schemeModel : adapterSchemeModelList) {
            String adapterVersionHql = "FROM AdapterSchemeVersionModel WHERE schemeId = :schemeId and publishStatus = 1";
            query = getCurrentSession().createQuery(adapterVersionHql);
            query.setParameter("schemeId", schemeModel.getId());
            List<AdapterSchemeVersionModel> versionModelList = query.list();
            DtoAdapterScheme resultDetailModel = new DtoAdapterScheme();
            AdapterSchemeResultModel resultDetailModel = new AdapterSchemeResultModel();
            resultDetailModel.setSchemeId(schemeModel.getId());
            resultDetailModel.setName(schemeModel.getName());
            resultDetailModel.setVersionList(versionModelList);
@ -319,158 +299,4 @@ public class AdapterSchemeService extends SQLGeneralDAO {
        result.setDetailModelList(schemeList);
        return result;
    }
    /**
     * 新增或修改
     *
     * @param json
     * @return
     * @throws Exception
     */
    public ActionResult saveOrUpdateSchemeList(String json) throws Exception {
        JSONArray jsonList = JSONArray.fromObject(json);
        for (Object item : jsonList) {
            JSONObject obj = JSONObject.fromObject(item);
            if (obj.containsKey("id") && obj.getString("id").length() > 0) {
                String id = obj.getString("id");
                //修改
                AdapterSchemeVersionModel schemeVersion = (AdapterSchemeVersionModel) JSONObject.toBean(obj, AdapterSchemeVersionModel.class);
                updateEntity(schemeVersion);
            } else {
                //新增
                AdapterSchemeVersionModel schemeVersion = (AdapterSchemeVersionModel) JSONObject.toBean(obj, AdapterSchemeVersionModel.class);
                saveEntity(schemeVersion);
            }
        }
        return new ActionResult(true, "保存成功!");
    }
    /**
     * 保存编排映射关系
     *
     * @param schemeId 适配方案ID
     * @param version  适配方案版本
     * @param json     映射数据
     * @return
     * @throws Exception
     */
    public ActionResult saveDataSetRelation(Integer schemeId, String version, String json) throws Exception {
        JSONObject root = JSONObject.fromObject(json);
        JSONArray jsonList = root.getJSONArray("lines");
        JSONArray entrances = root.getJSONArray("entrances");
        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();
        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");
                //  保存入口数据集
                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;
    }
}

+ 4 - 4
Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterSchemeVersionService.java

@ -12,7 +12,7 @@ import com.yihu.ehr.framework.util.operator.StringUtil;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeModel;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import com.yihu.ehr.standard.model.adapter.resultModel.SchemeVersionResultDetailModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterSchemeVersionResultDetailModel;
import com.yihu.ehr.standard.model.standard.StandardModel;
import com.yihu.ehr.standard.model.standard.StdMetaDataModel;
import com.yihu.ehr.standard.service.bo.AdapterVersion;
@ -285,7 +285,7 @@ public class AdapterSchemeVersionService extends SQLGeneralDAO {
        }
    }
    public List<SchemeVersionResultDetailModel> getPublishedList() {
    public List<AdapterSchemeVersionResultDetailModel> getPublishedList() {
        try {
            Session session = getCurrentSession();
            Criteria criteria = session.createCriteria(AdapterSchemeVersionModel.class);
@ -306,9 +306,9 @@ public class AdapterSchemeVersionService extends SQLGeneralDAO {
                schemeMap.put(schemeModel.getId(), schemeModel.getName());
            }
            List<SchemeVersionResultDetailModel> detailModelList = new ArrayList<>();
            List<AdapterSchemeVersionResultDetailModel> detailModelList = new ArrayList<>();
            for (AdapterSchemeVersionModel model : versionModelList) {
                SchemeVersionResultDetailModel detailModel = new SchemeVersionResultDetailModel();
                AdapterSchemeVersionResultDetailModel detailModel = new AdapterSchemeVersionResultDetailModel();
                detailModel.setId(model.getId());
                detailModel.setName(model.getName());
                detailModel.setSchemeId(model.getSchemeId());

+ 3 - 2
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StandardService.java

@ -338,8 +338,9 @@ public class StandardService extends SQLGeneralDAO {
                e.printStackTrace();
            }
        }
        String code = getStandardParam(Constants.STANDARD).getCode();
        String orgCode = getStandardParam(Constants.STANDARD).getOrgCode();
        StandardParamResultModel standardParam = getStandardParam(Constants.STANDARD);
        String code = standardParam.getCode();
        String orgCode = standardParam.getOrgCode();
        List<SystemOrganization> publisherModelList = new ArrayList<>();
        Criteria criteria = getCurrentSession().createCriteria(StandardModel.class);