فهرست منبع

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

lingfeng 9 سال پیش
والد
کامیت
364521ba52

+ 61 - 44
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/CrawlerFlowManager.java

@ -2,6 +2,9 @@ package com.yihu.ehr.crawler.service;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
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.adapter.AdapterDataSet;
import com.yihu.ehr.crawler.model.config.SysConfig;
import com.yihu.ehr.crawler.model.flow.CrawlerDataSetModel;
@ -35,6 +38,7 @@ public class CrawlerFlowManager {
    private Boolean adapterFlg;
    private List<Patient> patientList;
    public CrawlerFlowManager() {
        adapterFlg = false;
        dispatch = DataCollectDispatcher.getInstance();
    }
@ -181,53 +185,66 @@ public class CrawlerFlowManager {
    public Boolean getDataForPrepare() {
        if (!adapterFlg) {
            /**
             * 获取适配数据集
             */
            adapterDataSetMap = new HashMap<>();
            AdapterSchemeVersionService adapterSchemeVersionService = SpringBeanUtil.getService(AdapterSchemeVersionService.BEAN_ID);
            AdapterSchemeVersionModel adapterSchemeVersionModel = adapterSchemeVersionService.getEhrAdapterVersionLasted();
            if (adapterSchemeVersionModel == null) {
                return false;
            }
            List<CrawlerDataSetModel> crawlerDataSetModelList = new ArrayList<>();
            List<Integer> datasetIdList = new ArrayList<>();
            for (CrawlerDataSetModel crawlerDataSetModel : crawlerDataSetModelList) {
                datasetIdList.add(crawlerDataSetModel.getDatasetId());
            }
            String version = adapterSchemeVersionModel.getVersion();
            AdapterVersion adapterVersion = new AdapterVersion(version);
            AdapterDatasetService adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
            List<AdapterDatasetModel> adapterDataSetModelList = adapterDatasetService.getListByAdapterDatasetIdList(adapterVersion, datasetIdList);
            for (AdapterDatasetModel adapterDatasetModel : adapterDataSetModelList) {
                adapterDataSetMap.put(adapterDatasetModel.getStdDatasetCode(), new AdapterDataSet(adapterDatasetModel, adapterVersion));
            }
            /**
             * 获取采集流程表头
             */
            crawlerFlowHeadModelList = new ArrayList<>();
            List<CrawlerFlowModel> crawlerFlowModelList = new ArrayList<>();
            crawlerFlowDatasetMap = new HashMap<>();
            crawlerFlowMetadataMap = new HashMap<>();
            for (CrawlerFlowModel crawlerFlowModel : crawlerFlowModelList) {
                List<CrawlerFlowModel> datasetList = new ArrayList<>();
                List<CrawlerFlowModel> metadataList = new ArrayList<>();
                String inputDatasetCode = crawlerFlowModel.getInputDatasetCode();
                String datasetCode = crawlerFlowModel.getDatasetCode();
                if (StringUtil.isEmpty(inputDatasetCode)) {
                    continue;
            try {
                /**
                 * 获取EHR最新发布版本
                 */
                adapterDataSetMap = new HashMap<>();
                AdapterSchemeVersionService adapterSchemeVersionService = SpringBeanUtil.getService(AdapterSchemeVersionService.BEAN_ID);
                AdapterSchemeVersionModel adapterSchemeVersionModel = adapterSchemeVersionService.getEhrAdapterVersionLasted();
                if (adapterSchemeVersionModel == null) {
                    return false;
                }
                if (crawlerFlowDatasetMap.containsKey(inputDatasetCode)) {
                    datasetList = crawlerFlowDatasetMap.get(inputDatasetCode);
                /**
                 * 获取该版本下数据集
                 */
                CrawlerDatasetDao crawlerDatasetDao = SpringBeanUtil.getService(CrawlerDatasetDao.BEAN_ID);
                List<CrawlerDataSetModel> crawlerDataSetModelList = crawlerDatasetDao.getCrawlerDatasetList(adapterSchemeVersionModel.getId());
                if (CollectionUtil.isEmpty(crawlerDataSetModelList)) {
                    return false;
                }
                List<Integer> datasetIdList = new ArrayList<>();
                for (CrawlerDataSetModel crawlerDataSetModel : crawlerDataSetModelList) {
                    datasetIdList.add(crawlerDataSetModel.getDatasetId());
                }
                datasetList.add(crawlerFlowModel);
                crawlerFlowMetadataMap.put(datasetCode, datasetList);
                if (crawlerFlowDatasetMap.containsKey(datasetCode)) {
                    metadataList = crawlerFlowDatasetMap.get(datasetCode);
                String version = adapterSchemeVersionModel.getVersion();
                AdapterVersion adapterVersion = new AdapterVersion(version);
                AdapterDatasetService adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
                List<AdapterDatasetModel> adapterDataSetModelList = adapterDatasetService.getListByAdapterDatasetIdList(adapterVersion, datasetIdList);
                for (AdapterDatasetModel adapterDatasetModel : adapterDataSetModelList) {
                    adapterDataSetMap.put(adapterDatasetModel.getStdDatasetCode(), new AdapterDataSet(adapterDatasetModel, adapterVersion));
                }
                /**
                 * 获取采集流程表头
                 */
                CrawlerFlowHeadDao crawlerFlowHeadDao = SpringBeanUtil.getService(CrawlerFlowHeadDao.BEAN_ID);
                CrawlerFlowDao crawlerFlowDao = SpringBeanUtil.getService(CrawlerFlowDao.BEAN_ID);
                crawlerFlowHeadModelList = crawlerFlowHeadDao.getCrawlerFlowHeadList(adapterSchemeVersionModel.getId());
                List<CrawlerFlowModel> crawlerFlowModelList = crawlerFlowDao.getCrawlerFlowList(adapterSchemeVersionModel.getId());
                crawlerFlowDatasetMap = new HashMap<>();
                crawlerFlowMetadataMap = new HashMap<>();
                for (CrawlerFlowModel crawlerFlowModel : crawlerFlowModelList) {
                    List<CrawlerFlowModel> datasetList = new ArrayList<>();
                    List<CrawlerFlowModel> metadataList = new ArrayList<>();
                    String inputDatasetCode = crawlerFlowModel.getInputDatasetCode();
                    String datasetCode = crawlerFlowModel.getDatasetCode();
                    if (StringUtil.isEmpty(inputDatasetCode)) {
                        continue;
                    }
                    if (crawlerFlowDatasetMap.containsKey(inputDatasetCode)) {
                        datasetList = crawlerFlowDatasetMap.get(inputDatasetCode);
                    }
                    datasetList.add(crawlerFlowModel);
                    crawlerFlowMetadataMap.put(datasetCode, datasetList);
                    if (crawlerFlowDatasetMap.containsKey(datasetCode)) {
                        metadataList = crawlerFlowDatasetMap.get(datasetCode);
                    }
                    metadataList.add(crawlerFlowModel);
                    crawlerFlowDatasetMap.put(datasetCode, metadataList);
                }
                metadataList.add(crawlerFlowModel);
                crawlerFlowDatasetMap.put(datasetCode, metadataList);
            } catch (Exception e) {
                return false;
            }
        }
        return true;

+ 23 - 17
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/CrawlerManager.java

@ -91,7 +91,9 @@ public class CrawlerManager {
            Map<String, AdapterDataSet> dataSetMap = new HashMap<>();
            Map<String, JsonNode> dataMap = new HashMap<>();
            for (String key : adapterDataSetMap.keySet()) {
                //collectData
                /**
                 * 获取数据
                 */
                AdapterDataSet adapterDataSet = adapterDataSetMap.get(key);
                String data = dispatch.fecthData(patient, adapterDataSet);
                if (StringUtil.isEmpty(data)) {
@ -135,23 +137,27 @@ public class CrawlerManager {
    public Boolean getDataForPrepare() {
        if (!adapterFlg) {
            adapterDataSetMap = new HashMap<>();
            AdapterSchemeVersionService adapterSchemeVersionService = SpringBeanUtil.getService(AdapterSchemeVersionService.BEAN_ID);
            AdapterSchemeVersionModel adapterSchemeVersionModel = adapterSchemeVersionService.getEhrAdapterVersionLasted();
            if (adapterSchemeVersionModel == null) {
                return false;
            }
            String version = adapterSchemeVersionModel.getVersion();
            AdapterVersion adapterVersion = new AdapterVersion(version);
            AdapterDatasetService adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
            Map<String, String> condition = new HashMap<>();
            condition.put("column", "adapter_dataset_code");
            JSONObject jsonpObject = JSONObject.fromObject(condition);
            List<AdapterDatasetModel> adapterDataSetModelList = adapterDatasetService.getAdapterDatasetNotNullList(adapterVersion, jsonpObject.toString());
            for (AdapterDatasetModel adapterDatasetModel : adapterDataSetModelList) {
                adapterDataSetMap.put(adapterDatasetModel.getStdDatasetCode(), new AdapterDataSet(adapterDatasetModel, adapterVersion));
            try {
                adapterDataSetMap = new HashMap<>();
                AdapterSchemeVersionService adapterSchemeVersionService = SpringBeanUtil.getService(AdapterSchemeVersionService.BEAN_ID);
                AdapterSchemeVersionModel adapterSchemeVersionModel = adapterSchemeVersionService.getEhrAdapterVersionLasted();
                if (adapterSchemeVersionModel == null) {
                    return false;
                }
                String version = adapterSchemeVersionModel.getVersion();
                AdapterVersion adapterVersion = new AdapterVersion(version);
                AdapterDatasetService adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
                Map<String, String> condition = new HashMap<>();
                condition.put("column", "adapter_dataset_code");
                JSONObject jsonpObject = JSONObject.fromObject(condition);
                List<AdapterDatasetModel> adapterDataSetModelList = adapterDatasetService.getAdapterDatasetNotNullList(adapterVersion, jsonpObject.toString());
                for (AdapterDatasetModel adapterDatasetModel : adapterDataSetModelList) {
                    adapterDataSetMap.put(adapterDatasetModel.getStdDatasetCode(), new AdapterDataSet(adapterDatasetModel, adapterVersion));
                }
                adapterFlg = true;
            } catch (Exception e) {
                adapterFlg = false;
            }
            adapterFlg = true;
        }
        return adapterFlg;
    }

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

@ -421,8 +421,17 @@ public class AdapterSchemeVersionService extends SQLGeneralDAO {
        String adapterSchemeVersionHql = "SELECT ID AS id,VERSION AS version,SCHEME_ID AS schemeId,NAME AS name FROM ADAPTER_SCHEME_VERSION WHERE PUBLISH_TIME=(select max(PUBLISH_TIME) from ADAPTER_SCHEME_VERSION WHERE SCHEME_ID = :schemeId)";
        Query adapterSchemeVersionQuery = getCurrentSession().createSQLQuery(adapterSchemeVersionHql);
        adapterSchemeVersionQuery.setParameter("schemeId", adapterSchemeModel.getId());
        AdapterSchemeVersionModel version = (AdapterSchemeVersionModel) adapterSchemeVersionQuery.uniqueResult();
        return version;
        Object[] object = (Object[]) adapterSchemeVersionQuery.uniqueResult();
        if (object != null) {
            AdapterSchemeVersionModel adapterSchemeVersionModel = new AdapterSchemeVersionModel();
            adapterSchemeVersionModel.setId((Integer) object[0]);
            adapterSchemeVersionModel.setVersion((String) object[1]);
            adapterSchemeVersionModel.setSchemeId((Integer) object[2]);
            adapterSchemeVersionModel.setName((String) object[3]);
            return adapterSchemeVersionModel;
        } else {
            return null;
        }
    }
    public AdapterSchemeModel getEhrAdapter() {

+ 3 - 5
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdMetadataService.java

@ -135,15 +135,13 @@ public class StdMetadataService extends SQLGeneralDAO {
                stdMetaDataModel.setSuccessFlg(true);
                stdMetaDataModel.setMessage("修改数据元成功");
                return stdMetaDataModel;
            } else {
                return Result.error("已存在标准数据元编码");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (existFlg) {
            return Result.error("已存在标准数据元编码");
        } else {
            return Result.error("修改数据元失败");
        }
        return Result.error("修改数据元失败");
    }
    public Result get(String stdVersion, Integer metadataId) {

+ 1 - 1
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/dataset/updateMetadata.jsp

@ -47,7 +47,7 @@
      </tr>
      <tr>
        <td>
          <label>内部编码:</label>
          <label>数据元标识符:</label>
        </td>
        <td class="btn-isnull td-left">
          <input type="text" id="inp_deCode" class="required validate-special-char f-pl5" style="width: 240px;" data-attr-scan="deCode"/>