فهرست منبع

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

demon 8 سال پیش
والد
کامیت
041d01d5f4

+ 17 - 56
hos-rest/src/main/java/com/yihu/hos/rest/common/format/AdapterBase.java

@ -2,12 +2,9 @@ package com.yihu.hos.rest.common.format;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.*;
import com.yihu.hos.rest.services.standard.standard.StdDictEntryService;
import com.yihu.hos.rest.services.standard.standard.StdDictService;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import javax.annotation.Resource;
import com.yihu.hos.rest.services.standard.adapter.AdapterDictService;
import com.yihu.hos.rest.services.standard.adapter.AdapterMetadataService;
import com.yihu.hos.rest.services.standard.adapter.AdapterSchemeVersionService;
/**
 * 适配器基类,DAO缓存
@ -15,20 +12,9 @@ import javax.annotation.Resource;
 * @created Created by Air on 2015/6/10.
 */
public class AdapterBase {
    @Resource(name = AdapterDatasetService.BEAN_ID)
    private AdapterDatasetService adapterDatasetService;
    @Resource(name = AdapterSchemeVersionService.BEAN_ID)
    private AdapterSchemeVersionService adapterSchemeVersionService;
    @Resource(name = AdapterMetadataService.BEAN_ID)
    private AdapterMetadataService adapterMetadataService;
    @Resource(name = AdapterDictEntryService.BEAN_ID)
    private AdapterDictEntryService adapterDictEntryService;
    @Resource(name = AdapterDictService.BEAN_ID)
    private AdapterDictService adapterDictService;
    @Resource(name = StdDictEntryService.BEAN_ID )
    private StdDictEntryService stdDictEntryService;
    @Resource(name = StdDictService.BEAN_ID )
    private StdDictService stdDictService;
    private static AdapterSchemeVersionService adapterSchemeVersionService;
    private static AdapterMetadataService adapterMetadataService;
    private static AdapterDictService adapterDictService;
    protected AdapterVersion adapterVersion;
@ -44,52 +30,27 @@ public class AdapterBase {
        return adapterVersion;
    }
    public AdapterDatasetService getAdapterDatasetService() {
        if (adapterDatasetService == null) {
            adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
        }
        return adapterDatasetService;
    }
    public AdapterSchemeVersionService getAdapterSchemeVersionService() {
        if (adapterSchemeVersionService == null) {
            adapterSchemeVersionService = SpringBeanUtil.getService(AdapterSchemeVersionService.BEAN_ID);
        }
    public static AdapterSchemeVersionService getAdapterSchemeVersionService() {
        return adapterSchemeVersionService;
    }
    public AdapterMetadataService getAdapterMetadataService() {
        if (adapterMetadataService == null) {
            adapterMetadataService = SpringBeanUtil.getService(AdapterMetadataService.BEAN_ID);
        }
        return adapterMetadataService;
    public static void setAdapterSchemeVersionService(AdapterSchemeVersionService adapterSchemeVersionService) {
        AdapterBase.adapterSchemeVersionService = adapterSchemeVersionService;
    }
    public AdapterDictService getAdapterDictService() {
        if (adapterDictService == null) {
            adapterDictService = SpringBeanUtil.getService(AdapterDictService.BEAN_ID);
        }
        return adapterDictService;
    public static AdapterMetadataService getAdapterMetadataService() {
        return adapterMetadataService;
    }
    public AdapterDictEntryService getAdapterDictEntryService() {
        if (adapterDictEntryService == null) {
            adapterDictEntryService = SpringBeanUtil.getService(AdapterDictEntryService.BEAN_ID);
        }
        return adapterDictEntryService;
    public static void setAdapterMetadataService(AdapterMetadataService adapterMetadataService) {
        AdapterBase.adapterMetadataService = adapterMetadataService;
    }
    public StdDictEntryService getStdDictEntryService() {
        if (stdDictEntryService == null) {
            stdDictEntryService = SpringBeanUtil.getService(StdDictEntryService.BEAN_ID);
        }
        return stdDictEntryService;
    public static AdapterDictService getAdapterDictService() {
        return adapterDictService;
    }
    public StdDictService getStdDictService() {
        if (stdDictService == null) {
            stdDictService = SpringBeanUtil.getService(StdDictService.BEAN_ID);
        }
        return stdDictService;
    public static void setAdapterDictService(AdapterDictService adapterDictService) {
        AdapterBase.adapterDictService = adapterDictService;
    }
}

+ 3 - 3
hos-rest/src/main/java/com/yihu/hos/rest/controllers/DataCollectController.java

@ -34,12 +34,12 @@ public class DataCollectController extends BaseController {
            @RequestParam(value = "jobId") String jobId) {
        try {
            if (datacollectService.collectByJobId(jobId)) {
                return Result.success("采集上传成功");
                return Result.success("采集成功");
            } else {
                return Result.error("采集上传失败");
                return Result.error("采集失败");
            }
        } catch (Exception e) {
            return Result.error("采集上传失败");
            return Result.error("采集失败");
        }
    }
}

+ 4 - 5
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterDataSet.java

@ -2,13 +2,12 @@ package com.yihu.hos.rest.models.crawler.adapter;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.core.datatype.CollectionUtil;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.patient.PatientIdentity;
import com.yihu.hos.rest.models.standard.adapter.AdapterDatasetModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterMetadataModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterMetadataService;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import java.util.*;
@ -18,7 +17,7 @@ import java.util.*;
 * @version 1.0
 * @created 2015.08.11 11:29
 */
public class AdapterDataSet {
public class AdapterDataSet extends AdapterBase {
    private List<AdapterMetaData> adapterMetaDataList;
    private AdapterDatasetModel adapterDatasetModel;
@ -44,8 +43,8 @@ public class AdapterDataSet {
            condition.put("column", "adapter_metadata_code");
            ObjectMapper objectMapper = new ObjectMapper();
            AdapterMetadataService metadataService = SpringBeanUtil.getService(AdapterMetadataService.BEAN_ID);
            List<AdapterMetadataModel> adapterMetaDataModelList = metadataService.getAdapterMetadataNotNullList(adapterVersion, adapterDatasetModel.getStdDatasetId(),objectMapper.writeValueAsString(condition));
            List<AdapterMetadataModel> adapterMetaDataModelList = getAdapterMetadataService().getAdapterMetadataNotNullList(adapterVersion, adapterDatasetModel.getStdDatasetId(),objectMapper.writeValueAsString(condition));
            List<Integer> stdMetaDataIdList = new ArrayList<>();
            if (!CollectionUtil.isEmpty(adapterMetaDataModelList)) {
                for (AdapterMetadataModel adapterMetadataModel : adapterMetaDataModelList) {

+ 3 - 5
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterMetaData.java

@ -1,13 +1,12 @@
package com.yihu.hos.rest.models.crawler.adapter;
import com.yihu.hos.core.datatype.NumberUtil;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.transform.DictDataType;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterMetadataModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterDictService;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import java.util.List;
import java.util.Map;
@ -18,7 +17,7 @@ import java.util.Map;
 * @version 1.0
 * @created 2015.08.11 11:31
 */
public class AdapterMetaData {
public class AdapterMetaData extends AdapterBase {
    private AdapterMetadataModel adapterMetadataModel;
    private AdapterDict adapterDict;
@ -36,11 +35,10 @@ public class AdapterMetaData {
    public void prepareData(Map<Integer, List<AdapterDictEntryModel>> entryMap) {
        if (!NumberUtil.isZero(adapterMetadataModel.getStdDictId())) {
            AdapterDictService adapterDictService = SpringBeanUtil.getService(AdapterDictService.BEAN_ID);
            /**
             * 默认适配字典的id与数据元的标准id一致
             */
            AdapterDictModel adapterDictModel = (AdapterDictModel) adapterDictService.get(AdapterDictModel.class, adapterVersion.getDictTableName(), adapterMetadataModel.getStdDictId());
            AdapterDictModel adapterDictModel = (AdapterDictModel) getAdapterDictService().get(AdapterDictModel.class, adapterVersion.getDictTableName(), adapterMetadataModel.getStdDictId());
            if (adapterDictModel != null) {
                adapterDict = new AdapterDict(adapterDictModel, adapterVersion, entryMap);
            }

+ 0 - 40
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdDict.java

@ -1,40 +0,0 @@
package com.yihu.hos.rest.models.crawler.standard;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.standard.standard.StdDictionaryEntryModel;
import com.yihu.hos.rest.models.standard.standard.StdDictionaryModel;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.11 15:25
 */
public class StdDict extends AdapterBase {
    private StdDictionaryModel stdDictT;
    public StdDict(StdDictionaryModel stdDictT) {
        this.stdDictT = stdDictT;
    }
    public StdDictionaryModel getStdDictT() {
        return stdDictT;
    }
    public String toValue(String code) {
        StdDictionaryEntryModel entryModel=getStdDictEntryService().getStEntryValueByCode(adapterVersion.getVersion(), stdDictT.getId(), code);
        if (entryModel==null){
            return null;
        }else {
            return entryModel.getValue();
        }
    }
    public String toCode(String value) {
        StdDictionaryEntryModel entryModel=getStdDictEntryService().getStEntryValueByCode(adapterVersion.getVersion(), stdDictT.getId(), value);
        if (entryModel==null){
            return null;
        }else {
            return entryModel.getCode();
        }
    }
}

+ 0 - 36
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdMetaData.java

@ -1,36 +0,0 @@
package com.yihu.hos.rest.models.crawler.standard;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.transform.DictDataType;
import com.yihu.hos.rest.models.standard.standard.StdMetaDataModel;
import static com.yihu.hos.rest.models.crawler.transform.MetaDataType.S2;
import static com.yihu.hos.rest.models.crawler.transform.MetaDataType.S3;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.11 15:25
 */
public class StdMetaData extends AdapterBase {
    private StdMetaDataModel stdMetaDataT;
    public StdMetaData(StdMetaDataModel stdMetaDataT) {
        this.stdMetaDataT = stdMetaDataT;
    }
    public StdMetaDataModel getStdMetaDataT() {
        return stdMetaDataT;
    }
    public DictDataType getDictDataType() {
        Integer dict = stdMetaDataT.getDictId();
        String type = stdMetaDataT.getType();
        int dictValueType;
        if (dict!=null && (type.equals(S2.name()) || type.equals(S3.name()))) {
            dictValueType = DictDataType.CODE.ordinal();
        } else {
            dictValueType = DictDataType.VALUE.ordinal();
        }
        return DictDataType.values()[dictValueType];
    }
}

+ 0 - 37
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/MetaDataVerify.java

@ -1,37 +0,0 @@
package com.yihu.hos.rest.models.crawler.transform;
import com.yihu.hos.rest.models.crawler.standard.StdMetaData;
/**
 * @author Airhead
 * @version 1.0
 * @created 22-5-2015 11:24:25
 */
public class MetaDataVerify implements IVerifier {
    private StdMetaData stdMetaData;
    private String value;
    private String errorInfo;
    public MetaDataVerify(StdMetaData stdMetaData, String value) {
        this.stdMetaData = stdMetaData;
        this.value = value;
    }
    public void finalize() throws Throwable {
    }
    /**
     * 目前不做任何数据校验
     * 必要时根据StdMetaData的type, format内容做校验
     */
    public boolean check() {
        return true;
    }
    @Override
    public String getErrorInfo() {
        return errorInfo;
    }
}//end MetaDataVerify

+ 20 - 8
hos-rest/src/main/java/com/yihu/hos/rest/services/crawler/CrawlerFlowManager.java

@ -9,6 +9,7 @@ import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.rest.common.dao.CrawlerDatasetDao;
import com.yihu.hos.rest.common.dao.CrawlerFlowDao;
import com.yihu.hos.rest.common.dao.CrawlerFlowHeadDao;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.adapter.AdapterDataSet;
import com.yihu.hos.rest.models.crawler.config.SysConfig;
import com.yihu.hos.rest.models.crawler.flow.CrawlerDataSetModel;
@ -19,13 +20,12 @@ import com.yihu.hos.rest.models.standard.adapter.AdapterDatasetModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterDatasetService;
import com.yihu.hos.rest.services.standard.adapter.AdapterSchemeVersionService;
import com.yihu.hos.rest.services.standard.adapter.*;
import com.yihu.hos.web.framework.model.DictItem;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
@Service("CrawlerFlowManager")
@ -42,6 +42,20 @@ public class CrawlerFlowManager {
    private Boolean adapterFlg = false;
    private List<DictItem> datasetList;
    private String schemeVersion;
    @Resource
    private AdapterDatasetService adapterDatasetService;
    @Resource
    private AdapterMetadataService adapterMetadataService;
    @Resource
    private AdapterDictService adapterDictService;
    @Resource
    private AdapterSchemeVersionService adapterSchemeVersionService;
    @Resource
    CrawlerDatasetDao crawlerDatasetDao;
    @Resource
    CrawlerFlowHeadDao crawlerFlowHeadDao;
    @Resource
    CrawlerFlowDao crawlerFlowDao;
    public CrawlerFlowManager(List datasetList, String schemeVersion) {
        this.datasetList = datasetList;
@ -202,6 +216,9 @@ public class CrawlerFlowManager {
        if (adapterFlg) {
            return true;
        }
        AdapterBase.setAdapterMetadataService(adapterMetadataService);
        AdapterBase.setAdapterDictService(adapterDictService);
        AdapterBase.setAdapterSchemeVersionService(adapterSchemeVersionService);
        logger.info("适配基本相关数据准备");
        try {
            adapterDataSetMap = new HashMap<>();
@ -210,7 +227,6 @@ public class CrawlerFlowManager {
            /**
             * 推模式接口调用,默认只使用最新版本的适配
             */
            AdapterSchemeVersionService adapterSchemeVersionService = SpringBeanUtil.getService(AdapterSchemeVersionService.BEAN_ID);
            AdapterSchemeVersionModel adapterSchemeVersionModel;
            if (datasetList.isEmpty()) {
                adapterSchemeVersionModel = adapterSchemeVersionService.getEhrAdapterVersionLasted();
@ -224,7 +240,6 @@ public class CrawlerFlowManager {
                /**
                 * 获取该版本下数据集
                 */
                CrawlerDatasetDao crawlerDatasetDao = SpringBeanUtil.getService(CrawlerDatasetDao.BEAN_ID);
                List<CrawlerDataSetModel> crawlerDataSetModelList = crawlerDatasetDao.getCrawlerDatasetList(adapterSchemeVersionModel.getId());
                if (CollectionUtil.isEmpty(crawlerDataSetModelList)) {
                    return false;
@ -242,7 +257,6 @@ public class CrawlerFlowManager {
                    datasetIdList.add(Integer.valueOf(dictItem.getCode()));
                }
            }
            AdapterDatasetService adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
            /**
             * 字典项初始化
             */
@ -268,8 +282,6 @@ public class CrawlerFlowManager {
            /**
             * 获取采集流程表头
             */
            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<>();

+ 10 - 9
hos-rest/src/main/java/com/yihu/hos/rest/services/crawler/CrawlerManager.java

@ -8,6 +8,7 @@ import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.rest.common.dao.DatacollectDao;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.adapter.AdapterDataSet;
import com.yihu.hos.rest.models.crawler.config.SysConfig;
import com.yihu.hos.rest.models.crawler.patient.Patient;
@ -16,8 +17,7 @@ import com.yihu.hos.rest.models.standard.adapter.AdapterDatasetModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterDatasetService;
import com.yihu.hos.rest.services.standard.adapter.AdapterSchemeVersionService;
import com.yihu.hos.rest.services.standard.adapter.*;
import com.yihu.hos.web.framework.model.DataGridResult;
import com.yihu.hos.web.framework.model.DictItem;
import com.yihu.hos.web.framework.model.Result;
@ -35,6 +35,10 @@ public class CrawlerManager {
    @Resource
    private AdapterDatasetService adapterDatasetService;
    @Resource
    private AdapterMetadataService adapterMetadataService;
    @Resource
    private AdapterDictService adapterDictService;
    @Resource
    private AdapterSchemeVersionService adapterSchemeVersionService;
    @Resource
    private DatacollectManager datacollect;
@ -46,12 +50,6 @@ public class CrawlerManager {
    private Boolean adapterFlg = false;
    private String schemeVersion;
    private List<DictItem> datasetList;
    public CrawlerManager(List datasetList, String schemeVersion) {
        this.datasetList = datasetList;
        this.schemeVersion = schemeVersion;
    }
    public CrawlerManager() {
    }
    public void finalize() throws Throwable {
@ -270,11 +268,14 @@ public class CrawlerManager {
        if (adapterFlg) {
            return true;
        }
        AdapterBase.setAdapterMetadataService(adapterMetadataService);
        AdapterBase.setAdapterDictService(adapterDictService);
        AdapterBase.setAdapterSchemeVersionService(adapterSchemeVersionService);
        logger.info("适配基本相关数据准备");
        try {
            adapterDataSetMap = new HashMap<>();
            AdapterVersion adapterVersion;
            List<AdapterDatasetModel> adapterDataSetModelList = new ArrayList<>();
            List<AdapterDatasetModel> adapterDataSetModelList;
            if (!CollectionUtil.isEmpty(datasetList)) {
                /**
                 * 拉模式接口调用,由任务配置决定适配版本

+ 0 - 1
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterDictEntryService.java

@ -26,7 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.*;
@Transactional
@Service("AdapterDictEntryService")
public class AdapterDictEntryService extends SQLGeneralDAO {

+ 0 - 1
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterDictService.java

@ -18,7 +18,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Iterator;
import java.util.List;
@Transactional
@Service("AdapterDictService")
public class AdapterDictService extends SQLGeneralDAO {

+ 0 - 2
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterMetadataService.java

@ -27,12 +27,10 @@ import org.apache.commons.lang3.StringUtils;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.*;
@Transactional
@Service("AdapterMetadataService")
public class AdapterMetadataService extends SQLGeneralDAO {

+ 0 - 1
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterSchemeService.java

@ -27,7 +27,6 @@ import java.util.Map;
/**
 * @created lingfeng 2015/12/25.
 */
@Transactional
@Service("AdapterSchemeService")
public class AdapterSchemeService extends SQLGeneralDAO {

+ 0 - 1
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterSchemeVersionService.java

@ -28,7 +28,6 @@ import java.util.*;
/**
 * @Created by lingfeng 2015/12/25.
 */
@Transactional
@Service("AdapterSchemeVersionService")
public class AdapterSchemeVersionService extends SQLGeneralDAO {